2016-12-12 21 views
0

PHPでユーザー登録フォームを作成しようとしていますが、機能しません。エラーメッセージが表示されず、何が間違っているか表示されません。手伝ってくれませんか?未定義のインデックス:PHPフォームエラー?

<!doctype html> 
<html> 
<head> 
</head> 
<body> 
<form method="POST" enctype="multipart/form-data" action="<?PHP echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" accept-charset="UTF-8"> 
    <h4><label>Sign up</label></h4> 
    <p><label>Username<strong>*</strong><br> 
      <input type="text" size="48" name="username"></label></p> 
    <p><label>Password<strong>*</strong><br> 
      <input type="password" size="48" name="password" ></label></p> 
    <p><label>Email<br> 
      <input type="email" size="48" name="email"></label></p> 
    <p><input type="submit" name="sendfeedback" value="Sign up"></p> 
</form> 
<?php 
$servername = "localhost"; 
$username = "safsom2"; 
$password = "somil888"; 
$dbname = "appDB"; 
// Create connection 
$conn = new mysqli($servername, $username, $password); 
// Check connection 
if ($conn->connect_error) { 
    die("Failed connecting to user database : " . $conn->connect_error); 
} 
echo 'Success connecting to user database.'; 
if (isset($_POST['sendfeedback'])) { 
    $uname = $_POST['username']; 
    $passwd = $_POST['password']; 
    $email = $_POST['email']; 
    if (!$conn->query("INSERT INTO users (username, password, email) 
VALUES ('$uname', '$passwd', '$email', '".$_SERVER['REMOTE_ADDR']."')")) { 
     echo '<br>Failed account creation'; 
    } 
    else { 
     echo '<br>Created account'; 
    } 
} 
?> 
</body> 
</html> 
+0

a)は、ここで郵便番号、b)はどのように入手できます:

"INSERT INTO users (username, password, email) VALUES ('$uname', '$passwd', '$email', '".$_SERVER['REMOTE_ADDR']."')" 

は何かのようにする必要があり、エラーメッセージを持っていませんか? –

+0

これにはプリペアドステートメントも使用する必要があります。このコードのスニペットはSQLインジェクションの影響を受けやすいためです。キックオフ:http://php.net/manual/en/mysqli.prepare.php – Qirel

+0

フォームから「*未定義インデックス... *」のように見えません。とにかく、それは正しいコードです私たちを見せてくれる?どのような正確なインデックスは未定義ですか? – Qirel

答えて

0

4つの値を渡していますが、3つのフィールドしか割り当てていません。 "未定義のインデックス:"

"INSERT INTO users (username, password, email, ip_address) 
VALUES ('$uname', '$passwd', '$email', '".$_SERVER['REMOTE_ADDR']."')" 
関連する問題