PHP ERROR syntax error, unexpected '' [closed]

-5
<?php
// começar ou retomar uma sessão
session_start();

// se vier um pedido para login
if (!empty($_POST)) {

    // estabelecer ligação com a base de dados
    mysql_connect('host', 'user', 'senha') or die(mysql_error());
    mysql_select_db('u435014414_1');

    // receber o pedido de login com segurança
    $username = mysql_real_escape_string($_POST['username']);
    $password = sha1($_POST['password']);

    // verificar o utilizador em questão (pretendemos obter uma única linha de registos)
    $login = mysql_query("SELECT userid, username FROM users WHERE username = '$username' AND password = '$password'");

    if ($login && mysql_num_rows($login) == 1) {

        // o utilizador está correctamente validado
        // guardamos as suas informações numa sessão
        $_SESSION['id'] = mysql_result($login, 0, 0);
        $_SESSION['username'] = mysql_result($login, 0, 1);

        echo "<p>Sess&atilde;o iniciada com sucesso como {$_SESSION['username']}</p>
    } else {

        // falhou o login 
        echo "<p>Utilizador ou password invalidos.</p>";

}
?>
    
asked by anonymous 15.01.2017 / 22:48

1 answer

3

There are two syntax errors in your code.

  
  • Line: 22, Error type: 4 Message: syntax error, unexpected '>'
  •   

    This error was caused because at line echo "<p>Sess&atilde;o iniciada com sucesso como {$_SESSION['username']}</p> you should close quotes and include ; at the end of the line. After correcting this syntax error, there is still another error that appears:

      

    Line: 24, Error type: 4 Message: syntax error, unexpected end of   file

    This error is caused by missing a } by closing the first if (!empty($_POST)) { .

    I also tried to give a better format in your code, see if it solves:

    <?php
    // começar ou retomar uma sessão
    session_start();
    // se vier um pedido para login
    if (!empty($_POST)) {
        // estabelecer ligação com a base de dados
        mysql_connect('host', 'user', 'senhar') or die(mysql_error());
        mysql_select_db('tabela');
        // receber o pedido de login com segurança
        $username = mysql_real_escape_string($_POST['username']);
        $password = sha1($_POST['password']);
        // verificar o utilizador em questão (pretendemos obter uma única linha de registos)
        $login = mysql_query("SELECT userid, username FROM users WHERE username = '$username' AND password = '$password'");
        if ($login && mysql_num_rows($login) == 1) {
            // o utilizador está correctamente validado
            // guardamos as suas informações numa sessão
            $_SESSION['id'] = mysql_result($login, 0, 0);
            $_SESSION['username'] = mysql_result($login, 0, 1);
            echo "<p>Sess&atilde;o iniciada com sucesso como {$_SESSION['username']}</p>";
        } else {
            // falhou o login 
            echo "<p>Utilizador ou password invalidos.</p>";
        }
    }
    ?>
    

    Furthermore another recommendation ... mysql_connect was considered discontinued, use MySQLi or PDO to connect to the bank.

    I leave a link with complementary reading about these php extensions that manage connections to a database .

        
    15.01.2017 / 22:52