2015-09-02 22 views
0

可以说我有这个表格form.php文件。如何在不使用ajax的情况下在php页面中显示php表单结果?

<form action="process.php" method="POST"> 
<input type="text" name="message"> 
<input type="submit" value="Submit"> 
</form> 
<span class="result"></span> 

process.php包含

<?php 
if(isset($_POST['message'])){ 
    $message = $_POST['message']; 
    if(!empty($message)){ 
    echo 'Your message: '.$message; 
    }else{ 
    echo 'Please enter some message.'; 
    } 
} 

现在,如果我想显示的process.phpresult类的form.php的span标记内输出我要么需要使用AJAX,或会话/ Cookie或文件处理。有没有其他方法?

回答

0

试试这个。它将发布形式值相同的页面

<form action="form.php" method="POST"> 
<input type="text" name="message"> 
<input type="submit" value="Submit"> 
</form> 
<span class="result"></span> 

<?php 
if(isset($_POST['message'])){ 
    $message = $_POST['message']; 
    if(!empty($message)){ 
    echo 'Your message: '.$message; 
    }else{ 
    echo 'Please enter some message.'; 
    } 
} 
+0

它使html和php处理在同一页面,我不寻找 –

1

您可以简单地将代码中process.php文件中的形式跨越标签。

<form action="form.php" method="POST"> 
<input type="text" name="message"> 
<input type="submit" value="Submit"> 
</form> 
<span class="result"> 
<?php 
    if(isset($_POST['message'])) 
    { 
     $message = $_POST['message']; 
     if(!empty($message)) 
     { 
      echo 'Your message: '.$message; 
     } 
     else 
     { 
      echo 'Please enter some message.'; 
     } 
    } 
?> 
</span> 
+0

我的表单和php处理应该在两个不同的文件 –

0

好了,这是做这件事的一种方法:在form.php

然后在process.php做到这一点:

<?php 
    if(isset($_POST['message'])){ 
    $message = $_POST['message']; 
     if(!empty($message)){ 
     // echo 'Your message: '.$message; 
     header("location: form.php?text=$message") 
     }else{ 
     echo 'Please enter some message.'; 
     } 
} 
?> 

没有使用此方法的一些缺点:

  1. 变量$ message是p通过URL进行过滤,所以不应该太长,因为URL有长度限制
  2. 使用$ _GET []使URL在URL上可见,因此不应将密码和其他敏感信息用作邮件。

我希望这会有所帮助。

相关问题