http://patti-bee2.dcccd.edu/coleman/wonder%20penguin/php/register.php
フォームがどのように機能するかは次のとおりです。これまでにサイトを訪れたことのない人のためにスティッキー タグを使用し、いくつかのデフォルト値を与えることになっています。また、フォームを送信すると、ページで検証され、問題がある場合は更新され、すべてが正しい場合は、結果が表示された別のページにリダイレクトされるはずです。(100%自分なので付ける必要のない部分は問題ありません。)
何が悪いと思いますか?先生のコードに近づけました。
コードを送信するときに私が行うことは、ページが点滅してから戻ることだけです。
<?php
ob_start();
if (isset($_POST['submit'])) {
$valid = true;
$validate = true;
$username = trim($_REQUEST['username']);
$email = trim($_REQUEST['email']);
$password = trim($_REQUEST['password']);
}
else
{
$username = "";
$email = "";
$password = "";
$valid = false;
$validate = false;
}
?>
<html>
<body>
<form method="post" action="register.php">
<label for="username"> Username </label><input type="text" name="username" id="username"
value="<?php echo $username ?>">
<?php if ($validate) {
if (empty($username)) {
echo "<p> There must be a username! </p>";
$valid = false;
}
if (strlen($username) > 15) {
echo "<p> This username is too long! It must be 8-15 characters long! </p>";
$valid = false;
}
if (strlen($username) < 8) {
echo "<p> This username is too short! It must be 8-15 characters long! </p>";
$valid = false;
}
}
?>
<label for="email">E-Mail </label><input type="email" name="email" id="email"
value="<?php echo $email ?>">
<?php if ($validate) {
if (empty($email)) {
echo "<p> We need an email! </p>";
$valid = false;
}
}
?>
<label for="password">Password </label><input type="text" name="password" id="password"
value="<?php echo $password ?>">
<?php if ($validate) {
if (empty($password)) {
echo "<p> We need a password! </p>";
$valid = false;
}
}
?>
<input type="submit" value="Register!" />
</form>
<?php
if ($valid) {
require_once 'config/connection.php';
$query = "INSERT INTO user (username, email, password) values ( $username, $email, $password);";
$result = mysql_query($query, $dbConn);
if ($result) {
$userid = mysql_insert_id();
header("Location:success.php?userid=$userid");
ob_end_clean();
exit();
} else {
echo "<p> Unable to Update Database! </p>";
}
}
ob_end_flush();
?>
</body>
</html>