我有一个使用PHP并连接MySQL数据库的网站。我还有一个admindashboard用于控制用户使用我编写的PHP脚本中的一些功能。
<a href="../loginUser2.php?userName=<?php echo $SQLRow["userid"];?>" target="_blank" class="a">Records</a>
此代码在使用用户名
完成时会生成这样的登录URL链接mydomain.com/loginUser2.php?userName=abc&xyz
在mysql from table中输入用户名abc&amp; xyz或任何用户。当我点击任何用户的链接然后用户在PHP的帮助下自动登录时,一切都很好。但是当在任何用户名中使用符号或特殊字符LIKE目前我在“&amp;”中有问题符号。当我用自己和网页浏览器编辑网址时,我手动输入链接替换&amp; %26链接工作和用户登录成功。我只是想知道如何在MySQL数据库中注册用户如何包含任何特殊字符符号,如&amp;或者等等我如何修复Web浏览器工作自动处理这种类型的符号和字符。
我在phpMyAdmin编辑用户名栏中尝试了一个愚蠢的事情并更新了像这样的用户名abc%26xyz我想当我更新时它的作品就像&amp; =%26但是我失败了。
答案 0 :(得分:-1)
您可以使用urlencode()
发送特殊字符,urldecode()
来获取编码值。
<a href="../loginUser2.php?userName=<?php echo urlencode($SQLRow["userid"]);?>" target="_blank" class="a">Records</a>
urldecode($_GET['userName']);
答案 1 :(得分:-1)
当您在浏览器中点击网址时,浏览器会进行网址编码。哪个转换&#39;&#39;至&#39;%26&#39;。所以在你的loginUser2.php中只需输入&#39; urldecode()&#39; ,您接受get参数值的位置。它将再次解码您的价值来自&#39; abc%26xyz&#39;到&#39; abc&amp; xyz&#39;
试试这个:
urldecode($_GET['userName']);