ユーザーが入力した電子メールとパスワードが一致するかどうか、すべてのフォームが完成しているかどうか、および電子メールが以前に登録に使用されたかどうかを確認する登録フォームを作成しようとしています。実際にエラーが発生した場合、登録フォームの上部にエラー メッセージを表示するコードを作成したいと考えています。
ただし、登録入力の上にエラーメッセージを表示する方法がわかりません。代わりに、エラー メッセージが登録入力を置き換え、単独で表示されます (ユーザーがページを更新して、登録を再試行する必要があります)。これは、stackoverflow に関する私の最初の投稿です。コーディング用語がオフになっている場合は、ご容赦ください。以下は、私が使用しようとしているコードです。
<?php
// Connect to database server
mysql_connect("localhost", "root") or die (mysql_error ());
// Select database
mysql_select_db("mydatabase") or die(mysql_error());
//Checks to make sure form has been submitted
if (isset($_POST['submit'])) {
//Checks to make sure all fields are complete
if (!$_POST['FirstName'] | !$_POST['LastName'] | !$_POST['Username']| !$_POST['Username2']| !$_POST['Password']| !$_POST['Password2'] ) {
die('You did not complete all of the required fields');
}
//Check to see if email has already been used to reigster
if (!get_magic_quotes_gpc()) {
$_POST['Username'] = addslashes($_POST['Username']);
}
$usercheck = $_POST['Username'];
$check = mysql_query("SELECT Username FROM people WHERE Username = '$usercheck'")
or die(mysql_error());
$check2 = mysql_num_rows($check);
//Email has already been used to register message
if ($check2 != 0) {
die('Sorry, the Email '.$_POST['Username'].' has already been used to register.');
}
//Confirm that Emails match
if ($_POST['Username'] != $_POST['Username2']) {
die('The Email addresses you entered do not match. ');
}
//Confirm that passwords match
if ($_POST['Password'] != $_POST['Password2']) {
die('The passwords you entered do not match. ');
}
//Encrypt the password and add slashes if needed
$_POST['Password'] = md5($_POST['Password']);
if (!get_magic_quotes_gpc()) {
$_POST['Password'] = addslashes($_POST['Password']);
$_POST['Username'] = addslashes($_POST['Username']);
}
// now we insert it into the database
$insert = "INSERT INTO people(FirstName,LastName,Username,Password) VALUES ('" . $_POST["FirstName"] . "','" . $_POST["LastName"] . "','" . $_POST["Username"] . "','" . $_POST["Password"] . "')";
$add_member = mysql_query($insert);
?>
登録済み
ありがとうございます。登録が完了しました。ログインできます。
<?php
}
else
{
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table border="0">
<tr><td>First Name:</td><td>
<input type="text" name="FirstName" maxlength="60">
</td></tr>
<tr><td>Last Name:</td><td>
<input type="text" name="LastName" maxlength="60">
</td></tr>
<tr><td>Email Address:</td><td>
<input type="text" name="Username" maxlength="60">
</td></tr>
<tr><td>Confirm Email Address:</td><td>
<input type="text" name="Username2" maxlength="60">
</td></tr>
<tr><td>Password (8 character minimum):</td><td>
<input type="password" name="Password">
</td></tr>
<tr><td>Confirm Password:</td><td>
<input type="password" name="Password2">
</td></tr>
<tr><th colspan=2>
<input type="submit" name="submit" value="Register"></th></tr> </table>
</form>
<?php
}
?>