Problema con confirmación de registro

Iniciado por janisorna, 26 Agosto 2013, 13:38 PM

0 Miembros y 1 Visitante están viendo este tema.

janisorna

Hola a todos!

Estoy haciendo una pagina de registro la cual quando envias el formulario te envia un correo de confirmación con una url para terminar el registro, pero el problema es que cuando le doy clic a la url me sale el siguiente error:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Necesitaria saber a que se debe y como lo puedo solucionar.

Os dejo los codigos a continuación:



<?php
require('phpmailer/class.phpmailer.php');
$mail = new PHPMailer();
$mail->Host 'ssl://smtp.gmail.com';
$mail->Port 465;
$mail->IsSMTP();
include (
'funciones.php');
$user $_POST['user'];
$pass $_POST['pass'];
$pass2 $_POST['pass2'];
$email $_POST['mail'];
if(
$pass !== $pass2){
echo 
'Las contraseñas no coinciden.';
}else{
$codic rand(0000000000,9999999999);
if(!
mysql_query("INSERT INTO noactiu (usuario,contraseña,email,codigo) values ('$user', '$pass', '$email', '$codic')")){
die (
msql_error());
}else{
$mail->From     "email@gmail.com";
$mail->FromName "Nombre";
$mail->AddAddress($email);
$mail->WordWrap 50;
$mail->IsHTML(true);
$mail->Subject  =  'Activación de cuenta';
$mail->Body     =  'Para completar el registro haz clic en el siguiente link:<br>.
echo <a href ="http://pagina.com/confirma.php?codic='
.$codic.'">http://pagina.com/confirma.php?codic='.$codic.'</a>';
$mail->AltBody  =  strip_tags($mail->Body);
$mail->SMTPAuth true;
$mail->Username 'email';
$mail->Password 'contraseña';
if (
$mail->Send()){die('Hemos enviado un email de confirmación a tu correo');
}else{
die(
'Ha habido un problema a la hora de enviarle el mensaje de confirmación');
}
}
}
?>


Confirma.php
<?php
$v 
$_GET['codic'];
include(
'funciones.php');
$query "SELECT * FROM noactiu WHERE codigo = '".$v."'";
$buscar mysql_query($query) or die('Error: Ha habido un problema con el query');
if(
$resultado mysql_num_rows($buscar) == 1){
if(!
mysql_query("DELETE FROM noactiu WHERE codigo = '".$v."' LIMIT 1")){
die(
mysql_error());
}
if(!
mysql_query("INSERT into noinject (usuario,contraseña,email) values ('".$resultado['usuario']."','".$resultado['contraseña']."','".$resultado['email']."'")){
die(
mysql_error());
}
echo 
'¡Felicidades has sido registrado correctamente!';
}else{
die(
'URL no válida');
}
?>


Graciass!!  ;D

#!drvy

El problema es con el query SQL.. asegúrate de que recibes todos los parámetros.

PD: Es vulnerable a sqli.

Saludos