Foros del Web » Programando para Internet » PHP »

ARRAYS (undefined index?)

Estas en el tema de ARRAYS (undefined index?) en el foro de PHP en Foros del Web. este es el codigo: Código PHP:  $vector =array( $resultat );  //mas codigo ................ //mas codigo while(.........){ if ( $tipus == 3 )  //opciones  { if( $rsltvacio == 0  ...
  #1 (permalink)  
Antiguo 04/05/2005, 17:54
Avatar de Pazosele  
Fecha de Ingreso: marzo-2005
Ubicación: BCN - España
Mensajes: 200
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta ARRAYS (undefined index?)

este es el codigo:
Código PHP:
 $vector=array($resultat); 
//mas codigo
................
//mas codigo
while(.........){
if (
$tipus==3//opciones 
{
if(
$rsltvacio==AND $resultat!=-1)
{
$vector[$resultat]++;
echo 
'Han contestado: ',$vector[$resultat],' la opcion ',$resultat,'<br>';
}
}


me da estos errores:

Notice: Undefined index: 3 in c:\inetpub\wwwroot\resultados\resenq.php on line 93
Han contestado: 1 la opcion 3

Notice: Undefined index: 2 in c:\inetpub\wwwroot\resultados\resenq.php on line 93
Han contestado: 1 la opcion 2

Notice: Undefined index: 4 in c:\inetpub\wwwroot\resultados\resenq.php on line 93


Alguien sabe porque???
__________________
Share our Knowledge!
Adura Vita!

Última edición por Pazosele; 04/05/2005 a las 17:55 Razón: mas info
  #2 (permalink)  
Antiguo 04/05/2005, 18:10
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
Te faltan definir esas variables, por eso te dán esos errores, dentro de tu propio servidor. Tambien se vé que tu Reporte de Errores lo tienes para que reporte todo, tanto advertencias y noticias.

Revisa bien en la instalación de php (en www.php.net/manual) para que resuelvas este pequeño detalle y no esté latoso eso.
  #3 (permalink)  
Antiguo 04/05/2005, 18:34
Avatar de Pazosele  
Fecha de Ingreso: marzo-2005
Ubicación: BCN - España
Mensajes: 200
Antigüedad: 12 años, 9 meses
Puntos: 0
como defino las variables?
klaro, porque el caso es que me funciona bien...
peor no son importantes esos reports??
a parte de anular los avisos, sabeis si hay alguna cosa para que no salgan?
__________________
Share our Knowledge!
Adura Vita!

Última edición por Pazosele; 04/05/2005 a las 18:40
  #4 (permalink)  
Antiguo 04/05/2005, 18:39
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
¿te funciona???... ahora más curiosidad me da.. ¿podrías mostrar cómo es que tienes tu código completo??

Para anular los "errores" (advertencias) puedes anteponerle un @ a la variable que te esta dando dicho aviso... igual puedes configurar eso desde el php.ini ó ocupar error_reporting() al inicio de tus scripts...

www.php.net/error_reporting

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 04/05/2005, 18:42
Avatar de Pazosele  
Fecha de Ingreso: marzo-2005
Ubicación: BCN - España
Mensajes: 200
Antigüedad: 12 años, 9 meses
Puntos: 0
Código PHP:
<?php 
   $idenq
=$_GET['id'];
   include(
"conectarse.phtml"); 
   
$servidor=Conectarse(); 
///aqui va mascodigo que no interesa///   
   
$resultat=$row["Valor"];
   
$idepreg=$row["IdP];
   if ($row["
Valor"]==" ")
          {$rsltvacio=1;}
   else
       {$rsltvacio=0;}
   if ($idepreg!=$idepregANT)
        {
        
         if ($tipus==1)//1-10
            {echo '<br>La Media de los resultados es: ',$media;    }
         if ($tipus==2)//si/no
            {///aqui va mascodigo que no interesa///   }
         if ($tipus==3) //opciones
                {
                
                }
         if ($tipus==4)//abierta
        ///aqui va mascodigo que no interesa///           }
   //echo '<br><br>Pregunta: ',$idepreg,'<br>';
   //echo '<br>Resultat: ',$resultat,'<br>';
           $dadespr=mssql_query("
select from Pr WHERE IdP=$idp", $servidor);        
            while($row = mssql_fetch_array($dadespr)) { //una pregunta de una encuesta
            $tipus=$row["
TipusPreg"];

            if ($tipus==1) //1-10
                {
                    if ($rsltvacio<1)
                        {
                        //echo  '<br>resultat',$resultat;
                        $mediaudeuAUX=$mediaudeu+$resultat;
                        $mediaudeu=$mediaudeuAUX;
                        $conta++;
                        $media=$mediaudeu/$conta;
                        }
                        //echo 'conta ',$conta,'suma ',$mediaudeu,'<br>';
                }
            if ($tipus==2) //si/no
                {
                if($resultat==1)
                    {$si++;}
                else
                    {$no++;}
                }
            if ($tipus==3) //opciones 
                {
                if($rsltvacio==0 AND $resultat!=-1)
                    {
                    $vector[$resultat]++;
                    echo 'Han contestado: ',$vector[$resultat],' la opcion ',$resultat,'<br>';
                    }
                }
            }
            
    /*echo '<br>La Media: ',$media;
    echo '<br>Si: ',$si;    
    echo '<br>No: ',$no;*/
   }    //y para la ultima pregunta
if ($tipus==1)
            {echo '<br>La Media de los resultados es: ',$media;    }
if ($tipus==2)
            {echo '<br>Han respondido Si: ',$si,' persona(s)';    
             echo '<br>Han respondido No: ',$no,' persona(s)';}

?>
__________________
Share our Knowledge!
Adura Vita!

Última edición por Pazosele; 05/05/2005 a las 07:34
  #6 (permalink)  
Antiguo 04/05/2005, 18:45
Avatar de Pazosele  
Fecha de Ingreso: marzo-2005
Ubicación: BCN - España
Mensajes: 200
Antigüedad: 12 años, 9 meses
Puntos: 0
es es el codigo entero, todo va bien, lo unico es el caso ese, el
if ($tipus==3) //opciones

el array lo defino (o eso creo yo) ariba, como veis en los 2 post anteriores..

no se exactamente que pasa, pero los valores si los muestra bien,.. pero los notices estos.. no tienen que salir logicamente..

Jam, komo le pongo la @ directamente delante de la variable? (ejemplo: @$vector)??
__________________
Share our Knowledge!
Adura Vita!
  #7 (permalink)  
Antiguo 04/05/2005, 18:54
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por Pazosele
Jam, komo le pongo la @ directamente delante de la variable? (ejemplo: @$vector)??


... personalmente revisaré él código detenidamente, pero será en otra ocasión... básicamente veo un $vector=array($resultat); pero no alcanzo a ver qué contiene $resultat... como sea, si esta dentro de un ciclo lo que estás haciendo es sustituyendo, no añadiento... entonces tendrás un único index '0' (según yo ).

.. prueba con $vector[]= $resultat. Solo adivino... repito que será en otra ocasión (personalmente, ojalá otro te ayude) cuando pueda ver qué es lo que tienes...

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #8 (permalink)  
Antiguo 04/05/2005, 19:00
Avatar de Pazosele  
Fecha de Ingreso: marzo-2005
Ubicación: BCN - España
Mensajes: 200
Antigüedad: 12 años, 9 meses
Puntos: 0
Cita:
Iniciado por jam1138


... personalmente revisaré él código detenidamente, pero será en otra ocasión... básicamente veo un $vector=array($resultat); pero no alcanzo a ver qué contiene $resultat...
La variable resultat se define en esta linea:

$resultat=$row["Valor"];

No pasa nada ojala alguien lo sepa, peor como siempre te agradezco ei interes que pones :) un saludo!
__________________
Share our Knowledge!
Adura Vita!
  #9 (permalink)  
Antiguo 05/05/2005, 04:44
Avatar de Pazosele  
Fecha de Ingreso: marzo-2005
Ubicación: BCN - España
Mensajes: 200
Antigüedad: 12 años, 9 meses
Puntos: 0
Cita:
Iniciado por jam1138

prueba con $vector[]= $resultat. ...
si pongo eso me da un error muuu gordo..

Fatal error: Cannot increment/decrement overloaded objects nor string offsets in c:\inetpub\wwwroot\resultados\resenq.php on line 92

esque no se muy bien como definirlo.. antes habia puesto:
$vector[]= array();

pero no se la diferencia en concreto..(El resultado es exactamente el mismo)
__________________
Share our Knowledge!
Adura Vita!
  #10 (permalink)  
Antiguo 05/05/2005, 07:29
Avatar de Pazosele  
Fecha de Ingreso: marzo-2005
Ubicación: BCN - España
Mensajes: 200
Antigüedad: 12 años, 9 meses
Puntos: 0
El trukillo de la @

bueno, al final como me funcionaba igualmente y lo unico que me molestaban eran los NOTICE.. he usado el "trukillo de la @" que me dio JAM, y a la vista todo va bien :D

De todas formas si alguien sabe el porque de este error o como quitarlo, sigo aceptando cualquier ayuda o consejo ! :) GRACIAS A TODOS!
__________________
Share our Knowledge!
Adura Vita!
  #11 (permalink)  
Antiguo 05/05/2005, 11:53
 
Fecha de Ingreso: febrero-2005
Mensajes: 867
Antigüedad: 12 años, 10 meses
Puntos: 3
este es un tema que todavia no esta claro por lo visto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:01.