提交表单后,我的页面将重定向到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!';
}
?>
答案 0 :(得分:4)
您无法在同一页面上执行此操作 - 至少在没有异步客户端 - 服务器通信技术(如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']包含对当前请求页面的引用,因此即使重命名也始终设置为正确的页面。这可以节省您跟踪错误的时间。
答案 1 :(得分:4)
我猜你可以使用<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>
答案 2 :(得分:2)
<?php
if(isset($_POST['1'])){
echo ($_POST['1'] == 'YES') ? 'Good!!!' : 'Try Again!';
}
?>
<!-- your HTML goes here -->
您可以在同一页面上组合HTML和PHP。
答案 3 :(得分: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;
?>
答案 4 :(得分:0)
您可以将操作设置为同一页面,例如:
如果我正在处理名为index.php的文件
这将是我的表格:
<form action="index.php" method="post">
<input type="text" name="Example" placeholder="Enter Text">