Error extraño con PHP en linux

Iniciado por 2Fac3R, 26 Noviembre 2011, 00:24 AM

0 Miembros y 1 Visitante están viendo este tema.

2Fac3R

Hola amigos

Hoy vengo con una pregunta y un problema que tengo, veran he hecho bastantes codes de php (de ejemplos y practicas) y al pasarlos a linux me eh encontrado con un problema.

En windows este code me corre perfectamente:

<?php
$jojo 
$_GET['jojo'];
if(isset(
$jojo))
{
 echo 
$jojo;
}else{
 echo 
"demás code";
}
?>


Pero en linux (fedora) me da este error:

CitarNotice: Undefined index: send in /opt/lampp/htdocs/test.php on line 6

He probado a usarlo sin meterlo en otra variable, por ejemplo asi:

<?php
if(isset($_GET['jojo']))
{
 echo  
$_GET['jojo'];
}else{
 echo 
"demás code";
}
?>


Y me funciona perfectamente, realmente veo que es un error algo extraño, supongo que sera cuestion de la configuracion del archivo php.ini, pero tengo "miedo" tocar el fichero sin saber muy bien cual es el problema.
Escuela de Hackers & Programación. http://ihackndev.blogspot.com/

#!drvy

Esto va en PHP.

Sera por las diferencias de la configuracion php.ini que tenias en los diferentes WAMP's (vease error_reporting de php).
Pero el correcto es el segundo o en todo caso comprobar que la variable $_GET['jojo'] esta definida antes de utilizarla.

Pues no puedes utilizar una variable no definida...

Código (php) [Seleccionar]
<?php
if(isset($_GET['jojo']))
{
 
$jojo $_GET['jojo'];
 echo  
$jojo;
}else{
 echo 
"demás code";
}
?>



Saludos

2Fac3R

El punto/objetivo de meterlo antes en la variable para despues comprobarla con "isset()" es no escribir de nuevo todo el code despues ($_POST....), no se entonces si es error se sintaxis o es algo sobre las configuraciones (en windows tenia appserv y en linux tengo xampp).

No se si me explico...
Escuela de Hackers & Programación. http://ihackndev.blogspot.com/

#!drvy

Veras en el primer codigo, estas intentando utilizar una variable que no esta definida. Es normal que salte ese error. Seguramente el AppServer tendria desactivados los Notices de php.

Te pongo un ejemplo claro.

Tu tienes una taza de te que llamaremos tTe.
osease:
$tTe = $_GET['taza_de_te'];

Y te la quieres beber mas tarde..


$tTe = $_GET['taza_de_te'];
beber($tTe);


Si la taza de te ($_GET['taza_de_te']) esta llena, se cumplira. Pero si esta vacía que pasara ?

Por eso esta la función isset de php que comprueba si esta definida. No puedes beberte la taza de te antes de saber si esta llena o no.

Por tanto no debes utilizarla antes de comprobarla. Eso en PHP y en todos lados..
En este caso PHP te avisa (notice) que la variable no esta definida y que no se la puede beber (pues no existe) xD.

Saludos

2Fac3R

Exacto, por eso use la funcion "isset()"  :xD

Ya logre solucionar el tema, parece que fueron problemas con el xampp.
Zalu2
Escuela de Hackers & Programación. http://ihackndev.blogspot.com/

#!drvy

No se si lograste entenderme con el post anterior (espero que si).
Yo sigo insistiendo que primero compruebes que la variable este definida y luego la uses..

Saludos

2Fac3R

Si entendi man, muchas gracias.

Te refieres a que compruebe primero con la funcion isset que el contenido de $_GET tiene algo y despues lo meta en una variable para su posterior uso.
Escuela de Hackers & Programación. http://ihackndev.blogspot.com/