【问题标题】:Receiving "syntax error, unexpected '<'" in PHP在 PHP 中收到“语法错误,意外的 '<'”
【发布时间】:2013-07-09 21:12:36
【问题描述】:

这是我的脚本:

function Secu($variable)

{
$variable = mysql_real_escape_string(htmlspecialchars(stripslashes(nl2br(trim($variable)))));
return $variable;
}
function Redi($lien)
{
echo <script type="text/javascript">document.location.href=\.$lien.='/index.php';</script>  ;
function PassHash($mdp_hashed)
{
$mdp_hashed = Secu(md5($mdp_hashed));
return $mdp_hashed;
}
if (isset($_SESSION['username']))
$pseudo = Secu($_SESSION['username']);
$sql_user = mysql_query("SELECT * FROM users WHERE username = ".$pseudo." LIMIT 1") or die(mysql_error());
$row_user = mysql_num_rows($sql_user);
}

我得到了这个:

错误:语法错误,意外'

【问题讨论】:

  • 字符串需要用引号括起来。这是基本的 PHP。
  • 感谢使用 real_escape_string,但你不应该做整个 htmlspecialchars/stripslashes 业务。转义是一项有针对性的业务 - 除非您可以绝对保证您通过 Secu() 运行的数据将永远不会用于除 html 上下文之外的任何内容,那么您所做的额外步骤是毫无意义的,在某些情况下是危险的,.

标签: php mysql content-management-system


【解决方案1】:

PHP 无法解析代码的第 10 行。您想将 echo 函数的参数括在双引号中,以及转义反斜杠,如下所示:

echo "<script type='text/javascript'>document.location.href=\\".$lien."=/index.php';</script>" ;

【讨论】:

    【解决方案2】:

    看起来您只需在要回显的字符串周围加上引号!

    echo '<script type="text/javascript">document.location.href=\.$lien.='/index.php';</script>';
    

    【讨论】:

      【解决方案3】:

      您的问题发生在以下行:

      echo <script type="text/javascript">document.location.href=\.$lien.='/index.php';</script>  ;
      

      您需要将字符串放在引号中 - 所以它变成了

      echo "<script type=\"text/javascript\">document.location.href=\\".$lien."='/index.php';</script>"  ;
      

      可能还有其他错误...

      【讨论】:

      • 它说:警告:mysql_query() [function.mysql-query]:/home/a8004576/public_html/global 中的用户'a8004576'@'localhost'(使用密码:NO)的访问被拒绝.php 在第 25 行
      • 很抱歉听到您仍有问题。您能否更新您的问题 - 显示您已应用的修复程序、消失的错误、您传递给查询的字符串的外观以及发生错误的行。想想我们(试图帮助你的人)对你的问题的了解 - 并问自己“如果我只知道我告诉他们的内容,我是否有足够的能力来解决这个问题?”否则不可能给你任何建议。透视不是我的一项技能。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-12
      • 1970-01-01
      • 2014-10-03
      • 1970-01-01
      • 1970-01-01
      • 2011-02-09
      相关资源
      最近更新 更多