Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: UNFORMAT en 8 Agosto 2010, 12:34 pm



Título: incompatibilidad con php 5
Publicado por: UNFORMAT en 8 Agosto 2010, 12:34 pm
Hola buenas!, tengo un script que hice hace ya algún tiempo (soy bastante novato) para php 4 y funcionaba bien. Ahora he actualizado a php 5 y ha dejado de funcionar.

Código
  1. <?
  2. $numero = "11";
  3.  
  4. if ($ver >= $numero)
  5. {
  6. echo "ok";
  7. }
  8.  
  9. else
  10. {
  11. echo "no";
  12. }
  13. ?>


en php 4 al poner archivo.php?ver=10 me daba "no" y al poner 11 o mayor me daba "ok" pero ahora no se lo que ha pasado que en php 5.2.8 da problemas....

a ver si me podeis ayudar jejej, desde ya muchas gracias!


Título: Re: incompatibilidad con php 5
Publicado por: UNFORMAT en 8 Agosto 2010, 13:36 pm
buenas... he estado investigando un poco más y he llegado a la conclusión que no es problema del script. Creo que más bien va a ser de PHP o Apache, porque me he instalado la última versión de php en mi equipo y funciona correctamente.

Parece ser alguna configuración del servidor, que no admite el envío de datos a través de URL. Pero que apartado de la configuración será¿?

gracias!


Título: Re: incompatibilidad con php 5
Publicado por: UNFORMAT en 8 Agosto 2010, 13:46 pm
Bueno ya podéis cerrar el tema  ;D

El problema estaba en que no estaba activado en la configuración de PHP register_globals


Saludos!!


Título: Re: incompatibilidad con php 5
Publicado por: #!drvy en 8 Agosto 2010, 13:52 pm
Yo no te recomiendo nada el register_globals... es una de las mayores cagadas de PHP..
Por algo lo han desactivado de PHP 5 XD


Saludos


Título: Re: incompatibilidad con php 5
Publicado por: UNFORMAT en 8 Agosto 2010, 13:54 pm
entonces que puedo utilizar??
mucho de los scripts que utilizo necesitan esto para funcionar


saludos!


Título: Re: incompatibilidad con php 5
Publicado por: #!drvy en 8 Agosto 2010, 14:24 pm
Pues eso es un error..si tu tienes una variable con la contraseña de algo por ejemplo yo mediante la url te la puedo cambiar :P
para las variables GET(via url) utiliza $_GET['nombrevariable'] y para los POST (via header) utiliza $_POST['nombrevariable'] para las cookies utiliza $_COOKIE['nombrecookie'] etc..

aqui tienes una lista de las predefinidas. http://www.php.net/manual/en/reserved.variables.php
y aqui el porque no utilizar register_globals. http://ca.php.net/manual/en/security.globals.php



Saludos


Título: Re: incompatibilidad con php 5
Publicado por: ~ Yoya ~ en 8 Agosto 2010, 17:52 pm
Código
  1. <?php
  2. $numero = "11";
  3.  
  4. if ($_GET['ver'] >= $numero)
  5. {
  6. echo "ok";
  7. }
  8.  
  9. else
  10. {
  11. echo "no";
  12. }
  13.  
  14. ?>

Uso:
Código:
http://127.0.0.1/a.php?ver=Valor

Solo tienes que leer un poco sobre los cambios de php4 a php5...


Título: Re: incompatibilidad con php 5
Publicado por: UNFORMAT en 8 Agosto 2010, 18:14 pm
Hola!
he leído los dos enlaces que me has enviado y ya todo me ha quedado más claro. La verdad que no tenia idea de que era un poco "inseguro".
Ahora me pondré y actualizaré todos los scripts que tengo con esto :-D
También me ha quedado claro la diferencia que hay entre POST y GET


Muchas gracias a am@s!