2013-11-26 2 views
0

Я создал форму с HTML, а затем форму, которая должна отправить информацию в базу данных mySQL. Однако информация не отображается в базе данных. Что я делаю не так?Регистрационная форма PHP, не показывающая пользователей в базе данных

Это мой HTML:

<form action="#" method="post"> 
           <input type="text" name="fname" placeholder="First Name" class="sign-up-input" value="<?php echo $fn; ?>"><br> 
           <input type="text" name="lname" placeholder="Last Name" class="sign-up-input" value="<?php echo $ln; ?>"><br> 
           <input type="text" name="username" placeholder="Username" class="sign-up-input" value="<?php echo $un; ?>"><br> 
           <input type="text" name="email" placeholder="E-mail" class="sign-up-input" value="<?php echo $em; ?>"><br> 
           <input type="text" name="email2" placeholder="Repeat E-mail" class="sign-up-input" value="<?php echo $em2; ?>"><br> 
           <input type="password" name="password" placeholder="Password" class="sign-up-input"><br> 
           <input type="password" name="password2" placeholder="Repeat Password" class="sign-up-input"><br> 
           <input type="submit" name="reg" value="Sign Up"> 
          </form> 

Это мой PHP:

<?php include ("inc/scripts/mysql_connect.inc.php"); 
$reg = @$_POST['reg']; 
//declaring variable to prevent errors 
$fn = ""; //first name 
$ln = ""; //last name 
$un = ""; //username 
$em = ""; //email 
$em2 = ""; // email repeated 
$pswd = ""; //password 
$pswd2 = ""; //pasword repeated 
$u_check = ""; //check username 
$fn = strip_tags(@$_POST['fname']); 
$ln = strip_tags(@$_POST['lname']); 
$un = strip_tags(@$_POST['username']); 
$em = strip_tags(@$_POST['email']); 
$em2 = strip_tags(@$_POST['email2']); 
$pswd = strip_tags(@$_POST['password']); 
$pswd2 = strip_tags(@$_POST['password2']); 
$d = date("Y-m-d"); //year month day 
if ($reg) { 
    if ($em==$em2) { 
    $u_check = mysql_query("SELECT username FROM users WHERE username='$un'"); 
    $check = mysql_num_rows($u_check); 
    $e_check = mysql_query("SELECT email FROM users WHERE email='$em'"); 
    $email_check = mysql_num_rows($e_check); 
     if ($check == 0) { 
     if ($email_check == 0) { 
      if ($fn && $ln && $un && $em && $em2 && $pswd && $pswd2) { 
      if ($pswd == $pswd2) { 
       if (strlen($un)>25||strlen($fn)>25||strlen($ln)>25) { 
       echo "<br><br><br><br>The maximum limit for username/first name/last name is 25 characters!"; 
       } else { 
       if (strlen($pswd)>30||strlen($pswd)<5) { 
        echo "<br><br><br><br>Your password must be between 5 and 30 characters long!"; 
       } else { 
        $pswd = md5($pswd); 
        $pswd2 = md5($pswd2); 
        $query = mysql_query("INSERT INTO users VALUES ('','$un','$fn','$ln','$em','$pswd','$d','0','Write something about yourself.','','','no')"); 
        die("Welcome to findFriends Login to your account to get started..."); 
       } 
       } 
      } else { 
       echo "Your passwords don't match!"; 
      } 
      } else { 
      echo "Please fill in all of the fields"; 
      } 
     } else { 
     echo "Sorry, but it looks like someone has already used that email!"; 
     } 
     } else { 
     echo "Username already taken ..."; 
     } 
    } else { 
    echo "Your E-mails don't match!"; 
    } 
    } 
?> 

И это мой MySql подключить код:

<?php 
mysql_connect("localhost","root","", "socialnetwork") or die("no such user exists!"); 
mysql_select_db("socialnetwork") or die("no such database exists!"); 
echo "Connected to database"; 
?> 

Мой сайт не отображает ошибки, но база данных не показывает пользователей. Что я сделал не так?

* ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ - Я нашел этот код в учебнике по youtube. Когда он это сделал, это сработало. Heres видео: http://www.youtube.com/watch?v=cCr9TthDtxk

+0

Вот что-то не в видео YouTube 'эхо mysql_error();'. Этот парень так много сделал, что это даже не смешно. Отправьте ошибку своего БД, и мы можем перейти оттуда. – Machavity

+0

Это, безусловно, самая страшная форма регистрации, которую я когда-либо видел. Почему бы вам не использовать ссылку anothere, а не такой плохой учебник – RazorHead

+0

Я новичок в PHP и mySQL, поэтому сам не могу отлаживать его. :(Я не получаю никаких ошибок. Он просто не отправляет какие-либо входы в мою базу данных, и моя база данных выглядит пустым. Она показывает страницу успеха (Добро пожаловать в FindFriends Войдите в свою учетную запись, чтобы начать ...), но ничего в DB – zsam

ответ

0

Попробуйте это.

//change this 
$query = mysql_query("INSERT INTO users VALUES ('','$un','$fn','$ln','$em','$pswd','$d','0','Write something about yourself.','','','no')"); 

//to 

$query = mysql_query("INSERT INTO users (username, fname, lname, email, password, date, about) VALUES ('$un','$fn','$ln','$em','$pswd','$d','Write something about yourself.')"); 

вместо того, чтобы добавлять все данные в поле. определите ваше поле, кроме имени таблицы, тогда заданные значения соответствуют введенному полю.

также, в базе данных установить идентификатор в «авто» приращению

+0

не работает, и мой идентификатор уже автоматически увеличивается. – zsam

Смежные вопросы