因此,我试图编写一个 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 的初学者,所以我不确定我是否正确匹配了所有约定。无论如何,我的问题是:当我的代码范围内不存在一个名为“$name”的神秘变量时,为什么我会收到关于该变量的错误,我应该如何解决这个问题?