Foros del Web » Programando para Internet » PHP »

No Funcionan las Estructuras de Control

Estas en el tema de No Funcionan las Estructuras de Control en el foro de PHP en Foros del Web. Saludos. Instale PHP en Windows 2000 Profesional. Al colcoar el siguiente código: <? echo phpinfo(); ?> Me muestra las variables del PHP en mi PC. ...
  #1 (permalink)  
Antiguo 20/11/2002, 06:31
Avatar de joseisrael  
Fecha de Ingreso: noviembre-2002
Ubicación: Maracay, Edo. Aragua
Mensajes: 221
Antigüedad: 21 años, 4 meses
Puntos: 1
Pregunta No Funcionan las Estructuras de Control

Saludos.

Instale PHP en Windows 2000 Profesional.

Al colcoar el siguiente código:

<? echo phpinfo(); ?>

Me muestra las variables del PHP en mi PC. Todo perfecto.

Pero si hago un aestructura de control, ,por ejemplo:

<?
if ($ACTION == "") {
?>
Ingresa tu nombre - <? echo $ACTION; ?>-<bR>
<FORM METHOD="POST" ACTION="index.php" NAME="FORMULARIO">
<INPUT TYPE="text" NAME="NOMBRE" VALUE="">
<INPUT TYPE="hidden" NAME="ACTION" VALUE="1">
<INPUT TYPE="submit" NAME="submit" VALUE="submit">
</FORM><bR>
<?echo phpinfo();?>
<?
}else{
echo "Tu nombre es: " . $NOMBRE;
}
?>


No funciona, es decir, siempre actua como si $ACTION == ""

Qué será?

Por qué no funcionan las estructuras de Control??

Gracias
__________________
Aprender Siempre. Lema de Vida

José Molina
  #2 (permalink)  
Antiguo 20/11/2002, 06:41
Avatar de joseisrael  
Fecha de Ingreso: noviembre-2002
Ubicación: Maracay, Edo. Aragua
Mensajes: 221
Antigüedad: 21 años, 4 meses
Puntos: 1
Listo

Saludos.

Ok, Gracias a Cluster por dejar su nota en las FAQ's de PHP.

La cosa es que por defecto al instalar el PHP existe una variable (register_globals) que viene en status "OFF".

Hay que ingresar al pnp.ini y cambiarla a status "ON".

Gracias Cluster
__________________
Aprender Siempre. Lema de Vida

José Molina
  #3 (permalink)  
Antiguo 20/11/2002, 14:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Sigue leyendo las FAQ's q a continuacion de esa nota hay otra q explica como tendrias q trabajar de forma seguro con tus variables usando el array "superglobal".

En tu caso .. deberias usar (ya q empleas metodo POST):

if ($_POST['ACTION'] == "") {


echo "Tu nombre es: " . $_POST['NOMBRE'];

Y así con todas las variables q uses .. Con ese método .. tu script funcionará en servidores con register globals a ON o a OFF independientemente .. Será mas seguro (pues solo aceptaras las variables q entren por el método esperado) y será compatible con futuras versiones de PHP .. pues segun "dicen" .. el acceso a variables globales ($por_su_nombre) será eliminado a futuro siendo register_globalas a OFF por defecto y sin poder cambiarlo como ahora es posible ..

Un saludo,
  #4 (permalink)  
Antiguo 21/11/2002, 05:27
Avatar de joseisrael  
Fecha de Ingreso: noviembre-2002
Ubicación: Maracay, Edo. Aragua
Mensajes: 221
Antigüedad: 21 años, 4 meses
Puntos: 1
Es decir que...???

Saludos.

Amigo Cluster, es decir, que PHP ahora se va a poner igual que ASP??....que hay que especificar si las variables vienen por uno o por otro método??

Y yo que desarrollo en PHP para ahorrarme ese proceso.

Y que pasará con los desarrollos anteriores a esas versiones nuevas de PHP???

Me parece un poco loco eso.

De todas formas gracias por todo.

Gracias
__________________
Aprender Siempre. Lema de Vida

José Molina
  #5 (permalink)  
Antiguo 21/11/2002, 05:55
Avatar de jnegro  
Fecha de Ingreso: diciembre-2001
Ubicación: Salta
Mensajes: 238
Antigüedad: 22 años, 4 meses
Puntos: 0
Si en el php.ini tenés "register globals ON " no hace falta especificar si son variables get, post cookies o sessions, en general, si bién por defecto vienen "off" en la instalación, la mayoría de los hostings las tienen en "on".

Por lo de aplicaciones previas, se reconocen igual $_POST["tuvariable"] y $HTTP_POST_VARS["tuvariable"] que era el método usado en versiones previas así que no deberían existir inconvenientes.

Éxitos

Julio
  #6 (permalink)  
Antiguo 21/11/2002, 07:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
joseisrael ...

PHP hasta el momento como te han dicho .. puede trabajar de las dos formas ...

Si entendieses el porqué es mas seguro usar los arrays asociados .. creo q usarias los arrays asociados al método de envio de las variables o de donde provengan ...

Los desarrollos de las aplicaciones en PHP q asumian todo variable como global ya están cambiando, pero si tu estas haciendo aplicaciones PHP hoy .. y sigues en las mismas de no usar los arrays asociados .. no se avanza mucho ... Usalas!. Y averigüa porqué usarlas (en las FAQ's de PHP del foro hablo de eso ..).

Si no quieres usarlas .. sique con register_globals a ON .. el dia q PHP le de por dejar esa directiva a OFF en las nuevas versiones de PHP veremos q pasa .. Avisado está toda la comunidad de progrmadores PHP .. desde la version 4.1.0 de PHP que están disponibles los arrays tipo: $_xxxx .. y desde antes ya estaban disponibles los $HTTP_xxx_VARS ... (y de esto hace un año mas o menos) .. Lo que sucede es q desde la version 4.2.x .. PHP sacó la directiva register_globals a OFF por DEFECTO .. para q se enteré la gente de una vez por toda q han de usar los arrays superglobales ...

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:24.