3

提交表单后,我的页面被重定向到 PHP 并显示回显。如何在不重定向到 PHP 页面的情况下显示回显?所以回显应该显示在html页面中(html表单所在的位置)。

<form method="post" action="../form.php">
<input type="submit" name="1" value="YES" />
<input type="submit" name="1" value="NO" />
</form>

-

<?php 
$answer = $_POST['1'];  
if ($answer == "YES") {          
    echo 'Good!!!';      
}
else {
    echo 'Try Again!';
} 
?>
4

5 回答 5

6

我想你可以结合使用<iframe>和 javascript 来获得结果。

<form method="post" action="submit.php" target="myIframe" >
    <input type="submit" name="1" value="YES" />
    <input type="submit" name="1" value="NO" />
</form>

<iframe name="myIframe">
</iframe>
于 2013-01-17T18:52:37.467 回答
5

您不能在同一个页面上执行此操作 - 至少在没有异步客户端-服务器通信技术(如 AJAX)的情况下不能。否则,您可以使用以下内容:

<form action="<?php echo $_SERVER['PHP_SELF']; ? method=....>"

作为您的表单开始标记,然后将 PHP 处理代码放在文档顶部,如下所示:

<?php
  if(isset($_POST['form_field_name'])){
       //process your data here
?>

HTML in case of Form filled in goes here

<?php
}else{
?>

HTML in case of Form not filled in goes here

<?php
  }
?>

HTML in any case goes here

通过这种方式,您可以根据表单是否填写来更改页面的布局。$_SERVER['PHP_SELF'] 包含对当前请求页面的引用,因此即使它被重命名也总是设置为正确的页面。这可以节省您跟踪错误的时间。

于 2013-01-17T18:48:13.257 回答
2
<?php

if(isset($_POST['1'])){
    echo ($_POST['1'] == 'YES') ? 'Good!!!' : 'Try Again!';
}

?>

<!-- your HTML goes here -->

您可以在同一页面上组合 HTML 和 PHP。

于 2013-01-17T18:41:44.820 回答
0

<html>
<body>
<form method="post" action="">
<input type="text" maxlength="30" name="nm">
<input type="email" maxlength="30"  name="em"><br>
<input type="checkbox" name="chkbox1" value="male">Male
<input type="checkbox" name="chkbox2" value="male">Male
<input type="checkbox" name="chkbox3" value="male">Male
<input type="checkbox" name="chkbox4" value="male">Male
<input type="checkbox" name="chkbox5" value="male">Male
<input type="Submit" name="submit">
</form>
</body>
</html>
<?php
if(isset($_POST['submit']))
{
echo "Welcome :".$_POST['nm']."<br>";
echo "Your email Address is: ".$_POST['em']."<br>";
}
$count=0;
if(isset($_POST['chkbox1']))
$count++;
if(isset($_POST['chkbox2']))
$count++;
if(isset($_POST['chkbox3']))
$count++;
if(isset($_POST['chkbox4']))
$count++;
if(isset($_POST['chkbox5']))
$count++;
echo" Number of checkboxes ticked are:".$count;
?>

于 2016-04-08T11:34:53.113 回答
0

您可以将操作设置为同一页面,例如:

如果我正在处理一个名为 index.php 的文件

这将是我的形式:

<form action="index.php" method="post">
   <input type="text" name="Example" placeholder="Enter Text">
于 2017-11-24T02:20:56.480 回答