2016-06-12 17 views
1

私はPHPで新しく、あなたの助けが必要です。 最初は2つの.phpファイルを作成しました。最初のフォームにはフォームが含まれ、2番目のフォームにはメッセージが含まれていました。

提出後、同じページのメッセージにフォームを置きたいと思います。 どうすればいいですか?

<?php 
    $message=""; 
    if (isset($_POST["submitButton"])) { 
    $name= $_POST["name"]; 
    $age= $_POST["age"]; 
    $username= $_POST["username"]; 
    $message= "your name is ". $name. ",you are ".$age 
    ." and your reddit's username is ".$username; 
    } 
?> 

<html> 
    <head> 
    <meta charset="utf-8"> 
    <title>new file</title> 
    </head> 
    <body> 
    <?php echo $message; ?> 
    <form action="" method="post"> 
    <table > 
     <tr> 
     <th>name:</th> 
     <td> 
      <input type="text" name="name" > 
     </td> 
     </tr> 
     <tr> 
     <th>age:</th> 
     <td> 
      <input type="text" name="age" > 
     </td> 
     </tr> 
     <tr> 
     <th>username:</th> 
     <td> 
      <input type="text" name="username"> 
     </td> 
     </tr> 
    </table> 
    <input type="submit" value="click here for save" name="submitButton"> 
    </form> 
    </body> 
</html> 

答えて

0

条件にはformを入れてください。

<?php 
    $message= isset($_POST["submitButton"]) ? "your name is ". $_POST["name"]. ",you are ".$_POST["age"] 
    ." and your reddit's username is ".$_POST["username"] : ""; 
?> 

<html> 
    <head> 
    <meta charset="utf-8"> 
    <title>new file</title> 
    </head> 
    <body> 
    <?php if (!empty($message)) { 
     echo $message; 
    } else { ?> 
    <form action="" method="post"> 
    <table > 
     <tr> 
     <th>name:</th> 
     <td> 
      <input type="text" name="name" > 
     </td> 
     </tr> 
     <tr> 
     <th>age:</th> 
     <td> 
      <input type="text" name="age" > 
     </td> 
     </tr> 
     <tr> 
     <th>username:</th> 
     <td> 
      <input type="text" name="username"> 
     </td> 
     </tr> 
    </table> 
    <input type="submit" value="click here for save" name="submitButton"> 
    </form> 
    <?php } ?> 
    </body> 
</html> 
+0

まず、ご協力いただきありがとうございます。 別の質問がありますが、コードの長さをどのように最小限に抑えることができますか? – michael1995

+0

短いPHPコードのために、三項演算子php.net/manual/en/language.operators.comparison.phpを使って答えを更新しました。あなたがHTMLをテーブルを取り除き、いくつかのCSSでdivを使用することを意味するならば。これで問題が解決した場合は、その回答を受け入れてください。 – chris85

0

以下のコードを使用することができます。 empty()関数変数が空であるとみなされるかどうかを判定します。変数が存在しない場合、またはその値がFALSEの場合、変数は空であるとみなされます。変数が存在しない場合、empty()は警告を生成しません。

状態で使用することで問題を解決できます。

<?php 
     $message=""; 
     if (isset($_POST["submitButton"])) { 
     $name= $_POST["name"]; 
     $age= $_POST["age"]; 
     $username= $_POST["username"]; 
     $message= "your name is ". $name. ",you are ".$age 
     ." and your reddit's username is ".$username; 
     } 
    ?> 

    <html> 
     <head> 
     <meta charset="utf-8"> 
     <title>new file</title> 
     </head> 
     <body> 
     <?php 
      if (!empty($message)) { 
      echo $message; 
      }else{ 
     ?> 
     <form action="" method="post"> 
     <table > 
      <tr> 
      <th>name:</th> 
      <td> 
       <input type="text" name="name" > 
      </td> 
      </tr> 
      <tr> 
      <th>age:</th> 
      <td> 
       <input type="text" name="age" > 
      </td> 
      </tr> 
      <tr> 
      <th>username:</th> 
      <td> 
       <input type="text" name="username"> 
      </td> 
      </tr> 
     </table> 
     <input type="submit" value="click here for save" name="submitButton"> 
     </form> 
     <?php } ?> 
     </body> 
関連する問題