-3

这是我的代码:

<?php

if(empty($_POST['id']))
{
    echo '<form method="post"><input type="text" name="id"><input type="submit" value="go"></form>';
}
else
{   

    $con=mysqli_connect("localhost","adminuser","adminpassword","database");
    // Check connection
    if (mysqli_connect_errno())
    {
        die("dbconnect failed: " . mysqli_connect_error());
    }

    $remoteEndpoint=$_SERVER["REMOTE_ADDR"].".".$_SERVER["REMOTE_PORT"];
    $hash = md5(uniqid());
    $code= mysql_real_escape_string($_POST['id']);

    mysqli_query($con,"INSERT INTO `mobile` (`useragent`, `ip`, `hash`) VALUES ('".$code."', '".$remoteEndpoint."','".$hash."')");

    echo hash;
}

?>

有了这个,我得到

 Parse error: syntax error, unexpected $end in /mylocation/index.php on line 1

我已经检查了所有分支,但找不到任何东西。

我错过了什么?

4

1 回答 1

1

您的代码没有报告您建议的错误“错误:语法错误,意外 $end”

我已经在我的本地开发人员上对其进行了测试,虽然我显然收到了 mysql 连接的拒绝访问警告,但没有 PHP 错误。

有一条通知:“PHP 通知:使用未定义的常量散列 - 假定为‘散列’”

因为正如 Marc B 所指出的,您错过了“哈希”变量末尾的 $ 。

这意味着您的代码必须有更多内容,而实际问题就在某个地方。通常(注意,并非总是如此,但经常)意外的 $end 错误是由于缺少大括号(即您打开了一个 IF 但没有关闭它)。先检查那些。如果你不使用带有语法高亮的编辑器,你应该这样做,因为它通常可以节省那些愚蠢的拼写错误和深夜疲劳的错误的时间......

于 2013-08-15T19:52:06.353 回答