是否有可能停止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