假设我在form.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.';
}
}
现在,如果我想在result
类的form.php
的span标签中显示process.php
的输出,我要么需要使用ajax,要么会话/cookie或文件处理。还有别的办法吗?
您可以简单地将代码放在process.php
文件中form span标记内。
<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>
试试这个。它将在同一页面上发布表单值
<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.';
}
}
好的,这是一种方法:在form.php
中,
<form action="process.php" method="POST">
<input type="text" name="message">
<input type="submit" value="Submit">
</form>
<?php
$var = $_GET['text'];
echo "<span class='"result'"> $var </span>";
?>
然后在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.';
}
}
?>
使用这种方法有几个缺点:
- 变量$message通过URL传递,因此不应该太长,因为URL有长度限制
- 使用$_GET[]使消息在URL上可见,因此密码和其他敏感信息不应用作消息。