我收到以下错误:
Notice: Undefined index: test
参考这一行:
$token = htmlspecialchars($_GET["test"]);
我是否需要在某处定义test
,即使我尝试从网址读取它?
-
- 编辑 -
在发布此内容之前,我实际上已查看链接为重复的答案,但无法查看与使用htmlspecialchars
相关的任何内容,我认为这会导致问题。
答案 0 :(得分:2)
您的变量不存在。使用isset来检查
if(isset($_GET["test"]))
$token = htmlspecialchars($_GET["test"]);
else
echo "variable test doesn't exist";
答案 1 :(得分:2)
您必须在脚本运行之前使用以下行启用错误报告
4313
然后在使用php
中的isset()函数之前检查变量是否存在server {
listen 80;
server_name 127.0.0.1 localhost;
location = /index.html {
root /etc/nginx/html/app1;
index index.html;
}
location / {
root /etc/nginx/html/app1;
index index.html;
}
location /common/ {
root /etc/nginx/html/common;
}
}
答案 2 :(得分:1)
在$_GET["test"]
应用htmlspecialchars
之前检查null
是否存在。如果未设置$_GET["test"]
,则会将令牌值设置为$token = isset($_GET["test"]) ? htmlspecialchars($_GET["test"]) : null;
。
name
答案 3 :(得分:1)
您没有在GET请求中提供测试变量,因此它显示此错误。 尝试使用Gravy建议的代码。虽然如果在URL中没有收到测试,这将使令牌为null。 IF令牌是接收它们的强制性要求,您可以执行类似
的操作if(isset($_GET['test'])) {
$token = htmlspecialchars($_GET["test"]);
}else{
// do stuff when you dont get test. Return or output error etc.
}
答案 4 :(得分:1)
正如你所提到的,要从网址上阅读..它并不保证你的页面是通过get获取的,也可能是post ..要同时使用
$token = htmlspecialchars($_REQUEST["test"]);
答案 5 :(得分:1)
$ token = htmlspecialchars(@ $ _ GET [“test”]);
使用@忽略通知错误