2016-08-13 13 views
0

私は私のPHPフォームを提出するたびに、データがデータベースに空白で表示されます。何が効いていないのですか?私はコードを別のものにしようとしましたが、私が何をしても値は空白になります。php sql空白の値を挿入

$conn = new mysqli($servername, $username, $password, $dbname); 

if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

if (isset($_POST["email"])) 
{ 
    $login = $_POST["email"]; 
} 
else 
{ 
    $login = null; 
} 

if (isset($_POST["psw"])) 
{ 
    $psw = $_POST["psw"]; 
} 
else 
{ 
    $psw = null; 
} 

$login2 = mysqli_real_escape_string($conn, $login); 
$psw2 = mysqli_real_escape_string($conn, $psw); 



$verify = "INSERT INTO test (email, password) VALUES ('$login2', '$psw2')"; 
$verify2 = mysqli_query($conn, $verify); 


$conn->close(); 
?> 
+2

まあ今、あなたは盲目的に何の電子メール/パスワードprividedが存在しない場合でも継続しています。 '= null'を設定する代わりに、' die( "Email is required!"); 'を試してください。 –

+0

print_r($ _ POST)とは何ですか? – bksi

+0

@NiettheDarkAbsolそのソリューションは機能しました!ありがとう。 – user3527891

答えて

-4

これを試してみてください:

$conn = new mysqli($servername, $username, $password, $dbname); 

if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

if(isset($_POST['login']) and isset($_POST['email'])){ 
    $insert = mysqli_query("INSERT INTO test VALUES('".$_POST['login']."', '".$_POST['email']."')"); 
    if($insert){ 
     echo "Dados inseridos."; 
    } 
} 


$conn->close(); 
+1

* "英語ではどういう意味ですか?ああ、それらを開いてSQLインジェクションにしておいてください。いいね'$ _POST [" psw "]'はいつ始まりますか?あなたは '$ _POST ['login']'をどこから入手しましたか?透視能力がありますか? * lol * –

+0

Andre、文字どおりランダムな単純なPHPログインスクリプトをコピーしました。 –

+0

あなたのスクリプトは[SQLインジェクション攻撃]の危険にさらされています(http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) [リトルボビーテーブル](http://bobby-tables.com/)でも [入力をエスケープしている場合、その安全ではありません!](http://stackoverflow.com/questions/5741187/sql-injection-that-gets -around-mysql-real-escape-string) [prepared statementとパラメータ化されたステートメント](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php) – RiggsFolly

関連する問題