是否有可能停止php循环在while或等待用户输入来继续循环?如何停止在PHP循环,并等待用户输入来继续循环?
例如,我循环5次单个表单。 我希望每个形式一一呈现我提交表单后,而不是所有5种形式一起出现
所有的建议是高度赞赏.. :)
是否有可能停止php循环在while或等待用户输入来继续循环?如何停止在PHP循环,并等待用户输入来继续循环?
例如,我循环5次单个表单。 我希望每个形式一一呈现我提交表单后,而不是所有5种形式一起出现
所有的建议是高度赞赏.. :)
这可能是这个样子:
(这里我使用会话,所以我可以每次显示每一个形式,如果他们提交一次)
<?php
session_start();
if(isset($_POST['submit1']) && !empty($_POST['test1']))
$_SESSION['form2'] = TRUE;
if(isset($_POST['submit2']) && !empty($_POST['test2']))
$_SESSION['form3'] = TRUE;
echo '
form1:
<form action="" method="post">
<input type="text" name="test1">
<input type="submit" name="submit1" value="submit">
</form>
';
if(isset($_SESSION['form2']) && $_SESSION['form2']) {
echo '
form2:
<form action="" method="post">
<input type="text" name="test2">
<input type="submit" name="submit2" value="submit">
</form>
';
}
if(isset($_SESSION['form3']) && $_SESSION['form3']) {
echo '
form3:
<form action="" method="post">
<input type="text" name="test3">
<input type="submit" name="submit3" value="submit">
</form>
';
}
?>
PHP是在服务器上执行的,所以你在你的浏览器窗口看到的是脚本的输出,被执行了很久以前。这意味着不会干扰while
回路
但是,您的问题有一个解决方案。 首先是基于if-statements
输出和
<?php
session_start();
// determine which form to display
if ($_REQUEST["form1"]) {
$_SESSION["form"] = 1;
}
elseif($_REQUEST["form2"]) {
$_SESSION["form"] = 2;
}
elseif($_REQUEST["form3"]) {
$_SESSION["form"] = 3;
}
if($_SESSION["form"] >= 1) {
echo ' Form 1 output ';
}
if($_SESSION["form"] >= 2) {
echo ' Form 2 output ';
}
if($_SESSION["form"] >= 3) {
echo ' Form 3 output ';
}
?>
其次可能是利用jQuery的形式会话ID的
<head>
<script>
$(document).ready(function() {
$("#form1").submit(function(event) {
// prevent default submitting and display the next form
});
$("#form2").submit(function(event) {
// prevent default submitting and display the next form
});
// and so on
});
</script>
</head>
您可以使用isset检查前面的表格,提交 – Rizier123
与@ Rizier123同意。您可以检查以前的表单是否已提交。您可以使用javaScript来检查它。 – shuvrow