データベースにデータを挿入する必要があるRegister.phpという名前のWebページを作成しました。これの問題は、登録ページが機能するが、ログインしようとすると情報がデータベースに追加されないということです。私が見つけられない間違ったことはありますか?同様に、こののエラーを取得PHP MySQLは "INSERT INTO"を使用できません
<?php
echo "<h1>Register</h1>";
$submit = $_POST['submit'];
//form data
$FullName = strip_tags($_POST['FullName']);
$UserName = strip_tags($_POST['UserName']);
$Password = strip_tags($_POST['Password']);
$RepeatPassword = strip_tags($_POST['RepeatPassword']);
if ($submit)
{
//open database
$connect = mysql_connect("localhost","root","");
mysql_select_db("cs266db_db1");
$namecheck = mysql_query("SELECT UserName FROM user_ID WHERE UserName='$UserName'");
$count = mysql_num_rows($namecheck);
if ($count!=0)
{
die("UserName already taken");
}
//check for existence
if($FullName&&$UserName&&$Password&&$RepeatPassword)
{
//check password and repeat password match
if($Password==$RepeatPassword)
{
//check length of username and fullname
if (strlen($UserName) > 25 || strlen($FullName)>25)
{
echo "Length of username or fullname is over 25 characters!";
}
else {
//check password
if(strlen($Password)>25 || strlen($Password) < 6) {
echo "Password must be between 6 and 25 characters";
} else {
//encrypt password
$Password = md5($Password);
$RepeatPassword = md5($RepeatPassword);
$queryreg = mysql_query("INSERT INTO user_id VALUES (FullName='".$FullName."',UserName='".$UserName."',Password='".$Password."'");
}
die("You have been registered <a href='index1.php'> Return to Login Page </a>");
}
}
else{
echo "Your passwords do not match";
}
} else {
echo "Please fill in all fields!";
}
}
?>
<html>
<form action="register.php" method="POST">
<table>
<tr>
<td>
Your full name:
</td>
<td>
<input type="text" name="FullName" value="<?php echo $FullName ?>">
</td>
</tr>
<tr>
<td>
Choose a username:
</td>
<td>
<input type="text" name="UserName" value="<?php echo $UserName ?>">
</td>
</tr>
<tr>
<td>
Choose a password:
</td>
<td>
<input type="password" name="Password">
</td>
</tr>
<tr>
<td>
Repeat your password:
</td>
<td>
<input type="password" name="RepeatPassword">
</td>
</tr>
</table>
<br>
<input type="submit" name="submit" value="Register">
</form>
</html>
イム(私は、NetBeans上で実行しています):
お知らせ:未定義のインデックスは: Cに提出:XAMPP \ \ htdocsに\ Resume_DB \上register.php 4行目注意:未定義 インデックス:C:\ Xampp \ htdocs \ Resume_DB \ register.php(7行目)のフルネーム 注意:未定義インデックス:UserNameは でC:\ Xampp \ htdocs \ Resume_DB \ register.php on line 8 :未定義 インデックス:C:\ Xampp \ htdocs \ Resume_DB \ register.phpの9行目のパスワード Noti CE:未定義のインデックスは: CでRepeatPassword:XAMPP \ \ htdocsに\ Resume_DB \ライン10
上register.phpが、これは挿入の私の問題と関係があるのでしょうか?もしそうなら、助けてください!お願いしてありがとう!
**警告**:PHPを学んでいるだけの方は、古い['mysql_query'](http://php.net/manual/en/function.mysql-query.php)を学ばないでください。インタフェース。それはひどいので、PHP 7では削除されました。[PDOは学ぶのが難しくありません](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo- for database-access /)、[PHP The Right Way](http://www.phptherightway.com/)のようなガイドはベストプラクティスの説明に役立ちます。あなたのユーザーパラメータは**正しく**エスケープされていません**(http://bobby-tables.com/php)、ここには重大な[SQLインジェクションバグ](http://bobby-tables.com/)があります。 – tadman
**警告**:独自のアクセス制御レイヤーを作成するのは簡単ではなく、重大な誤りを犯す機会がたくさんあります。 [Laravel](http://laravel.com/)のような最新の[開発フレームワーク](http://codegeekz.com/best-php-frameworks-for-developers/)がある場合は、独自の認証システムを作成しないでください。強力な[認証システム](https://laravel.com/docs/5.2/authentication)が組み込まれています。絶対に[推奨されるセキュリティのベストプラクティス](http://www.phptherightway.com/#security)に従ってください。決してパスワードをプレーンテキストとして保存しないでください。 – tadman
挿入構文が正しくありません。 – larsAnders