Ошибка анализа: синтаксическая ошибка: неожиданный '{'

У меня есть этот код, который обрабатывает пользователя, а затем перенаправляет его на домашнюю страницу пользователя.

<?php
    $username = $_POST['username'];
    $password = $_POST['pwd'];

    $file = file_get_contents("userdb.html");
    if(!strpos($file, $username)) {
        echo "Your username was not found in our database. Please go back and try again.";
    } else {
        echo "Redirecting...";
        if (md5($password) == !strpos($file, (md5($password))) {
             echo "Redirecting..."
             header ('Location: ./userhome.php')
        } else {
             print "Whoops! Your password seems to be incorrect. Go back and try again."
        }
    }
?>

И я получаю сообщение об ошибке:

Parse error: syntax error, unexpected '{' in userprocess.php on line 11

Может ли кто-нибудь сказать мне проблему, пожалуйста? Я думаю, что это может быть внутри if-оператора if, но что я могу сделать для альтернативы? Спасибо.

Ответ 1

Во-первых, на этой строке отсутствует закрывающая скобка:

if (md5($password) == !strpos($file, (md5($password))) {

Подсчитайте количество ( и ) - они должны совпадать.

Когда вы исправите это, вы все равно получите ошибки, потому что PHP-инструкции должны заканчиваться полуколониями.

Все следующие строки не имеют своей точки с запятой:

echo "Redirecting..."
header ('Location: ./userhome.php')
print "Whoops! Your password seems to be incorrect. Go back and try again."

Вам нужно исправить их все, прежде чем вы сможете запускать программу без ошибок синтаксиса.

Надеюсь, что это поможет.

Ответ 2

Изменить

if (md5($password) == !strpos($file, (md5($password)))

к

if (md5($password) == !strpos($file, md5($password)))

Ответ 3

В строке отсутствует прямая скобка:

if (md5($password) == !strpos($file, (md5($password))) {

Ответ 4

<?php
    $username = $_POST['username'];
    $password = $_POST['pwd'];

    $file = file_get_contents("userdb.html");
    if(!strpos($file, $username)) {
        echo "Your username was not found in our database. Please go back and try again.";
    } else {
        echo "Redirecting...";
        if (md5($password) == !strpos($file, md5($password))) {
             echo "Redirecting...";
             header ('Location: ./userhome.php');
        } else {
             print "Whoops! Your password seems to be incorrect. Go back and try again.";
        }
    }
?>