Foros del Web » Programando para Internet » PHP »

algo raro en php, ojala me ayuden

Estas en el tema de algo raro en php, ojala me ayuden en el foro de PHP en Foros del Web. tengo un codigo php, que dice mas o menos asi. if (isset($enviar)){ haga muchas coasas; }else{ echo(formulario bla bla bal) echo (input type......); echo ("input ...
  #1 (permalink)  
Antiguo 06/08/2003, 11:29
 
Fecha de Ingreso: febrero-2003
Ubicación: La serena
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 0
algo raro en php, ojala me ayuden

tengo un codigo php, que dice mas o menos asi.

if (isset($enviar)){
haga muchas coasas;
}else{
echo(formulario bla bla bal)
echo (input type......);
echo ("input type = submint name=enviar y bla bla bla...".
echo ("</form>");
}
la idea es que pregunto si el si presiono el boton enviar, me haga las validacinoes, habra paginas y bla bla bla, de lo contrario que ejecute el form, lo raro de esto es que siempre me toma el isset como negativo, por lo cua,l siempre pasa al formulario, copielos mismos codigos , a un equipo que tiene apache, php en windows, y la wea funciona,?

que puede ser?
__________________
Hoy dia aprendí algo nuevo.
  #2 (permalink)  
Antiguo 06/08/2003, 11:34
Usuario no validado
 
Fecha de Ingreso: noviembre-2002
Mensajes: 18
Antigüedad: 15 años, 1 mes
Puntos: 0
Prueba con


Código PHP:
if (isset($_POST['enviar'])){ 

Puede funcionar pero depende de tu versión de php.


Saludos desde México.
  #3 (permalink)  
Antiguo 06/08/2003, 11:35
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
if (isset($_POST["enviar"])){


Debes tener el register_globals en off. Ademas es recomendable acostumbrarte a rescatar las variables desde su origen y no como globales.

__________________
Manoloweb
  #4 (permalink)  
Antiguo 06/08/2003, 11:37
 
Fecha de Ingreso: febrero-2003
Ubicación: La serena
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 0
como lo cambio a onn?

como lo cambio a onn?,
ademas no entendi eso de rescatar las variables del origen.
__________________
Hoy dia aprendí algo nuevo.
  #5 (permalink)  
Antiguo 06/08/2003, 11:38
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 15 años, 5 meses
Puntos: 10
pues debe ser pork el input del submit no tiene value, esto kiere decir k siempre llega vacio, en ves usar isset usa la funcion empty

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #6 (permalink)  
Antiguo 06/08/2003, 11:39
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
No, no te recomiendo que lo cambies a ON...

Es mejor usarlas así, segun de donde vengan...

$_GET["variable"] para las que vienen en el querystring
$_POST["variable"] para las que vienen de formularios con post

Te repito NO ES RECOMENDABLE usar las variables de GET o POST con solo su nombre.

Salud!
__________________
Manoloweb
  #7 (permalink)  
Antiguo 06/08/2003, 11:45
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
goncafa, la respuesta tiene que ver con el ambito de las variables, no con el contenido.
__________________
Manoloweb
  #8 (permalink)  
Antiguo 06/08/2003, 11:46
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 15 años, 5 meses
Puntos: 10
si aun sigues teniendo problemas solo haz esto en el codigo del input del submit

<input type="submit" name="enviar" value="1">

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #9 (permalink)  
Antiguo 06/08/2003, 11:47
Usuario no validado
 
Fecha de Ingreso: noviembre-2002
Mensajes: 18
Antigüedad: 15 años, 1 mes
Puntos: 0
Exacto, en todo caso creo que $_POST['enviar'] es el botón, entonces si es accionado el botón $_POST['enviar'] si tiene valor.


Saludos.
  #10 (permalink)  
Antiguo 06/08/2003, 11:53
 
Fecha de Ingreso: febrero-2003
Ubicación: La serena
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 0
ya lo puse en onn y no pasa nada, sigue el problema
__________________
Hoy dia aprendí algo nuevo.
  #11 (permalink)  
Antiguo 06/08/2003, 11:54
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 15 años, 5 meses
Puntos: 10
haz lo k te dije, deja tu codigo PHP tal cual lo tienes, solo cambia tu imput por el k puse yo

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #12 (permalink)  
Antiguo 06/08/2003, 11:56
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
para empezar, si lo pones en ONN no sirve, pues debe ser ON

En segundo lugar, despues de ponerlo, debes re-iniciar el server.

En tercer lugar, te repito que esa no es la forma correcta, pero si así lo deseas...

Hasta la vista
__________________
Manoloweb
  #13 (permalink)  
Antiguo 06/08/2003, 11:57
 
Fecha de Ingreso: febrero-2003
Ubicación: La serena
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 0
cambiandolo a if (isset($_POST["enviar"])){
si me funciono, ahora, una consluta, cual es el problema en poner en On el register_globals, que problemas traeria?
__________________
Hoy dia aprendí algo nuevo.
  #14 (permalink)  
Antiguo 06/08/2003, 11:57
Usuario no validado
 
Fecha de Ingreso: noviembre-2002
Mensajes: 18
Antigüedad: 15 años, 1 mes
Puntos: 0
Cita:
Mensaje Original por hardlock
ya lo puse en onn y no pasa nada, sigue el problema

Que pusiste en ON? register_globals?


Es mejor tenerlas OFF ;) y debes reiniciar el servidor para que los cambios tengan efecto.


Saludos
  #15 (permalink)  
Antiguo 06/08/2003, 11:58
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 15 años, 5 meses
Puntos: 10
vacicamente ninguno, es mas seguro tenerlo y usarlo en off solo para evitar errores k el mismo programador pueda tener sin fijarse

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #16 (permalink)  
Antiguo 06/08/2003, 12:00
Usuario no validado
 
Fecha de Ingreso: noviembre-2002
Mensajes: 18
Antigüedad: 15 años, 1 mes
Puntos: 0
Cita:
Mensaje Original por hardlock
cambiandolo a if (isset($_POST["enviar"])){
si me funciono, ahora, una consluta, cual es el problema en poner en On el register_globals, que problemas traeria?

Es más que nada para tener un control sobre las variables que vamos a utilizar. Osea, si vamos a usar una variable que viene de una petición tipo POST, vamos a utilizar $_POST['variable'] en lugar de $variable y asi sucesivamente con $_GET, $_SERVER y demás. Asi no nos confundimos y, como te digo, tenemos más control sobre las variables que utilizamos y sabemos de donde vienen, además, evitamos tener variables repetidas dándole su propio espacio a cada una.


Saludos.
  #17 (permalink)  
Antiguo 06/08/2003, 12:10
 
Fecha de Ingreso: febrero-2003
Ubicación: La serena
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 0
ok, me quedo claro, gracias a todos. lo que aun no entiendo es por que en el windows funciono y en mi linux no. gracias a todos
__________________
Hoy dia aprendí algo nuevo.
  #18 (permalink)  
Antiguo 06/08/2003, 12:18
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Pues no es tan simple como eso... puede traerte algunos problemas de seguridad, ya que alguien mal intencionado puede modificar ciertas variables en tu script con tan solo modificar el querystring, o enviando un formulario con datos alterados. Con register_globals en OFF, tu tienes al menos el control de decidir cual es la variable que deseas obedecer.

Saludos!
__________________
Manoloweb
  #19 (permalink)  
Antiguo 06/08/2003, 15:07
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Para que vean los "desastres" que puede pasar uniendo un mal estilo de programacion y register_globlas a ON:
Código PHP:
<?php
if ($_POST['usuario']=='pepe' && $_POST['pass']=='pepe') {
  
$ok=1;
}

if (
$ok==1) {
  echo 
'Esta es la informacion "Solo para tus ojos"';
} else {
  echo 
'Usuario y password incorrectos';
}
?>
y accedan a esta pagina con pagina.php?ok=1 y prueben lo que pasa con register_globals a on y a off. Es cierto que parte de culpa la tiene el codigo pobre, pero el register_globals a on lo empeora.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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




La zona horaria es GMT -6. Ahora son las 03:43.