Darse de alta en la web | Recuperar password   
Inicio / Foros / PHP / weird (raro) undefined offset
3 respuestas recibidas | 119 visitas | Categoría PHP

weird (raro) undefined offset

Avatar de iaaqov
Nivel 3 Nivel 3 Nivel 3 Nivel 3 Nivel 3 Nivel 3 Nivel 3

(Nivel 3 - 234 posts)

#0 Offline iaaqov Usuario 27 mar 08 (10:04)  
buenas madrugadas....
tengo el siguiente detalle, en mi servidor local, me sucede esto:
tengo un panel de administracion donde si seleccionan unos checkbox, en la bd se eliminan los registros con la info de esos checkbox, osea, eliminar o no. Pero la cuestion es la siguiente:
cuando hago la consulta de eliminar, realiza la consulta no importa si es 1 o 10 registros pero cuando lo hace me imprime esto:
Notice: Undefined offset: 0 in C:\AppServ\www\wc\admin.php on line 217
y no entiendo por qué...
este es el code, avisaré cual es la linea 217:

Código PHP


<?
if($a=='update_users'){
        if(isset(
$_POST['submit'])){
            
            
$size = count($_POST['id']);
            
$i=0;
            while(
$i<$size){
            
$lvl = $_POST['lvl'][$i];
            
$id = $_POST['id'][$i];
            
$active = $_POST['active'][$i];
            
$consulta = mysql_query("UPDATE users SET type='$lvl',active='$active' WHERE id='$id' LIMIT 1")or die(mysql_error());
            if(isset(
$_POST['del'])){
            
// esta de abajo es la 217
            
$del=$_POST['del'][$i];
            
$query = mysql_query("DELETE FROM users WHERE id='$del' LIMIT 1")or die(mysql_error());
            }
            if(
$consulta==1 and $i==$size-1){
            echo
"<center>Info. Updated</center>";
            }
            ++
$i;
            }
        }
    }
?>



lo raro es que la consulta sí se realiza, tengo algo mal? estoy haciendo algo mal? o es alguna locura que le da al php? gracias

se me ocurre...

Avatar de jurena
Nivel 5 Nivel 5 Nivel 5 Nivel 5 Nivel 5 Nivel 5 Nivel 5

(Nivel 5 - 708 posts)

#1 Online jurena Usuario 27 mar 08 (16:58)  
Undefined offset parece referirse al índice numérico de un array, y tú estás utilizando $i como tal. Se me ocurren varias pruebas para debuguear:
Creo que tal vez estás mezclando dos tipos de array, uno numérico o escalar, en el que cargas el dato en el formulario; y otro asociativo, el que creas con el $_POST['id'][$i]; en lugar tal vez de $_POST[$i]['id']: no estoy seguro.
Si no es eso, cambia ++$i por $i++ : lo del preincremento y el prostincremento nos vuelve locos a los aficionados (hablo por mí). Si no es eso
2) por qué utilizar aquí while en lugar de un for($i=0; $i++; $i<=$size - 1)
y desde luego, si los id son numéricos, debes escribir WHERE id=$id y WHERE id = $del
De todas maneras, dinos cuál es la línea 217.
Suerte

Re: weird (raro) undefined offset

Avatar de iaaqov
Nivel 3 Nivel 3 Nivel 3 Nivel 3 Nivel 3 Nivel 3 Nivel 3

(Nivel 3 - 234 posts)

#2 Offline iaaqov Usuario 27 mar 08 (20:26)  
if(isset($_POST['del'])){
// esta de abajo es la 217
$del=$_POST['del'][$i];

por decir algo

Avatar de jurena
Nivel 5 Nivel 5 Nivel 5 Nivel 5 Nivel 5 Nivel 5 Nivel 5

(Nivel 5 - 708 posts)

#3 Online jurena Usuario 27 mar 08 (22:18)  
por decir algo, prueba a que te muestre lo que te traes mediante el $_POST['del'] con print_r, es decir,
if(isset($_POST['del'])){
print_r($_POST['del']);// a ver qué te sale cuando hay varios datos.
...}

Responder mensaje

Para poder participar debes estar registrado e identificado. Si no estás registrado como usuario de PHP-Hispano, :: Registrar ::
Login / Password   

Web alojada en Zilos

php-hispano.net 2002 - 2008 | XHTML 1.0
Datos Legales | Webmaster