Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: 2Fac3R en 26 Noviembre 2011, 00:24 am



Título: Error extraño con PHP en linux
Publicado por: 2Fac3R en 26 Noviembre 2011, 00:24 am
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:
Código:
<?php
$jojo = $_GET['jojo'];
if(isset($jojo))
{
 echo $jojo;
}else{
 echo "demás code";
}
?>

Pero en linux (fedora) me da este error:

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

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

Código:
<?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.


Título: Re: Error extraño con PHP en linux
Publicado por: #!drvy en 26 Noviembre 2011, 00:31 am
Esto va en PHP (http://foro.elhacker.net/php-b68.0/).

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
  1. <?php
  2. if(isset($_GET['jojo']))
  3. {
  4. $jojo = $_GET['jojo'];
  5. echo  $jojo;
  6. }else{
  7. echo "demás code";
  8. }
  9. ?>


Saludos


Título: Re: Error extraño con PHP en linux
Publicado por: 2Fac3R en 26 Noviembre 2011, 00:40 am
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...


Título: Re: Error extraño con PHP en linux
Publicado por: #!drvy en 26 Noviembre 2011, 00:56 am
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:
Código:
$tTe = $_GET['taza_de_te'];

Y te la quieres beber mas tarde..

Código:
$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


Título: Re: Error extraño con PHP en linux
Publicado por: 2Fac3R en 30 Noviembre 2011, 05:17 am
Exacto, por eso use la funcion "isset()"  :xD

Ya logre solucionar el tema, parece que fueron problemas con el xampp.
Zalu2


Título: Re: Error extraño con PHP en linux
Publicado por: #!drvy en 30 Noviembre 2011, 05:30 am
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


Título: Re: Error extraño con PHP en linux
Publicado por: 2Fac3R en 30 Noviembre 2011, 23:07 pm
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.