PHP输入GET不等于PHP字符串

PHP输入GET不等于PHP字符串,php,Php,我想通过GET input加载一些页面,但当我尝试将其与if进行比较时,将不起作用 网址: 或 然后当我尝试下面的代码时 if($_GET['page']=="تست_پیج"){ ...code } 或 在任何情况下都不起作用,但是它可以很好地处理英文字符。首先,在PHP中,您不能使用一个像这样的符号来比较数据类型:if($\u GET['page']=%D8%AA%D8%B3%D8%AA_9%D9%BE%DB%8C%D8%AC”){echo'ere'} 看一看 如果您这样做,您的代码很可能

我想通过GET input加载一些页面,但当我尝试将其与if进行比较时,将不起作用

网址:

然后当我尝试下面的代码时

if($_GET['page']=="تست_پیج"){
...code
}


在任何情况下都不起作用,但是它可以很好地处理英文字符。

首先,在PHP中,您不能使用一个像这样的符号来比较数据类型:
if($\u GET['page']=%D8%AA%D8%B3%D8%AA_9%D9%BE%DB%8C%D8%AC”){echo'ere'}

看一看

如果您这样做,您的代码很可能会工作:

if($_GET['page']=="تست_پیج"){
    ...code
}

编辑

下面的代码应该可以工作,我用PHP测试了它。


var_dump($\u GET)并通过记录
$\u GET['page']
的内容来查看它在这两种情况下都包含了什么,从而查看您实际必须使用的启动。还要检查您的脚本是否使用正确的编码(UTF-8)保存当然,我们假定上面的代码不是您实际使用的代码,并且您使用
=
而不是
=
进行比较@杰卡隆可能是个慷慨的人assumption@jcaron很抱歉,这是一个输入错误,发生了两次,因为我复制并粘贴了代码。这是一个例子,在现实世界中,我使用equal operand==好吧,在这一页上写示例时有一个打字错误,我使用equal==operand。你的回答不是很好,因为在这种情况下,我会得到真实的结果,而不是错误的;为什么不将页面查询字符串更改为使用英语参数?或者你可以看看:或者当我用GET通过html发送表单时,我没有问题,而且工作正常。但当我在url中手动输入值时,就不起作用了。然而,使用urlencode可以解决这个问题,但是当我想签入if语句时,我必须使用$\u GET['page']=%D8%AA%D8%B3%D8%AA\uU9%BE%DB%8C%D8%AC”
if($_GET['page']=="تست_پیج"){
...code
}
if($_GET['page']=="%D8%AA%D8%B3%D8%AA_%D9%BE%DB%8C%D8%AC"){
...code
}
if($_GET['page']=="تست_پیج"){
    ...code
}
if($_GET['page']==="تست_پیج"){
    ...code
}
if($_GET['page']=="%D8%AA%D8%B3%D8%AA_%D9%BE%DB%8C%D8%AC"){
...code
}