czukoman20 Posted February 24, 2008 Share Posted February 24, 2008 Hey everyone, i am having a problem with my coding. not sure why its not working. Please don't mind my organization right now, because i want this to work b4 i reorganize My registration isn't working for some reason i cant find out. When u input the values into the form, and hit submit, it hits my REGISTRATION FAILED error Here is the registration page code Please just take a skim through the code. because i have looked at the code a million times. and i can't seem to find anything. I know its long. <form action="process.php" method="post"> <table width="478" border="0" align="left" cellpadding="3" cellspacing="0"> <tr><td width="272">Username:</td><td width="144"><input type="text" name="user" maxlength="30" value="<? echo $form->value("user"); ?>" /></td><td width="44" rowspan="5"><? echo $form->error("user"); ?></td></tr> <tr> <td>Password:</td> <td width="144"><input type="password" name="pass" maxlength="30" value="<? echo $form->value("pass"); ?>" /></td> </tr> <tr> <td>Email:</td> <td width="144"><input type="text" name="email" maxlength="50" value="<? echo $form->value("email"); ?>" /></td> </tr> <tr> <td>First Name:</td> <td width="144"><input type="text" name="realname" maxlength="50" value="<? echo $form->value("realname"); ?>" /></td> </tr> <tr> <td>Last Name:</td> <td><input type="text" name="last_name" maxlength="50" value="<? echo $form->value("last_name"); ?>" /></td> </tr> <tr><td>Mailing Address:</td><td><input type="text" name="address" maxlength="50" value="<? echo $form->value("address"); ?>" /></td><td><? echo $form->error("address"); ?></td></tr> <tr> <td>City:</td><td><input type="text" name="city" maxlength="50" value="<? echo $form->value("city"); ?>" /></td><td><? echo $form->error("city"); ?></td></tr> <tr> <td>State:</td><td><input type="text" name="state" maxlength="50" value="<? echo $form->value("state"); ?>" /></td><td><? echo $form->error("state"); ?></td></tr> <tr> <td>Zip Code:</td> <td><input type="text" name="zip" maxlength="50" value="<? echo $form->value("zip"); ?>" /></td><td><? echo $form->error("zip"); ?></td></tr> <tr> <td><div align="left">Phone Number(555-555-5555): </div></td> <td align="right"><input type="text" name="phone" maxlength="50" value="<? echo $form->value("phone"); ?>" /></td> </tr> <tr><td colspan="2" align="left"><input type="submit" value="Join!" /> <input type="hidden" name="subjoin" value="1" /> </td> </tr> </table> </form> Here is the process.php code that it links to. /* User submitted registration form */ else if(isset($_POST['subjoin'])){ $this->procRegister(); } function procRegister(){ global $session, $form; /* Convert username to all lowercase (by option) */ if(ALL_LOWERCASE){ $_POST['user'] = strtolower($_POST['user']); } /* Registration attempt */ $retval = $session->register($_POST['user'], $_POST['pass'], $_POST['email'], $_POST['realname'], $_POST['last_name'], $_POST['address'],$_POST['city'],$_POST['state'], $_POST['zip'], $_POST['phone']); /* Registration Successful */ if($retval == 0){ $_SESSION['reguname'] = $_POST['user']; $_SESSION['regsuccess'] = true; header("Location: ".$session->referrer); } /* Error found with form */ else if($retval == 1){ $_SESSION['value_array'] = $_POST; $_SESSION['error_array'] = $form->getErrorArray(); header("Location: ".$session->referrer); } /* Registration attempt failed */ else if($retval == 2){ $_SESSION['reguname'] = $_POST['user']; $_SESSION['regsuccess'] = false; header("Location: ".$session->referrer); } } here is the session that it goes through after that. function register($subuser, $subpass, $subemail, $subrealname, $sublast_name, $subaddress, $subcity, $substate, $subzip, $subphone){ global $database, $form, $mailer; //The database, form and mailer object /* Username error checking */ $field = "user"; //Use field name for username if(!$subuser || strlen($subuser = trim($subuser)) == 0){ $form->setError($field, "* Username not entered"); } else{ /* Spruce up username, check length */ $subuser = stripslashes($subuser); if(strlen($subuser) < 5){ $form->setError($field, "* Username below 5 characters"); } else if(strlen($subuser) > 30){ $form->setError($field, "* Username above 30 characters"); } /* Check if username is not alphanumeric */ else if(!eregi("^([0-9a-z])+$", $subuser)){ $form->setError($field, "* Username not alphanumeric"); } /* Check if username is reserved */ else if(strcasecmp($subuser, GUEST_NAME) == 0){ $form->setError($field, "* Username reserved word"); } /* Check if username is already in use */ else if($database->usernameTaken($subuser)){ $form->setError($field, "* Username already in use"); } /* Check if username is banned */ else if($database->usernameBanned($subuser)){ $form->setError($field, "* Username banned"); } } /* Password error checking */ $field = "pass"; //Use field name for password if(!$subpass){ $form->setError($field, "* Password not entered"); } else{ /* Spruce up password and check length*/ $subpass = stripslashes($subpass); if(strlen($subpass) < 4){ $form->setError($field, "* Password too short"); } /* Check if password is not alphanumeric */ else if(!eregi("^([0-9a-z])+$", ($subpass = trim($subpass)))){ $form->setError($field, "* Password not alphanumeric"); } /** * Note: I trimmed the password only after I checked the length * because if you fill the password field up with spaces * it looks like a lot more characters than 4, so it looks * kind of stupid to report "password too short". */ } /* Email error checking */ $field = "email"; //Use field name for email if(!$subemail || strlen($subemail = trim($subemail)) == 0){ $form->setError($field, "* Email not entered"); } else{ /* Check if valid email address */ $regex = "^[_+a-z0-9-]+(\.[_+a-z0-9-]+)*" ."@[a-z0-9-]+(\.[a-z0-9-]{1,})*" ."\.([a-z]{2,}){1}$"; if(!eregi($regex,$subemail)){ $form->setError($field, "* Email invalid"); } $subemail = stripslashes($subemail); } /* Errors exist, have user correct them */ if($form->num_errors > 0){ return 1; //Errors with form } /* No errors, add the new account to the */ else{ if($database->addNewUser($subuser, md5($subpass), $subemail, $subrealname, $sublast_name, $subaddress, $subcity, $substate, $subzip, $subphone)){ if(EMAIL_WELCOME){ $mailer->sendWelcome($subuser, $subemail, $subpass, $subrealname, $sublast_name, $subphone); } return 0; //New user added succesfully }else{ return 2; //Registration attempt failed } } } and lastly the database code that creates the database function addNewUser($username, $password, $email, $realname, $last_name, $address, $city, $state, $zip, $phone){ $time = time(); /* If admin sign up, give admin user level */ if(strcasecmp($username, ADMIN_NAME) == 0){ $ulevel = ADMIN_LEVEL; }else{ $ulevel = USER_LEVEL; } $q = "INSERT INTO ".TBL_USERS." VALUES ('$username', '$password', '0', $ulevel, '0', '$email', $time, '$realname', '$phone', '$userid_2', '$address', 'none', 'none', 'none', 'none', 'none', '$state', 'none', '$zip' ,'$last_name')"; return mysql_query($q, $this->connection); } Link to comment https://forums.phpfreaks.com/topic/92744-registration-database/ Share on other sites More sharing options...
revraz Posted February 24, 2008 Share Posted February 24, 2008 Put in a mysql_error() in your queries to find out why it's failing. Link to comment https://forums.phpfreaks.com/topic/92744-registration-database/#findComment-475166 Share on other sites More sharing options...
czukoman20 Posted February 24, 2008 Author Share Posted February 24, 2008 could u give me an example of where to put the mysql_error() Link to comment https://forums.phpfreaks.com/topic/92744-registration-database/#findComment-475174 Share on other sites More sharing options...
czukoman20 Posted February 24, 2008 Author Share Posted February 24, 2008 ok i put the mysql_error(); and it says Column count doesn't match value count at row 1 whats that mean ... Link to comment https://forums.phpfreaks.com/topic/92744-registration-database/#findComment-475177 Share on other sites More sharing options...
revraz Posted February 24, 2008 Share Posted February 24, 2008 Exactly what it says. You are inserting 20 fields, how many do you have in your table? Link to comment https://forums.phpfreaks.com/topic/92744-registration-database/#findComment-475270 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.