2012-03-11 11 views
1

ちょっと私は問題があります。基本的には、データベースに接続するPHPでスクリプトを作成しました。しかし、データベースにデータを送信しようとすると、登録していただきありがとうございますが、データベースには入りません。しかし、私は情報を追加し、そのデータベースではないかどうかを確認するとき。誰かがあなたに感謝:)PHPデータベースが挿入されていない

<?php 
$submitcheck = @$_POST['submit']; 
$fullnameCheck = strtolower(strip_tags(@$_POST['fullname'])); 
$LastNameCheck = strtolower(strip_tags(@$_POST['Lastname'])); 
$UserNameCheck = strip_tags(@$_POST['username']); 
$PasswordCheck = strip_tags(@$_POST['password']); 
$ReCheckPass = strip_tags(@$_POST['repassword']); 
$date = date("Y-m-d"); 

if ($submitcheck) { 

    // connect to the database 
    // checking data 

    if ($PasswordCheck && $ReCheckPass && $UserNameCheck && $fullnameCheck && $LastNameCheck) { 


     if ($PasswordCheck == $ReCheckPass) { 


      //Check length of username and password 

      if (strlen($UserNameCheck) > 25) { 

       echo "Username must be less than 25 characters"; 
      } else { 

       if (strlen($LastNameCheck) > 25) { 

        echo "Last name must be less thank 25 charcters"; 
       } else { 

        if (strlen($fullnameCheck) > 25) { 

         echo "Your Fisrt name is too long must be less than 25"; 
        } else { 

         if (strlen($PasswordCheck) > 25 || strlen($PasswordCheck) < 6) { 


          echo "Password must be between 6 to 25"; 
         } else { 

          //register the user 
          $PasswordCheck = md5($PasswordCheck); 
          $ReCheckPass = md5($ReCheckPass); 

          $connect = mysql_connect("localhost", "root", "halo123"); 
          mysql_select_db('phplogin'); 

          $namecheckers = mysql_query("SELECT * FROM users WHERE username ='$UserNameCheck'"); 
          $counts = mysql_num_rows($namecheckers); 

          if ($counts != 0) { 

           die("username in use sorry"); 
          } 

          $queryreg = mysql_query("INSERT INTO users()id, username, password, FisrtName, LastName, date) VALUES ('id','$UserNameCheck','$PasswordCheck','$fullnameCheck','$LastNameCheck','$date')"); 

          die("Congrats you have been registered <a href='test.php'>Click here</a> to return to login page"); 
         } 
        } 
       } 
      } 
     } 
     else 
      echo "your passwords do not macth"; 
    } 
    else 
     echo "Please fill in all the information thank you "; 
} 
?> 


<html 


    <head> 
    <p> 
     <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> 
     <title>Register</title> 




    </head> 

<body> 

    <form action='register.php' method="POST" > 

     Fisrt Name: <input type="text" name="fullname" value="<?php echo $fullnameCheck; ?>"/><br /> 

     Last Name: <input type="text" name="Lastname" value="<?php echo $LastNameCheck; ?>"/><br /> 

     Chose Username: <input type="text" name="username" value="<?php echo $UserNameCheck; ?>"/><br /> 

     Chose Password: <input type="password" name="password" /><br /> 

     repeat Password: <input type="password" name="repassword" /><br /> 
     <input type="submit" name ="submit" value="register"/> 

    </form> 



</body> 


</html> 
+0

は、あなたはそれがテストデータで動作することを確認するために、このクエリを実行しましたか? ( 'id'、 '$ UserNameCheck'、 '$ PasswordCheck'、 '$ fullnameCheck'、 '$ LastNameCheck'、 '$ date') "を入力してください。" INSERT INTO users()id、username、password、FisrtName、LastName、date) –

+2

PHPで '@'が表示されるたびに、私の顔は同じようになります:@。 mysql_queryの最後に['isset()'](http://php.net/manual/en/function.isset.php) – adlawson

+0

を追加するか死ぬか(mysql_error())を調べる必要があります。実際のエラーが – bumperbox

答えて

3
INSERT INTO users()id, username, password, FisrtName, LastName, date) VALUES ('id','$UserNameCheck','$PasswordCheck','$fullnameCheck','$LastNameCheck','$date'‌​) 

確かにする必要があります私の問題を解決してくださいすることができます

INSERT INTO users(id, username, password, FisrtName, LastName, date) VALUES ('id','$UserNameCheck','$PasswordCheck','$fullnameCheck','$LastNameCheck','$date'‌​) 
+0

であることを確認してください。また、 'FisrtName'もタイプミスの可能性があります。 –

+0

私はそれを修正しましたが、それは問題ではありません:)そしてfisrtの名前は間違いでした。 : –

+0

これは自動インクリメントフィールドでも、少なくともintではなく、値に 'id'がありますか? – Ing

1

クエリが実際に働いていたかどうかを確認するためにするmysql_queryの結果を確認する必要があります。 コードは、動作しているとみなされ、発生した可能性のあるエラーを無視します。

するmysql_queryはFALSEを返した場合、あなたはmysql_errorとエラーを確認することができます()

+0

こんにちは、私は、mysqlのエラーを試してみました。これは何ですか: 警告:mysql_error()は、パラメータ1はリソース、ブール値はC:\ xampp \ htdocs \ PhpLearn \ register.phpで指定されていることを期待しています 登録ログインページに戻るにはここをクリック –

+0

http://www.php.net/manual/en/function.mysql-error.php(特に例#1)のmysql_error()のドキュメントを参照してください。あなたに沿って。 –

関連する問題