查找PHP中缺少GET变量的原因
如何将URL中的变量添加到PHP中的下一页? 用户位于URL查找PHP中缺少GET变量的原因,php,url,get,Php,Url,Get,如何将URL中的变量添加到PHP中的下一页? 用户位于URL http://localhost/codes/index.php?ask_question&email=masi@gmail.com&passhash_md5=202cb962ac59075b964b07152d234b70 他发送了一个问题,然后转到下面的url,其中变量由于未知原因丢失了它们的值 http://localhost/codes/index.php?question_sent&email=&
http://localhost/codes/index.php?ask_question&email=masi@gmail.com&passhash_md5=202cb962ac59075b964b07152d234b70
他发送了一个问题,然后转到下面的url,其中变量由于未知原因丢失了它们的值
http://localhost/codes/index.php?question_sent&email=&passhash_md5=
下面的代码是handle_a_new_question.php的代码
您看到代码中有错误吗?在创建标题之前,请打印您的$\u GET并检查变量是否为空:
print_r($_GET);
或者试试看
$_REQUEST['email']
而不是
$_GET['email']
哦!!别忘了加上
exit();
之后:
header($header);
如果您在没有有效的$result时执行某些操作,例如:
if(isset($result)) {
$header = ("Location: /codes/index.php?"
. "question_sent"
. "&"
. "email="
. $_GET['email'] // this seems to be correct to me
. "&"
. "passhash_md5="
. $_GET['passhash_md5'] // this seems to be correct to me too
);
header($header);
}
sendEmailToMe('FAILED!!');
即使$result有效,也可能会执行“sendmailtome('FAILED!!')。在创建标头之前,打印$\u GET并检查变量是否为空:
print_r($_GET);
或者试试看
$_REQUEST['email']
而不是
$_GET['email']
哦!!别忘了加上
exit();
之后:
header($header);
如果您在没有有效的$result时执行某些操作,例如:
if(isset($result)) {
$header = ("Location: /codes/index.php?"
. "question_sent"
. "&"
. "email="
. $_GET['email'] // this seems to be correct to me
. "&"
. "passhash_md5="
. $_GET['passhash_md5'] // this seems to be correct to me too
);
header($header);
}
sendEmailToMe('FAILED!!');
即使$result有效,也可能执行“sendEmailToMe('FAILED!!')。请确保数据是通过邮寄发送的。因此可以像这样检索:
$\u POST['email']
顺便说一句:
确保数据是邮寄的。因此可以像这样检索:
$\u POST['email']
顺便说一句:
表单代码是什么样子的?问题出在引导您进入问题发送页面的页面上,而不是问题发送页面本身 您是在隐藏字段中传递这些变量,还是在表单的操作中传递这些变量,例如
<form method="post" action="index.php?question_sent&email=<?php echo $_GET['email']?>&passhash_md5=<?php echo $_GET['passhash_md5']?>">
表单代码是什么样子的?问题出在引导您进入问题发送页面的页面上,而不是问题发送页面本身
您是在隐藏字段中传递这些变量,还是在表单的操作中传递这些变量,例如
<form method="post" action="index.php?question_sent&email=<?php echo $_GET['email']?>&passhash_md5=<?php echo $_GET['passhash_md5']?>">
尝试使用会话处理程序代替GET变量。在我看来,它确实为代码添加了一些击键,但却为您节省了很多headeache。尝试使用会话处理程序代替GET变量。在我看来,它确实为代码添加了一些击键,但却为您节省了很多人头费。我不理解第(1)点,因为代码使用了pg_prepare即prepared语句。这将清理数据。-我是新手,请随意评论。-(2) :当我的代码开始工作时,我会的。您需要在头()callI中使用$\u get变量之前对它们进行HTTP/URL清理。我不理解第(1)点,因为代码使用pg\u prepare is prepared语句。这将清理数据。-我是新手,请随意评论。-(2) :当我的代码开始工作时,我会的。在头()callI中使用$\u get变量之前,您需要对它们进行HTTP/URL清理。我从未使用过命令exit()代码>之前。我把它放在我的处理程序的末尾,它使我的页面无法工作。它只在handle_a_new_question.php文件中不会引起任何冲突。如何让php向您发送电子邮件?我运行邮件失败(mais@gmail.com,富,富)代码>打印$请求数组:打印($请求);试着在PHP的第一行打印它,如果你用get params没有得到任何你没有要求的东西。用PHP发送电子邮件:我从来没有使用过命令exit()代码>之前。我把它放在我的处理程序的末尾,它使我的页面无法工作。它只在handle_a_new_question.php文件中不会引起任何冲突。如何让php向您发送电子邮件?我运行邮件失败(mais@gmail.com,富,富)代码>打印$请求数组:打印($请求);试着在PHP的第一行打印它,如果你用get params没有得到任何你没有要求的东西。用PHP发送电子邮件:这是格式代码:我不使用隐藏变量。你可能应该使用隐藏变量。必须使用这三种方法之一将email和passhash_md5变量传递给下一个脚本,以确保正确性:1。使用cookies 2。使用表3中的隐藏变量。在表单本身的action属性中,为了测试像这样的东西,您应该将if(isset($result))块中的$\u GET替换为$\u请求。这将在$\u POST、$\u GET和$\u COOKIE中查找变量。但是就像我说的,如果你不在这些数组中传递表单中的变量,你将无法访问data@Neil:如何访问表单中的隐藏变量?这是表单代码:我不使用隐藏变量。您可能应该使用隐藏变量。必须使用这三种方法之一将email和passhash_md5变量传递给下一个脚本,以确保正确性:1。使用cookies 2。使用表3中的隐藏变量。在表单本身的action属性中,为了测试像这样的东西,您应该将if(isset($result))块中的$\u GET替换为$\u请求。这将在$\u POST、$\u GET和$\u COOKIE中查找变量。但是就像我说的,如果你不在这些数组中传递表单中的变量,你将无法访问data@Neil:如何访问表单中的隐藏变量?如果使用会话处理程序,则无需清理$\u GET中的数据。嗯-我需要研究一下。如果我使用会话处理程序,我不需要在$\u GET中清理我的数据。嗯,我需要研究一下。