我在使用PHP时遇到基本问题。我想通过表单请求输入许多数据:
do{
if (isset($_POST['x'])&&($_POST['y'])){
$x = $_POST['x'];
$y = $_POST['y'];
//núclero de processamento
if ($x > 0 && $y > 0){
echo "$x $y primeiro quadrante";
} elseif ($x > 0 && $y < 0){
echo "$x $y segundo quadrante";
} elseif ($x < 0 && $y < 0){
echo "$x $y terceiro quadrante";
} elseif ($x < 0 && $y > 0){
echo "$x $y quarto quadrante";
}
}
} while($x && $y != 0);
在这种情况下,我必须使用循环,但这是必须的,我必须在表单上输入不确定的坐标,并且每当我输入0时,它都应该中断循环并处理数据,以打印出每个数据的结果。但是它只处理一个表单,重新加载页面并永远循环。我想念什么?
答案 0 :(得分:1)
如果您执行一次php脚本是一次性的,那么所有代码都将被执行,用户将不会停止或互动。在您的情况下,循环永远不会停止,因为您要在执行后立即更改该值(这是不可能的)。如果您想使用php在shell上创建一个交互式应用程序,则这里是官方文档http://php.net/manual/en/features.commandline.interactive.php。
希望有帮助。
答案 1 :(得分:1)
Web和HTTP不能那样工作,您不能连续输入数据,请等待一段时间然后再输入更多内容。相反,它就像htis:
如希望的那样,在此过程中没有互动的时刻。对Web服务器的请求包含一个时间点。否则,稍后您将对服务器上的同一段代码提出新的/单独的/不同的请求。但是代码并不会记住上一次运行的任何信息(除非您专门添加代码以将有关每个请求的信息保存在某个地方,但这是另外一场比赛。)。
您需要在此处进行的交互是
之一答案 2 :(得分:0)
如果要使用网站来完成此操作,则需要一个表格,用户可以在其中输入值,然后在插入数据时,用户必须提交此表格。现在,您可以检查输入(例如,使用输入或检查是否插入了0)。现在,您可以显示结果数据和表单以输入下一个数据。如果要使用用户提交下一份表单时使用的数据,则需要将这些值存储在服务器上(例如,数据库中)或网站内部(例如,使用隐藏的html字段)。 / p>
答案 3 :(得分:0)
将if语句放在循环之外
if (isset($_POST['x']) && isset($_POST['y'])){
$x = $_POST['x'];
$y = $_POST['y'];
do{
//núclero de processamento
if ($x > 0 && $y > 0){
echo "$x $y primeiro quadrante";
} elseif ($x > 0 && $y < 0){
echo "$x $y segundo quadrante";
} elseif ($x < 0 && $y < 0){
echo "$x $y terceiro quadrante";
} elseif ($x < 0 && $y > 0){
echo "$x $y quarto quadrante";
}
} while($x && $y != 0);
}