Hola:
Ahora estoy en el curro
y no dispongo de los recursos para poder probar, pero he estado dándole vueltas a la cabeza y se me ha ocurrido esta idea, espero que funcione, si alguien puede darle un vistazo y hacer crítica previa a mis pruebas lo agradeceré.
De hecho mi idea original era resolverlo todo con el
Switch Case pero como ignoro si se puede eliminar el
if que va delante de
isset sin crear un cataclismo lo he dejado así. De todas maneras está pendiente de probar.
Muchas gracias de antemano y un saludo
,
J.
Aquí la ocurrencia:
Código PHP:
<?php session_start();
error_reporting(E_ALL);
ini_set("display_errors", 1);
// Llamo las variables de conexión a DB
require_once ('../recor/LoginDB.php');
// Abro conexión y selecciono la base de datos
$connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!");
mysql_select_db($db) or die ("Unable to select database!");
//Activamos el ususario
//Recuperamos el código de activación y depuramos frente a SQLInjection
if (isset($_GET['codigo'])) {
$codeACT = $_GET['codigo'];
$codeACT = stripslashes($codeACT);
//Comprobamos que el codigo recibido existe en la BBDD
$queryCHECK = mysql_query("SELECT `codigoACT` FROM `personas` WHERE `codigoACT`=$codeACT");
$num_rows = mysql_num_rows($queryCHECK);
}else {
//En cualquier otro caso lo derivamos a registro
echo "activacion incompleta.";
header("location:../Registro_pregunta.php");
}
switch ($num_rows) {
//Si el código no existe derivamos a registro de nuevo
case 0:
header("location:../Registro_pregunta.php");
break;
//Si existe
case 1:
//Cambiamos el valor 0=desactivado por valor 1=activado
$activo="1";
//Activamos el usuario
$queryACT = "UPDATE personas SET `activo`=$activo Where `codigoACT`=$codeACT";
mysql_query($queryACT) or die(mysql_error());
//Y vamos a la página de inicio
header("location:../home.php");
break;
}
?>