2017-02-23 7 views
0

値を私のwampserverに挿入しようとしましたが、名前列と電子メール列の挿入に成功しましたが、パスワードフィールドをデータベースに挿入することはできません私がここで間違えたことを確認してください。画像上記
enter image description herePHPスクリプトを使用してwampserverに列データを挿入できませんでした

そのパスワードフィールドは、そのパスワードフィールドは、私が(VARCHARでデータを保存しようとしたことに注意して、どのように見えるか、あなたに明確なアイデアを与える)が、データを保存していない私のphpとhtmlコードの下を確認してくださいデータベース接続のための
init.php
この

<?php 
 
$user_name="root"; 
 
$pass=""; 
 
$host="localhost"; 
 
$db_name="userdb"; 
 
$con=mysqli_connect($host,$user_name,$pass,$db_name); 
 
if(!$con) 
 
{ 
 
\t echo "Connection Failed....".mysqli_connect_error(); 
 
\t 
 
} 
 
else 
 
echo "<h3>Connection Success.....</h3>"; 
 

 
?>

を使用しています

register.php

<?php 
 
$name=$_POST["name"]; 
 
$email=$_POST["email"]; 
 
$pass=$_POST["password"]; 
 
require "init.php"; 
 
$query="select * from userinfo where email like '".$email."';"; 
 
$result=mysqli_query($con,$query); 
 
//ok 
 
if(mysqli_num_rows($result)>0) 
 
{ 
 
\t $response=array(); 
 
\t $code="reg_false"; 
 
\t $message="User already exist...."; 
 
\t array_push($response,array("code"=>$code,"message"=>$message)); 
 
\t echo json_encode(array("server_response"=>$response)); 
 
} 
 
else 
 
{ 
 
    $querys ="insert into userinfo values ('".$name."','".$email."','".$pass."');"; 
 
    $result=mysqli_query($con,$querys); 
 
    if(!$result) 
 
    { 
 
     $response=array(); 
 
     $code="reg_false"; 
 
     $message="Some server error occurred, Train again...."; 
 
     array_push($response,array("code"=>$code,"message"=>$message)); 
 
     echo json_encode(array("server_response"=>$response)); 
 
    }else{ 
 
     $response=array(); 
 
     $code="reg_true"; 
 
     $message="Registration Success....Thank you...."; 
 
     array_push($response,array("code"=>$code,"message"=>$message)); 
 
     echo json_encode(array("server_response"=>$response)); 
 
    } 
 
} 
 
mysqli_close($con); 
 
?>

register_test.html
これは、データを送信するための入力としてのように、このいずれかを使用しています、データベースに詳細を送信するために使用されます

<html> 
 
<head> <title>Register Test....</title> </head> 
 
<body> 
 
<form method="post" action="register.php"> 
 
<table> 
 
<tr> 
 
<td>Name :</td><td><input type="text" name="name"/></td> 
 
</tr> 
 
<tr> 
 
<td>Email :</td><td><input type="text" name="email"/></td> 
 
</tr> 
 
<tr> 
 
<td>Password :</td><td><input type="password" name="password"/></td> 
 
</tr> 
 
<tr> 
 
<td><input type="submit" value="Register"/></td> 
 
</tr> 
 
</table> 
 
</form> 
 
</body> 
 
</html>

このコードをチェックしてください、と私はあなたの他の2つは挿入なっている場合は、私のデータベース

+0

を1つは必要ありません。値 '$ variable'として挿入することができます。挿入の前に$ passをエコーアウトすると、空になるか、値が入ります。また、変数を挿入しているときにプリペアドステートメントを使用していないのはなぜですか? – clearshot66

+0

おそらく最も重大な間違いは、このコードがSQLインジェクションに対して広く開かれていることです。これが意味するのは、ユーザーからの悪意のあるコードに対して公開されているだけでなく、実行しているSQLクエリが実際にはわからないということです。実際のランタイムSQLクエリをエコーし​​てチェックします。さらに、クエリが失敗したときに 'mysqli_error()'を見てください。 – David

+0

@clearshot66、私は分 – yuggi

答えて

-1

にパスワード値を得たためにミスを行わところ教えてください、この試してください:まあ

$querys ="INSERT INTO userinfo (name,email,password) VALUES ('$name','$email','$pass'); 
$result = $mysqli_query($con,$querys); 
+0

は機能していません – yuggi

+0

他の2つのフィールドはパスワード列を空白にしてデータベースに入力していますか? – clearshot66

+0

はいパスの作業を空白にすると、それは正常に動作していると同じ結果を与える – yuggi

関連する問題