-2

この登録フォームを手伝ってください。PHP スクリプトにいくつかのエラーがあることは明らかです。私の HTML フォームは次のようになります。

<form action="script_1.php" method="post">
    <label for="name">Username:</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($_SESSION['username'])) {
         echo "You're already registered as" .$_SESSION[username];  // Corrected on Stack Overflow
     }

     // 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
          * trim() function.
          */

          $uname = isset($_POST['username']) ? trim($_POST['username']) : '';   // Corrected on Stack Overflow
          $email = isset($_POST['email']) ? trim($_POST['email']) : '';         // Corrected on Stack Overflow

          if(!empty($uname) && !empty($email)) {        // Corrected on Stack Overflow

              $_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, displays the HTML form
     else {

?>

<?php } ?>

入力フィールドに何かが含まれているかどうかを確認してからアクションを実行する必要があります。これらのフィールドに何も挿入されていない場合、別の機能を実行するためにも必要です。

4

3 に答える 3

0

フォームスクリプトでは、入力名を名前として持っています

これを次のように変更します。

またはscript_1.phpを変更してすべて変更

$_POST['ユーザー名']

$_POST['名前']

于 2013-05-17T01:15:05.533 に答える
0

フォームスクリプトでは、入力名を名前として持っています

<input type="text" name="name" />

これを次のように変更します。

<input type="text" name="username" />

またはscript_1.phpを変更してすべて変更

$_POST['username']

$_POST['name']
于 2013-05-17T01:18:07.353 に答える