2016-06-12 2 views
1

Я новичок в php, поэтому мне нужна ваша помощь. Сначала я создал два файла .php. Первая включала форму, а вторая включала сообщение.

Я хочу заменить форму на сообщение на той же странице после отправки. как я это делаю?

<?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.net/manual/en/language.operators.comparison.php для более короткого PHP-кода. Если вы хотите, чтобы HTML избавился от таблиц и использовал div с некоторым CSS. Если это решит вашу проблему, примите ответ. – chris85

0

Вы можете использовать приведенные ниже коды. empty() function Определяет, считается ли переменная пустой. Переменная считается пустой, если она не существует или ее значение равно 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> 
Смежные вопросы