0

我正在为我的网站创建一个注册页面,但无论我做什么,我都会遇到语法错误。如果我删除整个声明,它会让我一个人呆着,但我不能做我想做的事。这是代码:

<?php
$user=$pass=$mail=$name="";
$registered=true;
$user = $_GET["user"];
$file = fopen("sparkapps_files/users.dat","r+") or fopen ("sparkapps_files/users.dat","x+");
if (strlen($user)< "4") {

echo "Username too short! Must be at least 4 chars long!<br>";
$registered = false;

}

$pass = $_GET["pass"];

if (strlen($pass)<"8") {

echo "Password too short! Must be at least 8 chars long!<br>";
$registered=false;

}

$str = "";

do {

$str = fgets(substr($file , strpos(fgets($file)," ")));

} while (!feof($file) &$ $str != $user); // error right here

if ($str == $user) {

$registered = false;
echo "Input username has already been taken!<br>";

}

$mail = $_GET["mail"];
$name = $_GET["name"];

if ($registered == true) {

fwrite ($file , $user . " " . $pass . " " . $mail . " " . $name . "<br>");

echo "Welcome, " . $user . "<br>";
echo "You have been registered.<br>";
$_SESSION["user"] = $user;
echo "<a href=\"http://www.sparkprogrammers.net\">Go to home page</a>";

}

if ($registered == false) {

echo "<a href=\"register.php\">Return to register page</a>";

}

?>

我本地计算机上的 IDE 没有发现错误,但服务器发现了错误。是我,还是我的服务器?

4

1 回答 1

2

你需要一个额外的“)”在这里......

$str = fgets(substr($file , strpos(fgets($file)," ")));
                                                     ^
于 2013-10-24T20:58:47.000 回答