Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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 治疗及护理;使用$\u GET作为普通字符_Php - Fatal编程技术网

Php 治疗及护理;使用$\u GET作为普通字符

Php 治疗及护理;使用$\u GET作为普通字符,php,Php,我有一个通过PHP将内容发布到MySQL数据库的应用程序。PHP使用$\u GET从URL中提取内容,然后将其插入数据库 这很有效,但我发现了一个问题。如果用户输入某些字符(“、&”和其他字符),则$\u GET方法无法正确地将内容与URL分开 假设用户发布此内容: 我喜欢蓝色和绿色 在这种情况下,&符号将剪切单词blue后面的字符串 有没有什么方法可以让我编辑我的PHP文件来忽略&symbol,并将其作为它应该得到的变量的一部分?有什么帮助就好了!您可以使用$\u服务器['QUERY\u ST

我有一个通过PHP将内容发布到MySQL数据库的应用程序。PHP使用$\u GET从URL中提取内容,然后将其插入数据库

这很有效,但我发现了一个问题。如果用户输入某些字符(“、&”和其他字符),则$\u GET方法无法正确地将内容与URL分开

假设用户发布此内容: 我喜欢蓝色和绿色

在这种情况下,&符号将剪切单词blue后面的字符串


有没有什么方法可以让我编辑我的PHP文件来忽略&symbol,并将其作为它应该得到的变量的一部分?有什么帮助就好了!

您可以使用
$\u服务器['QUERY\u STRING']


可以将请求作为base64编码字符串发送:

$string = base64_encode("This is my long string with &ampersands and 'quotes'");
print base64_decode($string);
请注意,base64编码的数据比原始数据占用大约33%的空间

从手册中:


您还可以在将数据发送到PHP之前对其进行URL编码。这是一个更好的解决方案。
如果特殊字符在数据中,则不能在查询字符串中使用这些字符


在Javascript中,您可以使用
escape
函数:
escape(&ee)
将给出
%26ee
正确的方法是由客户端对“&”字符进行URL编码:传递“%26”而不是“&”

尝试对字符串进行URL编码:

&
变成

%26
这是一个PHP函数:

在创建查询字符串之前,如何对其进行编码

$str = "I love blue & green ?=&˙Đ[]";
$str = urlencode($str);
echo $str;
将返回:

I%20love%20blue%20%26%20green%20%3F%3D%26%CB%99%C4%90%5B%5D
在将该字符串作为GET参数传递之前,必须对其进行修改。在这种特殊情况下,必须将&符号替换为%26


例如,可以在发送表单之前使用javascript来完成此操作。

在完成后修复损坏是一个丑陋且不可靠的解决方法。难道你不能生成一个有效的URL吗?这很好,但帖子位于应用商店的移动应用程序中……因此,在下一次iOS更新之前,我需要找到一个快速修复方法……我可以执行紧急操作y更新,但我更希望现在就进行修补。在紧急情况下,您可以使用PHP中的regexp来执行此操作。谢谢@AlexKevler,我会尝试一下,如果遇到任何问题,我会更新我的问题!目前我只需要一个紧急修补程序,但我需要它:user2492064(&[a-zA-Z0-9]+)=([a-zA-Z0-9]+&))+:这只是一个开始,但不能保证:)谢谢,看起来这可能是唯一一个不需要更新iOS应用程序的解决方案-我会尝试处理它,并让您知道它是如何运行的。。