PHP ERROR syntax error, Unexpected '>'

Asked

Viewed 361 times

-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>";

}
?>
  • Hello Peter, welcome to stackoverflow in English, please take a few minutes to take the tour and learn more about the platform and how to ask. access the tour

  • 3

    Close the quotation marks on the second to last echo

  • Aren’t you using a php editor?? The error is clear in the editor.

  • 1
  • It’s a simple syntax error. Even if you don’t use a sophisticated IDE, the account’s own PHP points to the problem line. The error has already been pointed out, I believe, in an answer. I recommend more attention to the code and the message that indicates the error, before creating a question.

1 answer

3

There are two syntax errors in your code.

  1. Line : 22, Error type : 4 Message : syntax error, Unexpected '>'

This error was caused because on the line echo "<p>Sess&atilde;o iniciada com sucesso como {$_SESSION['username']}</p> you should close quotes and include a ; 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 because one is missing } 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>";
    }
}
?>

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

I leave a link with further reading on these extensions of php that manage connections to a database.

  • 4

    I was going to comment the same on mysql_ http://answall.com/questions/579/por-que-n%C3%A3o-should-use-fun%C3%A7%C3%B5es-do-tipo-mysql

Browser other questions tagged

You are not signed in. Login or sign up in order to post.