Posted: Mon Aug 20, 2007 2:47 pm
Ok... Here's my register.php
And as for the database structure:
Code: Select all
<?php
include "conf_global.php";
require_once('ipbsdk/ipbsdk_class.inc.php');
$SDK =& new IPBSDK();
if(isset($_REQUEST['confirmteam'])) {
//We have a few emails and usernames. Check in the database, if the emails already exist. If the email exists. Ask the user to enter a different email, if not proceed.
$teamleaderemail = $_REQUEST['teamleaderemail'];
$teamname = $_REQUEST['teamname'];
$teamleadername = $_REQUEST['teamleadername'];
$teamleadernumber = $_REQUEST['teamleadernumber'];
$college = $_REQUEST['college'];
$city = $_REQUEST['city'];
$bryr = $_REQUEST['by'];
$state = $_REQUEST['state'];
$events_selected = $_REQUEST['events_selected'];
$extra = $_REQUEST['extra'];
for($i=1;$i<=$_REQUEST['count'];$i++) {
$member[$i] = $_REQUEST['member'.$i];
$email[$i] = $_REQUEST['email'.$i];
$college_other[$i] = $_REQUEST['college'.$i];
}
//The code below gets executed when there is a duplicate username or email or when the member is already a member of our project.
$leaderflag = 0;
if(!($teamleadername == "")) {
if(!($id[0] = $SDK->create_account(str_replace(" ","",$teamleadername).'2007','roboveda',$teamleaderemail))) {
//User exists because emails match. So, we'll do one thing. We'll get his username and then reset his password
$id[0] = $SDK->email2id($teamleaderemail);
$teamleaderuid = $SDK->id2name($id[0]);
$SDK->update_password("roboveda",$id[0]);
$leaderflag = 1;
}
}
foreach($email as $key=>$value) {
$teamflag[$key] = 0;
if(!($value == "") && !($member[$key] == "")) {
if(!($id[$key] = $SDK->create_account(str_replace(" ","",$member[$key]).'2007',"roboveda",$value))) {
//User exists because emails match. So, we'll do one thing. We'll get his username and then reset his password
$id[$key] = $SDK->email2id($value);
$memberuid[$key] = $SDK->id2name($id[$key]);
$SDK->update_password("roboveda",$id[$key]);
$teamflag[$key] = 1;
}
}
}
//At this stage, we have solved the problem of people having the same email. If they have the same email, we are getting his username and then resetting his password. If they don't have the same email, then an account is being create in the format abcdr, r being the suffix to every account create by a Roboveda user.
if(!($teamleadername == "")) {
if($leaderflag) {
$username = $teamleaderuid;
}
else $username = str_replace(" ","",$teamleadername).'r';
$sql_leader = "INSERT INTO ".$table_members."(member_id,username,password,email,single) VALUES('$id[0]','$username','roboveda','$teamleaderemail','0')";
//echo $sql_leader;
$result_leader = mysql_query($sql_leader) or die(mysql_error());
}
foreach($email as $key=>$value) {
if(!($value == "")) {
if($teamflag[$key]) {
$username = $memberuid[$key];
}
else $username = str_replace(" ","",$member[$key]).'r';
$sql_team = "INSERT INTO ".$table_members."(member_id,username,password,email,single) VALUES('$id[$key]','$username','roboveda','$value','0')";
//echo $sql_team;
$result_team = mysql_query($sql_team) or die(mysql_error());
}
}
//We're done updating the small table. Its time for the super table update
foreach($_REQUEST['events_selected'] as $value) {
$events .= $value.", ";
}
$sql_robo = "REPLACE INTO ".$table_main."(team_name,events,team_leader_name,team_leader_email,member_id, team_leader_number,college,bryr,city,state,member_1,email_1,member_id_1, member_2,email_2,member_id_2,member_3,email_3,member_id_3, member_4,email_4,member_id_4,comments,col_1,col_2,col_3,col_4) VALUES('$teamname','$events','$teamleadername','$teamleaderemail', '$id[0]','$teamleadernumber','$college','$bryr','$city','$state', '$member[1]','$email[1]','$id[1]','$member[2]','$email[2]','$id[2]', '$member[3]','$email[3]','$id[3]','$member[4]','$email[4]','$id[4]','$extra', '$college_other[1]','$college_other[2]','$college_other[3]','$college_other[4]')";
if($result_robo = mysql_query($sql_robo) or die(mysql_error())) {
$sql_id = "SELECT team_id FROM ".$table_main." WHERE team_leader_name='$teamleadername'";
$result_id = mysql_query($sql_id);
$row_id = mysql_fetch_assoc($result_id);
//echo "DONE!!";
//echo $row_id['team_id'];
header('Location: confirm.php?team_id='.$row_id['team_id']);
}
exit;
}
?>Code: Select all
Field Type Null Default
team_id mediumint(9) No <--- This is an autoincrement
team_name varchar(150) No
events varchar(150) No
team_leader_name varchar(50) No
member_id mediumint(9) No 0
team_leader_email varchar(50) No
team_leader_number varchar(20) No
college varchar(150) No
bryr varchar(20) No
city varchar(20) No
state varchar(20) No
member_1 varchar(50) No
email_1 varchar(50) No
member_id_1 mediumint(9) No 0
member_2 varchar(50) No
email_2 varchar(50) No
member_id_2 mediumint(9) No 0
member_3 varchar(50) No
email_3 varchar(50) No
member_id_3 mediumint(9) No 0
member_4 varchar(50) No
email_4 varchar(50) No
member_id_4 mediumint(9) No 0
comments text No
col_1 varchar(80) No
col_2 varchar(80) No
col_3 varchar(80) No
col_4 varchar(80) No