可能性の重複:
strange php error
Submit an HTML form with empty checkboxes
PHP form checkbox and undefined index未定義のインデックス - PHPのMySQLの
何らかの理由で、私は次のコードでは、未定義のインデックスエラーを取得しています。どんな助けもありがとう。ここで私は
Notice: Undefined index: username in C:\xampp\htdocs\register.php on line 5
Notice: Undefined index: password in C:\xampp\htdocs\register.php on line 6
Notice: Undefined index: firstname in C:\xampp\htdocs\register.php on line 7
Notice: Undefined index: surname in C:\xampp\htdocs\register.php on line 8
コードRecievingていますエラーです。(それは別のページのアクションでない限り)初めて
<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("clubresults") or die(mysql_error());
$username = $_POST['username'];
$password = md5($_POST['password']);
$firstname = $_POST['firstname'];
$surname = $_POST['surname'];
$sql = "INSERT INTO members (Username, Password, Firstname, Surname) VALUES ($username, $password, $firstname, $surname);";
mysql_query($sql);
?>
<html>
<div class="content">
<center>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table border="0">
<tr><td colspan=2><h1>Register</h1></td></tr>
<tr><td>Username:</td><td>
<input type="text" name="username" maxlength="60">
</td></tr>
<tr><td>Password:</td><td>
<input type="password" name="password" maxlength="10">
</td></tr>
<tr><td>Firstname:</td><td>
<input type="text" name="firstname" maxlength=210">
</td></tr>
<tr><td>Surname:</td><td>
<input type="text" name="surname" maxlength=210">
</td></tr>
<tr><th colspan=2><input type="submit" name="submit"
value="Register"> </th></tr> </table>
</form>
</center>
</div>
</html>
古くからの新しいmysql_ *関数で新しいコードを書くのをやめてください。それらはもはや維持されず、コミュニティは[非推奨プロセス](http://goo.gl/KJveJ)を開始しました。代わりに、[準備完了ステートメント](http://goo.gl/vn8zQ)について学び、[PDO](http://php.net/pdo)または[MySQLi](http://php.net/)を使用する必要があります。 mysqli)。あなたが決定できない場合、[この記事](http://goo.gl/3gqF9)が選択に役立ちます。あなたが覚えていれば、[こちらはPDO関連の良いチュートリアルです](http://goo.gl/vFWnC)。 – vascowhite
解決策をリンクされた質問にチェックすると、おそらく役に立ちます。 – vascowhite
あなたのコードは、それらの値が存在することを前提としています。フォームが投稿されると、フォームになります。しかし、ページが最初に読み込まれると、それらは表示されません。 'isset()'関数を調べて、その値を使用しようとする前に配列の値が存在するかどうかを確認してください。 – David