0
私は学習HTML、PHP、mysqlを使いました。私はリサーチではなく、いくつかのチュートリアルに従っています。私は最後にチュートリアルに従ったウェブサイトに問題があります。何度も何度も私は1つの問題を見つけることができません。エラーの報告にもエラーは表示されません。登録ページでMySQLデータベースにデータを送信しない
私は間違いを修正してコードを送り返したいと思いますが、誰かが私の間違いがどこにあるのかを指摘し、私の間違いを修正してください。前もって感謝します。
<?php
error_reporting(E_ALL);
define('DB_HOST', 'localhost');
define('DB_NAME', 'website');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
$con = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if (isset($_POST['Register'])) {
if (!empty($_POST['Email'])) {
$query = mysqli_prepare($con, "SELECT * FROM users WHERE Email = ?");
mysqli_stmt_bind_param($query, "s", $_POST['Email']);
mysqli_stmt_execute($query);
mysqli_stmt_store_result($query);
if(mysqli_stmt_num_rows($query) != 0)
{
echo "SORRY...YOU ARE ALREADY REGISTERED USER...";
}
else
{
$query = mysqli_prepare($con, "INSERT INTO user (First_Name,Last_Name,Email,Password) VALUES ($First_Name, $Last_Name, $Email, $Password)");
mysqli_stmt_bind_param($query, "ssss", $_POST['First_Name'], $_POST['Last_Name'], $_POST['Email'], $_POST['Password']);
mysqli_stmt_execute($query);
echo "REGISTRATION SUCCESSFUL";
}
}
}
?>
<!doctype html>
<html>
<head>
<link href="CSS/master.css" rel="stylesheet" type="text/css" />
<link href="CSS/menu.css" rel="stylesheet" type="text/css" />
<meta charset="utf-8">
<title>Adult Gaming Underground</title>
</head>
<body>
<div class="Container">
<div class='Header'></div>
<div class="Menu"
<ul id="nav">
<li><a href="#">Home</a></li>
<li><a class="hsubs" href="#">Meet the team</a>
</li>
<li><a class="hsubs" href="#">Reviews</a>
<ul class="subs">
<li><a href="#">Reviews</a></li>
<li><a href="#">Hints & Tips</a></li>
</ul>
</li>
<li><a class="hsubs" href="#">Charity Events</a></li>
<li><a href="#">Store</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">Account</a>
<ul class="subs">
<li><a href="#">LogIn</a></li>
<li><a href="#">Register</a></li>
<li><a href="#">Reset Password</a></li>
</ul>
</li>
</ul>
</div>
<div class='LeftBody'></div>
<div class='RightBody'>
<form id="RegisterForm" method="POST" name="RegisterForm">
<div class="FormElement">
<input name="First_Name" type="text" required="required" class="TField" id="First_Name" placeholder="First Name">
</div>
<div class="FormElement">
<input name="Last_Name" type="text" required="required" class="TField" id="Last_Name" placeholder="Last Name">
</div>
<div class="FormElement">
<input name="Email" type="email" required="required" class="TField" id="Email" placeholder="Email">
</div>
<div class="FormElement">
<input name="Password" type="password" required="required" class="TField" id="Password" placeholder="Password">
</div>
<div class="FormElement">
<input name="Register" type="button" class="button" id="Register" value="Register">
</div>
</form>
</div>
<div class='Footer'></div>
</div>
</body>
</html>
[リトルボビー](http://bobby-tables.com/)と言う***は、[スクリプトは、SQLインジェクション攻撃のリスクがあります。](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)*** [準備された]について学ぶ(http://en.wikipedia.org/ wiki/Prepared_statement)ステートメント([MySQLi](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php))。 [文字列をエスケープする](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string)でも安全ではありません! –
**プレーンテキストのパスワードを保存しないでください!** *** PHPの[組み込み関数](http://jayblanchard.net/proper_password_hashing_with_PHP.html)***を使用してパスワードセキュリティを処理してください。 5.5より小さいPHPバージョンを使用している場合、 'password_hash()' [互換パック](https://github.com/ircmaxell/password_compat)を使用することができます。 ***ハッシュする前に[パスワードをエスケープする](http://stackoverflow.com/q/36628418/1011527)***または他のクレンジングメカニズムを使用する必要はありません。パスワードを変更すると、パスワードが変更され、不要な追加のコーディングが発生します。 –
ところでいいウェブページタイトル – HddnTHA