PHP意外的T_Variable实际上并不存在

时间:2013-09-13 23:49:21

标签: php

所以,我试图编写一个PHP身份验证系统,但是如果没有出错,我就无法运行它。具体来说,它说如下:

Parse error: syntax error, unexpected '$name' (T_VARIABLE) in C:\Apache24\htdocs\struct\general\resources\root~index\User.php on line 6
然后我查了一下,发现错误很常见。然而,我的不同之处在于,“$ name'变量实际上并不存在。实际上,第6行是函数的结束括号。这是完整的代码:

<?php

include 'User.php';
function sha512($data){
return hash('sha512', $data);
}//This is line 6
?> 
<html><head><title>Login</title></head><body background="/struct/general/resources/root~index/images/Pig.jpg"<p>Your request is being processed.     Please Wait...</p><br />
<?php
$username = htmlspecialchars($_POST['__INPUT_2']);
$passwordhash = sha512(htmlspecialchars($_POST['__INPUT_1']));

$user_file_path = $_SERVER['DOCUMENT_ROOT'] . '/struct/data/user/data';

$isUser = file_exists($user_file_path . $username . '$' . $passwordhash);



$user = new User($username, $passwordhash);

?>

顺便说一下,我有点像PHP的初学者,所以我不确定我是否正确匹配了所有约定。无论如何,我的问题是:为什么我收到一个名为&#39; $ name&#39;的神秘变量的错误。当我的代码范围内不存在该变量时,我应该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

PHP错误报告在其声明的内容中是准确的。即使代码中的实际问题不是PHP在错误中声明的错误和/或行,PHP也不会撒谎。

即在第200行意外结束。它可能是第140行缺少大括号。您需要阅读有关错误的信息,在此处和Google中搜索错误。

&#34;意想不到&#34; PHP错误中的任何内容通常都是直截了当的,因为它在错误中提到的任何内容之前都会有所期待 在这种情况下,unexpected '$name' (T_VARIABLE),您的$name变量不是预期的,PHP期望一个结束括号,逗号或半冒号结束前一行,其他的东西。

查看文件User.php中的第6行。如果该行绝对正常,那么错误就在它之前,也许是前一行可能缺少的半冒号。