手伝ってくれませんか。私は PHP の初心者で、まだ言語の基礎を学んでいます。現在、セッションの作成方法を学んでいます。本の例の 1 つを試してみると、どうやらバグがあるようです。HTML フォームは次のようになります。
<form action="session_registration_form_script.php" method="post">
<label for="name">Name:</label>
<input type="text" name="name" />
<label for="email">Email:</label>
<input type="text" name="email" />
<input type="submit" value="Register" />
</form>
そしてPHPスクリプトは次のようなものです:
<?php
// Initialize session data
session_start();
/*
* If the user is already registered, display a
* message letting them know.
*/
if(isset($_SERVER['username'])) {
echo "You're already registered as $_SESSION[username]";
}
// Checks if the form was submitted
else if($_SERVER['REQUEST_METHOD'] == 'POST') {
/*
* If both the username and email fields were filled
* out, save the username in a session variable and
* output a thank you message to the browser. To
* eliminate leading and trailing whitespace, we use the
* trim() function
*/
if(!empty(trim($_POST['username']))
&& !empty(trim($_POST['email']))) {
// Store escaped $_POST values in variables
$uname = htmlentities($_POST['username']);
$email = htmlentities($_POST['email']);
$_SESSION['username'] = $uname;
echo "Thanks for registering! <br />",
"Username: $uname <br />",
"Email: $email <br />";
}
/*
* If the user did not fill out both fields, display
* a message letting them know that both fields are
* required for registration
*/
else {
echo "Please fill out both fields! <br />";
}
}
// If the form was not submitted, dispalys the HTML form
else {
?>
<?php } ?>
両方のファイルをブラウザーに出力すると、ブラウザーは次のように報告します。致命的なエラー: 'ファイルのパス' とコードの行の書き込みコンテキストで関数値を使用できません。
これを修正して助けてください。私にとって役立つと思われるものを自由に追加してください。前もって感謝します...