Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.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通过位置名传递变量_Php_Html_Post_Session Variables - Fatal编程技术网

PHP通过位置名传递变量

PHP通过位置名传递变量,php,html,post,session-variables,Php,Html,Post,Session Variables,我在工作中继承了这个网站,它是用php5、html4和javascript编写的。他们将变量从一个页面传递到另一个页面的方式如下: filename.php?variable=value&secondvariable=secondvalue 所以当我提交一份我见过的表格时 <form method="post" name="auth" action="login.php?logon=logon"> 也许我对这个问题看得太简单了,但是你不能通过邮寄的方式来传递这个方法 &l

我在工作中继承了这个网站,它是用php5、html4和javascript编写的。他们将变量从一个页面传递到另一个页面的方式如下:

filename.php?variable=value&secondvariable=secondvalue
所以当我提交一份我见过的表格时

<form method="post" name="auth" action="login.php?logon=logon">

也许我对这个问题看得太简单了,但是你不能通过邮寄的方式来传递这个方法

<form method="post" name="auth" action="login.php">
<input type="hidden" name="logon" value="logon">
或者,在login.php中使用

$logon = $_GET['logon'];
仍然可以工作

使用PHP的提取函数将变量从数组导入到当前符号表中

extract($_POST);
extract($_GET);
文件:

如下重写以调试和显示所有变量的值:

if (!empty($_POST)) { // this line was previously if ($logon === "logon"){
    // only reaches here on a post request, i.e. form is submitted

    die(print_r($_REQUEST)); // will show all $_POST, $_GET, and $_COOKIE values that currently are set ---> see http://php.net/manual/en/reserved.variables.request.php


}
确认密钥登录确实存在后,通过将上面die语句中的$\请求更改为$\ GET或$\ POST,查看它是否存在于$\ GET或$\ POST数组中


这些可能会给你一些线索,告诉你正在发生什么。

也许……请展示一些你的php代码哦,伙计,遗留代码,趁你还可以的时候运行吧!你到底想看什么?我可以给出更多的例子。在login.php中处理Post请求的地方发布一个代码块,特别是处理“logon”的部分。这是我在几个案例中使用的解决方法,但不能在所有案例中使用,也不能解决根本问题。$\u GET['var']应该从URL中检索任何变量,因此了解为什么这对您来说是一个问题将是一件有趣的事情,例如?这很有效!非常感谢。我仍然不知道为什么旧方法会起作用,但将这些添加到login.php的行中正好满足了我的需要。这对于将来的调试也非常有用。谢谢。当然,很高兴我能帮上忙。
extract($_POST);
extract($_GET);
if (!empty($_POST)) { // this line was previously if ($logon === "logon"){
    // only reaches here on a post request, i.e. form is submitted

    die(print_r($_REQUEST)); // will show all $_POST, $_GET, and $_COOKIE values that currently are set ---> see http://php.net/manual/en/reserved.variables.request.php


}