• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

2eve

[Problema] Unexpected $End

14 mensagens neste tópico

Olá ESTE CÓDIGO DÁ-ME UNEXPETED #END          ESPERO QUE ME POSSAM AJUDAR

E

<?php
// Connects to your Database
mysql_connect("xxxxxx", "xxxxxxxx", "xxxxxxxxx") or die(mysql_error());
mysql_select_db("xxxxxxxxxx") or die(mysql_error());

//This code runs if the form has been submitted
if (isset($_POST['submit'])) {

//This makes sure they did not leave any fields blank
if (!$_POST['username'] | !$_POST['password']) {
die('You did not complete all of the required fields');
}

// checks if the username is in use
if (!get_magic_quotes_gpc()) {
$_POST['username'] = addslashes($_POST['username']);
}
$usercheck = $_POST['username'];
$check = mysql_query("SELECT username FROM users WHERE username = '$usercheck'")
or die(mysql_error());
$check2 = mysql_num_rows($check);

//if the name exists it gives an error
if ($check2 != 0) {
die('Sorry, the username '.$_POST['username'].' is already in use.');
}

// this makes sure both passwords entered match
if ($_POST['password'] != $_POST['password2']) {
die('Your passwords did not match.');
}

// here weencrypt the password and add slashes if needed
$_POST['password'] = md5($_POST['password']);
if (!get_magic_quotes_gpc()) {
$_POST['password'] = addslashes($_POST['password']);
$_POST['username'] = addslashes($_POST['username']);
}

// now we insert it into the database
$insert = "INSERT INTO xxxxxxxx (username, password)
VALUES ('".$_POST['username']."', '".$_POST['pass']."')";
$add_member = mysql_query($insert);
?>


<h1>Registered</h1>
<p>Thank you, you have registered - you may now login</a>.</p>


0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O erro de unexpected $end significa que ou esqueceste-te de ;s ou de  }s. Identa o teu código e vê :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

falta fechar um 'if'. tal como já foi dito, identar o código dá jeito.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

yep... falta fechar o do get_magic_quotes_gpc()...

Não, é mesmo o if (isset($_POST['submit'])) :P
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Agora tenho outro problema os dados n ficam na base de dados e não consigo fazer login com os dados introduzidos atravez da página de registar.

Plese help........

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites


//This makes sure they did not leave any fields blank
if (!$_POST['username'] | !$_POST['password']) {
die('You did not complete all of the required fields');
}

Não deveria ser com duas "||" em vez de uma?


//This makes sure they did not leave any fields blank
if (!$_POST['username'] || !$_POST['password']) {
die('You did not complete all of the required fields');
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

// now we insert it into the database
$insert = "INSERT INTO xxxxxxxx (username, password)
VALUES ('".$_POST['username']."', '".$_POST['pass']."')";
$add_member = mysql_query($insert);
?>


Poe

$user = $_POST['username'];
$pass = $_POST['pass'];
$insert = "INSERT INTO xxxxxxxx (username, password) VALUES ('$user', '$pass')";
$add_member = mysql_query($insert);

if($add_member) {
echo "<h1>Registered</h1>
<p>Thank you, you have registered - you may now login</a>.</p>"
}
else
{
echo "There was an error!";
}
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Correcção karva:

$user = mysql_real_escape_string($_POST['username']);
$pass = mysql_real_escape_string($_POST['pass']);

Ninguém gosta de SQL injection ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas pessoal,

Estou a ter o mesmo problema com um projecto em que estou inserido. Se alguém me puder ajudar agradecia, visto que estou há mais de uma hora a tentar encontrar o erro e ainda não consegui nada.

Aqui fica o código-fonte:

http://www.portugal-a-programar.org/install.txt

Agradecia ajuda o mais rapidamente possível...

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Assim "de repente", parece faltar fechar uma chaveta na linha 708, depois do "return true;"...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Correcção karva:

$user = mysql_real_escape_string($_POST['username']);
$pass = mysql_real_escape_string($_POST['pass']);

Ninguém gosta de SQL injection ;)

isto "protege" de MySQL injection?:P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Correcção karva:

$user = mysql_real_escape_string($_POST['username']);
$pass = mysql_real_escape_string($_POST['pass']);

Ninguém gosta de SQL injection ;)

isto "protege" de MySQL injection?:P

Sim.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora