2016-01-06 53 views
-2

我没有任何代码在这行代码31行,所以你觉得这里有什么问题? :)语法错误,在第31行的文件意外结尾

<?php 

require('config.php'); 

if(isset($_POST['submit'])) { 

$uname = mysqli_real_escape_string($con, $_POST['uname']); 
$pass = mysqli_real_escape_string($con, $_POST['pass']); 

$sql = mysqli_query($con, "SELECT * FROM users WHERE uname = '$uname' AND pass = '$pass'"); 
if (mysqli_num_rows($sql) > 0) { 
    echo "You are now logged in."; 
    exit(); 
} 

} else { 

    $form = <<<EOT 
    <form action="login.php" method="POST"> 
    Username: <input type="text" name="uname" /></br> 
    Password: <input type="password" name="pass" /></br> 
    <input type="submit" name="submit" value="Log in" /> 
    </form> 
    EOT; 
    echo $form; 
} 



?> 

我觉得我所有的支架都很好:d

+1

删除括号'}' – Daan

+0

不起作用@Daan –

+0

你删除了哪一个? @AmarMuratović – Daan

回答

1

的EOT令牌必须是在你的编辑器1列。

<?php 

require('config.php'); 

if(isset($_POST['submit'])) { 

    $uname = mysqli_real_escape_string($con, $_POST['uname']); 
    $pass = mysqli_real_escape_string($con, $_POST['pass']); 

    $sql = mysqli_query($con, "SELECT * FROM users WHERE uname = '$uname' AND pass = '$pass'"); 
if (mysqli_num_rows($sql) > 0) { 
    echo "You are now logged in."; 
    exit(); 
} 

} else { 

    $form = <<<EOT 
    <form action="login.php" method="POST"> 
    Username: <input type="text" name="uname" /></br> 
    Password: <input type="password" name="pass" /></br> 
    <input type="submit" name="submit" value="Log in" /> 
    </form> 
EOT; 
    echo $form; 
} 
?> 
+0

谢谢你们,这是正确的答案:)) –

1

$form串的端部无法找到,从http://php.net/manual/en/language.types.string.php

结束标识符必须在该行的第一列开始。

所以你必须将EOT;移动到行首。

} else { 

    $form = <<<EOT 
    <form action="login.php" method="POST"> 
    Username: <input type="text" name="uname" /></br> 
    Password: <input type="password" name="pass" /></br> 
    <input type="submit" name="submit" value="Log in" /> 
    </form> 
EOT; 
    echo $form; 
} 
相关问题