Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => 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 (php) [Seleccionar]

<?
$numero = "11";

if ($ver >= $numero)
{
echo "ok";
}

else
{
echo "no";
}
?>


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 (php) [Seleccionar]
<?php
$numero 
"11";
 
if (
$_GET['ver'] >= $numero)
{
echo 
"ok";
}
 
else
{
echo 
"no";
}

?>


Uso:
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!