解析错误:第70行的C:\ wamp \ www \ Discussion Forums \ login.php中的解析错误
这是我的代码。顺便说一下,我正在创建一个具有功能配置(用于数据库连接),页眉和页脚页面的登录页面,我使用WampServer和Dreamweaver。
<?php
session_start();
require("config.php");
require("functions.php");
$db = mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_select_db($dbdatabase, $db);
$db = mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_select_db($dbdatabase, $db);
if($_POST['submit'])
{
$sql = "SELECT * FROM users WHERE username = '"
. $_POST['username'] . "' AND password = '"
. $_POST['password'] . "';";
$result = mysql_query($sql);
$numrows = mysql_num_rows($result);
$result = mysql_query($sql);
$numrows = mysql_num_rows($result);
if($numrows == 1)
{
$row = mysql_fetch_assoc($result);
if($row['active'] == 1)
{
session_register("USERNAME");
session_register("USERID");
switch($_GET['ref'])
{
case "newpost":
if(isset($_GET['id']) == FALSE)
{
header("Location: " . $config_basedir .
"/newtopic.php");
}
else
{
header("Location: " . $config_basedir .
"/newtopic.php?id=" . $_GET['id']);
}
break;
case "reply":
if(isset($_GET['id']) == FALSE)
{
header("Location: " . $config_basedir .
"/newtopic.php");
}
else
{
header("Location: " . $config_basedir .
"/newtopic.php?id=" . $_GET['id']);
}
break;
default:
header("Location: " . $config_basedir);
break;
}
}
else {
require("header.php");
echo "This account is not verified yet. You were emailed a link
to verify the account. Please click on the link in the email to
continue.";
}
echo "This account is not verified yet. You were emailed a link
to verify the account. Please click on the link in the email to
continue.";
}
}
else {
header("Location: " . $config_basedir . "/login.php?error=1");
}
else {
require("header.php");
if($_GET['error']) {
echo "Incorrect login, please try again!";
}
}
?>
<form action="<?php echo pf_script_with_get($SCRIPT_NAME); ?>"
method="post">
<table>
<tr>
<td>Username</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="Login!"></td>
</tr>
</table>
</form>
Don't have an account? Go and <a href="register.php">Register</a>!
<?php
}
require("footer.php");
?>
答案 0 :(得分:8)
这是你的问题:
else {
header("Location: " . $config_basedir . "/login.php?error=1");
}
else {
你有两个连续的else
。你应该修改你的代码。
答案 1 :(得分:0)
else
行之前的require("header.php");
没有匹配的if
。也就是说,打开和关闭花括号不匹配
保持代码缩进有助于避免此类错误。
答案 2 :(得分:0)
在第67行,使用if if($ somecondition)代替,因为在if-elseif-else中只能有一个else块。你的逻辑中也存在错误我正在使用它可能对你有帮助的新代码。
<?php
session_start();
require("config.php");
require("functions.php");
$db = mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_select_db($dbdatabase, $db);
$db = mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_select_db($dbdatabase, $db);
if($_POST['submit'])
{
$sql = "SELECT * FROM users WHERE username = '"
. $_POST['username'] . "' AND password = '"
. $_POST['password'] . "';";
$result = mysql_query($sql);
$numrows = mysql_num_rows($result);
$result = mysql_query($sql);
$numrows = mysql_num_rows($result);
if($numrows == 1)
{
$row = mysql_fetch_assoc($result);
if($row['active'] == 1)
{
session_register("USERNAME");
session_register("USERID");
switch($_GET['ref'])
{
case "newpost":
if(isset($_GET['id']) == FALSE)
{
header("Location: " . $config_basedir .
"/newtopic.php");exit;
}
else
{
header("Location: " . $config_basedir .
"/newtopic.php?id=" . $_GET['id']);exit;
}
break;
case "reply":
if(isset($_GET['id']) == FALSE)
{
header("Location: " . $config_basedir .
"/newtopic.php");exit;
}
else
{
header("Location: " . $config_basedir .
"/newtopic.php?id=" . $_GET['id']);exit;
}
break;
default:
header("Location: " . $config_basedir);
break;
}
}
else {
//require("header.php");
$msg = base64_encode("This account is not verified yet. You were emailed a link
to verify the account. Please click on the link in the email to
continue.");
header("Location: " . $config_basedir . "/login.php?msg=".$msg);exit;
}
$msg = base64_encode("This account is not verified yet. You were emailed a link
to verify the account. Please click on the link in the email to
continue.");
header("Location: " . $config_basedir . "/login.php?msg=".$msg);exit;
}else{
$msg = base64_encode("You have incorrect username or password");
header("Location: " . $config_basedir . "/login.php?msg=".$msg);exit;
}
}
require("header.php");
if($_GET['msg']) {
echo base64_decod($msg);
}
?>
<form action="<?php echo pf_script_with_get($SCRIPT_NAME); ?>"
method="post">
<table>
<tr>
<td>Username</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="Login!"></td>
</tr>
</table>
</form>
Don't have an account? Go and <a href="register.php">Register</a>!
<?php
require("footer.php");
?>