Estoy terminando la gestión de usuarios de mi proyecto conseguí establecer todo el ciclo de activación y funcionaba bien, pero al incorporar un menú dinámico, la activación me devuelve estos errores:
Cita:
Tengo que matizar lo siguiente, a pesar de los errores se activa el usuario, lo que no va a la página principal y las variables de usuario son las mismas que tengo en el login y allí no tengo ningún error.Notice: Unknown: Skipping numeric key 0 in Unknown on line 0
Notice: Unknown: Skipping numeric key 1 in Unknown on line 0
Notice: Unknown: Skipping numeric key 1 in Unknown on line 0
Os dejo TODO (lo siento) el código de la activación por si alguien puede echarme una mano.
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);
switch ($num_rows) {
//Si el código no existe derivamos a registro de nuevo
case 0:
?>
<script language=javascript>
function ventanaSecundaria (URL){
window.open(URL,"ventana1")
}
ventanaSecundaria("../Registro_pregunta.php");
window.close()
</script>
<?php
break;
//Si existe
case 1:
//Verificamos que el usuario no ha sido activado con anterioridad
$queryCHECKACT = mysql_query("SELECT `activo` FROM `personas` WHERE `activo`=1");
$CheckAct = mysql_num_rows($queryCHECKACT);
switch ($CheckAct) {
//Si no está activo
case 0;
//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());
//Seleccionamos las variables de sesion
$queryVarSes = "SELECT `TipoColaborador`,`TipoAdministrador`,`activo`,`silverUser`,`goldUser` FROM `personas` WHERE `codigoACT`=$codeACT";
$VarSes = mysql_query($queryVarSes);
while ($row = mysql_fetch_array($VarSes, MYSQL_NUM)) {
$TipoColaborador = $row [0];
$TipoAdministrador = $row [1];
$activo = $row [2];
$silverUser = $row [3];
$goldUser = $row [4];
}
//Registramos las variables de sesión
$_SESSION["$TipoColaborador"]= $row [0];
$_SESSION["$TipoAdministrador"]= $row [1];
$_SESSION["$activo"]= $row [2];
$_SESSION["$silverUser"]= $row [3];
$_SESSION["$goldUser"]= $row [4];
//Y vamos a la página de inicio
?>
<script language=javascript>
function ventanaSecundaria2 (URL){
window.open(URL,"ventana2")
}
ventanaSecundaria2("../Home.php);
window.close()
</script>
<?php
break 2;
case 1:
//Si el usuario ya está activo lo derivamos a la página de registro
?>
<script language=javascript>
function ventanaSecundaria3 (URL){
window.open(URL,"ventana3")
}
ventanaSecundaria3("../Registro_pregunta.php");
window.close()
</script>
<?php
break 2;
}
}
}else {
//En cualquier otro caso lo derivamos a registro
?>
<script language=javascript>
function ventanaSecundaria (URL){
window.open(URL,"ventana1")
}
ventanaSecundaria("../Registro_pregunta.php");
window.close()
</script>
<?php
}
?>