Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/02/2012, 04:16
CapitanPerezoso
 
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 7
Antigüedad: 12 años, 11 meses
Puntos: 1
Consulta SQL fallida si incluyo variable PHP

Hola a todos,

Estoy haciendo una activación de usuarios a través de un código ($clave) que se envía por mail. El caso es que recojo este valor por el método $_Get y coloco la variable en la consulta SQL para buscar al usuario y activarlo. El caso es que si imprimo la variable $clave con un Echo, compruebo que la clave la está tomando correctamente, pero sin embargo durante todo el proceso me toma la $clave como si estuviera vacía. ¿Qué estoy haciendo mal?

Código PHP:
//Damos valor a $clave a través del método $_Get
$clave $_GET["id"];

//Seleccionamos el usuario que corresponda con la $clave pasada
$conexion mysql_connect("localhost","root","");
mysql_select_db("BD"$conexion);
$consulta "SELECT * FROM usuarios_temp WHERE txt_activ = '$clave'";
$resultado mysql_query($consulta) or die (mysql_error());

/*Recorremos con un bucle fetch_array los campos del registro que hemos recuperado de la tabla usuarios_temp. Todos estas variables se me quedan vacías*/
while ($registro mysql_fetch_array($resultado)) {
$nombreusuario $registro['nombreusuario'];
$contraseña $registro['contraseña'];
$nombre $registro['nombre'];
$apellidos $registro['apellidos'];
}

//Liberamos los registros de la tabla
mysql_free_result($resultado);

//se cierra la conexión con la base de datos
mysql_close($conexion);

//se insertan los datos de la tabla usuarios_temp en la tabla Usuarios
function insert(){
    if (
$nombreusuario ""){
        echo 
"Fallo en la activación de la cuenta, el código es erróneo o ha caducado";
        return 
false;
    }
    else{
        global 
$clave;
        global 
$nombreusuario$contraseña$mail$nombre$apellidos;
        
$fecha date("Y-n-d");
        
$conexion2 mysql_connect("localhost","root","");
        
mysql_select_db("BD"$conexion2);
        
$inserta "INSERT INTO Usuarios (fechaalta,nombreusuario,contraseña,mail,nombre,apellidos) VALUES ('$fecha','$nombreusuario','$contraseña','$mail','$nombre','$apellidos')";
        
$resultadoinserta mysql_query($inserta) or die (mysql_error());
        
        
//se cierra la conexión con la base de datos
        
mysql_close($conexion2);
        
        
//se borra el registro de la tabla temporal
        
$conexion3 mysql_connect("localhost","root","");
        
mysql_select_db("BD"$conexion3);
        
$elimina "DELETE FROM usuarios_temp WHERE txt_activ = '$clave'";
        
$resultadoelimina mysql_query($elimina) or die (mysql_error());
        
mysql_close($conexion3);
        
        
//informamos de que todo ha ido bien
        
echo "Tu cuenta ha sido activada con éxito";
        return 
true;
    }

MUCHAS GRACIAS A TODOS!!!!