Variables "Super" Globales o Progapar Vbles

Felipe
12 de Enero del 2004
En el trabajo me pusieron a pasar un codigo de linux a windows pero he tenido una serie de problemas.

Linux tiene PHP 4.0.3 y otro Linux con PHP 4.2.3, Windows tiene IIS y PHP 4.3.4

Problema 1: En linux este codigo no me saca error y en windows si saca error.

"archivo1.php"

<?php
echo ('Vble: '.$i);
?>


Problema 2: El codigo actual en Linux crea variables que vienen de POST y el valor de estas se mantienen por todos los archivos PHP, pero en Windows no.

"archivo2.php"

<html>
<body>
<form action=archivo3.php method=post>
<input name=codigo><input type=submit>
</form>
</body>
</html>

"archivo3.php"

<?php
header("location:archivo4.php");
?>

"archivo4.php"

<?php
echo $codigo; ACA SACA ERROR EN WINDOWS EN LINUX NO
?>

El error siempre es (Undefined variable: codigo in ....), la posible solucion seria modificar la variable por $_POST, pero el codigo es extenso y tendria que modificar mucho codigo.

COMO PUEDO SOLUCIONAR TODO ESTO ???

GRACIAS


rargueso
12 de Enero del 2004
Es porque en las versiones antiguas de php (da igual linux o windows) la directiva de php register_globals esta a on y en las nuevas esta a off.

Chavalina
12 de Enero del 2004
A mi me ocurre más o menos lo mismo, las variables en el archivo de destino del formulario me salen vacías.

Cómo puedo poner esa directiva a on??
Está en algún fichero de configuración de PHP? no sé mucho de esto...

Saludos!

charro
12 de Enero del 2004
tienes que ir al directorio de apache (o el servidor que tengas) y modificar esa directiva en el php.ini

rargueso
12 de Enero del 2004
O usar un .htaccess (apache) en el directorio sobreescribiendo esa directiva