2015-11-03 3 views
0

Это могут быть самые простые ошибки, когда-либо, но я написал сценарий регистрации. Я бы сказал, что это выглядит нормально .. только проблема в том, что он не будет вставлять данные ... он все равно выводит сообщение о регистрации успешно, но никакие данные фактически не входит в базу данных ... см код ниже:PHP Registration Script - Вставить данные

<?php 

include("dbconfig.php"); 

if(isset($_POST['register'])){ 

if(empty($_POST['first-name']) or empty($_POST['last-name']) or empty($_POST['email-address']) or empty($_POST['reg-username']) or empty($_POST['reg-pass'])){ 

    header("location:index-login-page.php?msg0=Please complete the required fields."); 


} 

else { 

    $fname = $_POST['first-name']; 
    $lname = $_POST['last-name']; 
    $email = $_POST['email-address']; 
    $username = $_POST['reg-username']; 
    $pass = $_POST['reg-pass']; 

    $checkusername = mysql_query("SELECT username FROM users WHERE username = '$username'"); 
    $checkemail = mysql_query("SELECT email FROM users WHERE email = '$email'"); 
    $resultusername = mysql_num_rows($checkusername); 
    $resultemail = mysql_num_rows($checkemail); 

    if((($resultusername) ==1) or ($resultemail)==1){ 
     header("location:index-login-page.php?msg1= Username or email address already exists."); 

    } 

    elseif((($resultusername) == 0) && ($resultemail) ==0) { 

     $insertquery =("INSERT INTO users (firstname, lastname, email, username, password) VALUES ('$fname','$lname','$email','$username','$pass'"); 
      header("location:index-login-page.php?msg1= Registration successful, please login."); 

    } 

} 

} 

?> 

Пожалуйста, дайте мне знать, что ошибка (если есть), потому что я не могу Найди это. Благодарю.

Sohail.

ответ

2
$insertquery = ("INSERT INTO users (firstname, lastname, email, username, password) VALUES ('$fname','$lname','$email','$username','$pass'"); 

Должно быть:

$insertquery = mysql_query("INSERT INTO users (firstname, lastname, email, username, password) VALUES ('$fname','$lname','$email','$username','$pass'"); 

Я должен предупредить вас, хотя: это считается плохой практикой, вы должны дезинфицировать ваш входной базы данных

+0

Постараюсь, что сейчас, но что делать вам означает «санизировать»? –

+0

Пожалуйста, прочитайте: http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php/1669109#1669109 – JorisK

+0

Спасибо, сэр, я посмотрел на это, и я могу заверяю вас, что я буду считать это для будущего развития. Прямо сейчас, я только пересматриваю свою память, так как прошло 7 месяцев с тех пор, как я сделал какое-то кодирование. Благодарю. –