Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当用户点击post时,为什么变量会在它应该改变之前改变?_Php - Fatal编程技术网

Php 当用户点击post时,为什么变量会在它应该改变之前改变?

Php 当用户点击post时,为什么变量会在它应该改变之前改变?,php,Php,我有一个变量,当用户单击post时,它似乎会改变。我读过那篇文章,GET应该位于php页面的顶部,但我不能这样做,因为我需要来自DirecortyTreediator的变量来处理这篇文章。因此directorytreeiterator在POST之前,按钮也在POST之前,但仅此而已 发生的情况是,当用户单击post时,它应该使用变量来执行mysql语句。但是通过检查,当用户点击按钮并启动post时,在启动语句之前,变量被设置为以下页面的值。我原以为帖子里的脚本会在新页面加载之前执行,但我看到的不

我有一个变量,当用户单击post时,它似乎会改变。我读过那篇文章,GET应该位于php页面的顶部,但我不能这样做,因为我需要来自DirecortyTreediator的变量来处理这篇文章。因此directorytreeiterator在POST之前,按钮也在POST之前,但仅此而已

发生的情况是,当用户单击post时,它应该使用变量来执行mysql语句。但是通过检查,当用户点击按钮并启动post时,在启动语句之前,变量被设置为以下页面的值。我原以为帖子里的脚本会在新页面加载之前执行,但我看到的不是这个。以下是代码,按从上到下的顺序排列:

<button type="submit" form="form1" name="atoz" value="atoz">A to Z</button>

echo $var; //at this stage $var = images
if(isset($_POST['atoz'])) 
{
$sort_by = "atoz" ; 
echo $var; //at this stage $var seems to be a value of another directory that is expected only after page reloads
$sort = 1;
$stmt = $mysqli->prepare("UPDATE ".$tablename." SET sort_by=? WHERE sort=? AND sort_folder=? ") ;
$stmt->bind_param(" sis", $sort_by, $sort, $var) ;
$stmt->execute() ;
$stmt->close() ;
echo "<meta http-equiv='refresh' content='0'>" ; //loads new page where the $var should change to another directory
    } 
A到Z
echo$var//在此阶段,$var=images
如果(isset($_POST['atoz']))
{
$sort_by=“atoz”;
echo$var;//在这个阶段,$var似乎是另一个目录的值,只有在页面重新加载之后才需要它
$sort=1;
$stmt=$mysqli->prepare(“更新“$tablename.”设置排序依据=?其中排序=?和排序文件夹=?”;
$stmt->bind_参数(“sis”、$sort_by、$sort、$var);
$stmt->execute();
$stmt->close();
echo”“;//加载$var应更改为其他目录的新页面
} 
因此$var应该有一个“images”值,但是当用户通过一些测试点击post时,该值似乎是它在下一个页面上的值,下一个页面是另一个目录(加载http equiv时,该页面会重新加载默认页面)。但这似乎不符合规定


另外,当我将$var设置为post括号内的“images”时,它也可以工作。这意味着我的sql语句工作得很好。为什么在执行更改变量的代码之前,变量会发生这样的更改?为你的帮助干杯

提交后,$var更改为什么?当按钮提交时,它将变量更改为im请求的值,并更改为页面加载时最初设置的值。该代码是一个目录结构,因此,当该代码执行时,它将显示名为images的文件夹中的内容。但是$var似乎更改为在原始页面加载上设置的值,即名为“folder”的初始文件夹。