Foros del Web » Programando para Internet » PHP »

Pasar variables

Estas en el tema de Pasar variables en el foro de PHP en Foros del Web. Saludos, tengo un problema quiero que al hacer click a un boton se vuelva a la misma pagina pero pasandole un parametro adicional a los ...
  #1 (permalink)  
Antiguo 16/06/2006, 18:28
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años, 6 meses
Puntos: 8
Pasar variables

Saludos, tengo un problema quiero que al hacer click a un boton se vuelva a la misma pagina pero pasandole un parametro adicional a los que por defecto pasan (los valores ingresados en el form).

Lo que e hecho esta asi:
Código PHP:
<form name="newsector" action="<? echo $_SERVER['PHP_SELF']."?secat=nuevosector"?>" method="get">
Si algo esta mal por favor decidmelo, muchas gracias.
__________________
El aprendiz.
  #2 (permalink)  
Antiguo 16/06/2006, 18:37
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 19 años
Puntos: 281
lo lo veo todo bien. si fuera yo no usaria los tags cortos de php, pero te funciona igual.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #3 (permalink)  
Antiguo 16/06/2006, 21:13
Avatar de caneva  
Fecha de Ingreso: junio-2006
Ubicación: Sevilla (España)
Mensajes: 81
Antigüedad: 18 años, 5 meses
Puntos: 1
Veo un problema del que quizás no te has percatado, si pasas variables mediante urls estas serán visibles y lo que es más importante editables por el usuario, ergo si no quieres tener problemas de seguridad deberías o bien configurar correctamente tu php.ini, para que no permita los valores de variables modificadas por el usuario mediante edición de la url (*), o por otro lado asegurarte de establecer que valores puede adquirir la variable y el resto eliminarlos.

Ejemplo de esto último:
Código PHP:
<?php
if ($secat==nuevosector || $secat==otrosector || $secat==otro2sector )
{
/* Este es un valor previsto, es decir correcto, 
por lo tanto podemos fiarnos del valor de la variable */
}
else
{
echo 
'Este es un valor no permitido de la variable. 
Porfavor no toquitees la dirección =)'
;
}
?>
* Si tu hosting es compartido comprueba como está configurada esta opción mediante la función siguiente:
Código PHP:
<?php phpinfo(); ?>
El problema que si no esta desactivada (la modificación por parte del usuario de variables en la url) no podrás activarla al ser un hosting compartido y tendrás que usar el otro método a la fuerza.
__________________
Cita:
"El camino empieza renunciando al control, y volviéndose flexibles."

Última edición por caneva; 16/06/2006 a las 21:19
  #4 (permalink)  
Antiguo 17/06/2006, 09:25
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años, 6 meses
Puntos: 8
en la etiqueta <form> puse el method "get" para ver las variables que se pasaban y en la barra de direcciones no aparece la variable "secat" solo aparecen los valores enviados desde el formulario. Algo asi:

Código PHP:
http://localhost/aychaweb3/admin/nuevo.php?sector=Menudencia&guardar=Guardar 
No veo por ningun lado la variable secat.
__________________
El aprendiz.
  #5 (permalink)  
Antiguo 17/06/2006, 11:20
Avatar de caneva  
Fecha de Ingreso: junio-2006
Ubicación: Sevilla (España)
Mensajes: 81
Antigüedad: 18 años, 5 meses
Puntos: 1
Si yo pongo en mi navegador esta web:
http://localhost/aychaweb3/admin/nuevo.php?sector=Menudencia2&guardar=Guardar
en vez de la que tu has puesto:
http://localhost/aychaweb3/admin/nue...uardar=Guardar

Tu variable $secat o la equivalente que adquiera el valor de $sector en tu caso, que ignoro cual es, pasará a ser, si no has tenido en cuenta lo explicado en mi post, Menudencia2 y no Menudencia, he aquí el problema.
__________________
Cita:
"El camino empieza renunciando al control, y volviéndose flexibles."
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 21:36.