2016-10-26 4 views
-2

次のコードがあり、正常に実行され、データが正常に入力されたが、データベーステーブルをチェックすると、成功した操作)私は空白行を1つ取得します。コードは言うもののないデータInshort が挿入されている操作成功空の行がデータベースの行に値を追加するたびに挿入される

CODE: dbconnect.php

<?php 
$host= "host"; 
$user = "user"; 
$password = "pass"; 
$db = "db"; 

$con = mysqli_connect($host,$user,$password,$db); 
if (!$con) 
{ echo "Failed to Connect"; } 
else 
{ echo "Connection successful";} 
?> 

CODE:addInfo.php

<?php 
require "dbconnect.php"; 
$username = $_POST["username"]; 
$email = $_POST["email"]; 
$mobile = $_POST["mobile"]; 
$flag = false; 
$sql = "insert into userInfo values('$username','$email','$mobile');"; 
$flag=mysqli_query($con,$sql); 
if($flag!==false) 
{ 
    echo "Data inserted successfully!"; 
} 
else 
{ 
echo "Error in insertion" . mysqli_error($con); 
} 
?> 

CODE:インデックス.php

<!DOCTYPE html> 
<html> 
<head> 
    <title>Add Information</title> 
</head> 
<body> 
<form action="addinfo.php"> 
<table> 
    <tr> 
    <td>Name:</td> 
    <td><input type="text" name="name"/></td> 
    <td>Email:</td> 
    <td><input type="text" name="email"/></td> 
    <td>Mobile:</td> 
    <td><input type="text" name="mobile"/></td> 
    </tr> 
</table> 
<input type ="submit" value="Submit" /> 
</form> 
</body> 
</html> 

君たちが行うことができますヘルプの任意のタイプ、

+1

[SQLインジェクション](https://en.wikipedia.org/ wiki/SQL_injection)災害が起こるのを待っています... prを使用してくださいまたは少なくともユーザの入力を消毒する – Pevara

+0

あなたの入力で 'name =" name "'を見て、 '$ username = $ _POST [" username "];'で再度見てください。そしてメソッドを指定していないので、デフォルトはGETになります。 '

' – Qirel

+0

が修正され、POSTタグが使用されていますが、まだ同じエラーが必要です.Blank行が挿入されています! –

答えて

2

Iを行ってください)使用mysqli prepared statement

  • <form>method="POST"を追加$username = $_POST["name"];
  • に変更$username = $_POST["username"];

    • を変更回避するにはのセキュリティ脆弱性

    II)更新されたコード

    dbconnect.php

    <?php 
    $host= "host"; 
    $user = "user"; 
    $password = "pass"; 
    $db = "db"; 
    
    $con = new mysqli($host, $user, $password, $db); 
    if ($con->connect_errno) { 
        echo "Failed to connect to MySQL: (" . $con->connect_errno . ") " . $con->connect_error; 
    } 
    ?> 
    

    addInfo.php

    <?php 
    require "dbconnect.php"; 
    
    $stmt = $mysqli->prepare("INSERT INTO userInfo (`username`,`email`,`mobile`) VALUES (?, ?, ?)"); 
    $stmt->bind_param('sss', $_POST["name"], $_POST["email"], $_POST["mobile"]); 
    
    if($stmt->execute()) { 
        echo "Data inserted successfully!"; 
    } else { 
        echo "Error in insertion" . $con->errno; 
    } 
    ?> 
    

    index。PHP

    <!DOCTYPE html> 
    <html> 
        <head> 
        <title>Add Information</title> 
        </head> 
        <body> 
        <form action="addinfo.php" method="POST"> 
         <table> 
         <tr> 
          <td>Name:</td> 
          <td><input type="text" name="name"/></td> 
          <td>Email:</td> 
          <td><input type="text" name="email"/></td> 
          <td>Mobile:</td> 
          <td><input type="text" name="mobile"/></td> 
         </tr> 
         </table> 
         <input type ="submit" value="Submit" /> 
        </form> 
        </body> 
    </html> 
    

    III)クイックスタート

    IV)を有するルック

  • +1

    ありがとうございます!これは私の問題を解決しました!! –

    +0

    ^うわー、誰かが「本当に」幸せだ;-) –

    +0

    同じです@NanaPartykar - それを見ました、* grazie mille、mi amico!*。 :)乾杯 –

    関連する問題