[英]can a POST file handle multiple requests?
我有一个处理所有POST请求的文件user_submit.php。 我正在做的是我正在通过jQuery POST方法发送小整数值。 这些整数值一次发送一次,大约10次。
我想做的是我想将所有这些值加起来,并在最后一步之后提供最终结果。
所以我在做:
$score = intval($_POST['score']);
$total = $total+$score;
echo $total;
但它无法将所有值加起来。 我发送第二个值后,文件便会忘记第一个值。 我的意思是第一个值不会存储在$ total中供第二个请求使用。
我该怎么办?
之所以存在此问题,是因为您对PHP(以及其他基于Web的语言)的整体工作方式有错误的理解。
完成每个PHP请求后,将关闭应用程序,将杀死所有变量,依此类推。因此,每当您的POST请求完成时,都会重置$total
变量。
为了解决此限制,PHP具有会话处理机制,该机制允许您在会话范围内存储变量,从而将变量保留在请求之间,但允许为每个用户唯一地设置变量。
我建议您进行修改,使其使用内置的PHP 会话处理机制 :
<?php
$score = intval($_POST['score']);
$_SESSION['total'] = isset($_SESSION['total']) ? $_SESSION['total']+$score : $score;
echo $_SESSION['total];
您可以在PHP手册中找到会话变量用法的更多示例。
您将需要将$total
存储在php端的$_SESSION
变量中,否则将在每次请求时重新创建它。
或者,您可以通过ajax传递分数和当前总数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.