Foros del Web » Programando para Internet » PHP »

duda en formulario

Estas en el tema de duda en formulario en el foro de PHP en Foros del Web. Hola, tengo un formulario que se procesa a sí mismo. He buscado informacion y me he dado cuenta de que en algunos casos, para comprobar ...
  #1 (permalink)  
Antiguo 19/05/2008, 07:58
Avatar de PedroRodas  
Fecha de Ingreso: noviembre-2005
Ubicación: Cádiz
Mensajes: 393
Antigüedad: 18 años, 4 meses
Puntos: 0
duda en formulario

Hola, tengo un formulario que se procesa a sí mismo.

He buscado informacion y me he dado cuenta de que en algunos casos, para comprobar si se han enviado los datos sae pregunta:

if (isset($_POST['name_del_boton_submit']))

y en otros he visto

if ($_REQUEST['name_del_boton_submit'] != "" )

La verda es que no entiendo bien el por que usar una u otra opcion y en que se diferencian.

Alguien me ayuda un pocoo??Muchas gracias de antemano!!!
__________________
Genial concierto de Roger Waters, Pink Floyd siguen vivos!!!
  #2 (permalink)  
Antiguo 19/05/2008, 08:12
isra00
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: duda en formulario

Verás, Pedro, en PHP existen varias maneras de obtener datos: POST, GET y SESSION/COOKIE. El método POST obtiene los datos del envío de formularios, como es tu caso. Ahora bien, el array global $_REQUEST contiene una "mezcla" de todos los datos de los arrays $_POST, $_GET y $_SESSION.

Por tanto, si quieres recuperar un dato del formulario puedes usar tanto $_POST como $_REQUEST, aunque personalmente desaconsejo el uso de $_REQUEST ya que usándolo no sabremos de donde proviene el dato. Por ejemplo: estamos esperando que la variable "usuario" llegue por SESSION, pero si usamos $_REQUEST quizá la variable haya sido introducida por GET, lo cual representa un riesgo de seguridad para posibles ataques de cross-scripting.
  #3 (permalink)  
Antiguo 19/05/2008, 08:24
Avatar de PedroRodas  
Fecha de Ingreso: noviembre-2005
Ubicación: Cádiz
Mensajes: 393
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: duda en formulario

Hola isra00, muchas gracias por contestar, mas o menos me ha quedado claro, aunque t3ngo que seguir estudiando jeje. Pues bien usando $_POST este es un esquema de mi formulario, que no funciona.

Código PHP:
<html>
<body>
<?PHP
   
if (isset($_POST['procesar']))
    {
     echo 
"El apellido Ingresado es : $texto";
    }
    else
   {
 
?>
   <form action= "procesar.php" method = "POST">
   <input type = "text" name="texto">
   <input type = "submit" name="procesar" value="Enviar">
   </FORM>
 <?PHP
   
}
 
?>
</body>
</html>

-He probado a poner $_POST['texto'] en vez de $texto, pero tampoco funciona, aunque el problema está ahi, creo que hay algún error con la variable en el echo.

gracias de antemano
__________________
Genial concierto de Roger Waters, Pink Floyd siguen vivos!!!
  #4 (permalink)  
Antiguo 19/05/2008, 08:47
Avatar de PedroRodas  
Fecha de Ingreso: noviembre-2005
Ubicación: Cádiz
Mensajes: 393
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: duda en formulario

Este es el error que me da

Código:
Notice: Undefined variable: texto in c:\archivos de programa\easyphp1-8\www\procesar.php on line 6
El apellido Ingresado es :
__________________
Genial concierto de Roger Waters, Pink Floyd siguen vivos!!!
  #5 (permalink)  
Antiguo 19/05/2008, 09:04
Avatar de PedroRodas  
Fecha de Ingreso: noviembre-2005
Ubicación: Cádiz
Mensajes: 393
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: duda en formulario

Esta es la unica solucion que funciona que he encontrado. Pero esta muy rara porque en el primer $_REQUEST['procesar'] hay que poner comillas simples y en el segundo $_REQUEST[texto] no hay que ponerlas. Si no lo hago asi no funciona.

Código PHP:
<body>
<?PHP
   
if (isset($_REQUEST['procesar']))
    {
     echo 
"El texto Ingresado es : $_REQUEST[texto]";
    }
    else
   {
 
?>
   <form action= "procesar.php" method = "POST">
   <input type = "text" name="texto">
   <input type = "submit" name="procesar" value="Enviar">
   </form>
 <?PHP
   
}
 
?>
</body>
Quiero hacerlo de la forma, pero me da errores

Código PHP:
<html>
<Body>
<?
   
if (isset(($_POST['boton'])
    {
     echo 
"El apellido Ingresado es : $_apellido";
    }
    else
   {
 
?>
   <form action= "form1.php" METHOD = "POST">
   <input type= "text" NAME="apellido">
   <input type= "submit" NAME="boton" VALUE="Ejecutar">
   </form>
 <?
   
}
 
?>
</body>
</html>
__________________
Genial concierto de Roger Waters, Pink Floyd siguen vivos!!!
  #6 (permalink)  
Antiguo 19/05/2008, 09:25
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: duda en formulario

Que tal PedroRodas prueba de esta forma:

Código PHP:
<html> 
<Body> 
<? 
   
if (isset($_POST['boton']))
    { 
       
$apellido $_POST['apellido'];
       echo 
"El apellido Ingresado es : $apellido"
    } 
    else 
   { 
 
?> 
   <form action= "form1.php" method = "post"> 
   <input type= "text" NAME="apellido"> 
   <input type= "submit" NAME="boton" VALUE="Ejecutar"> 
   </form> 
 <? 
   

 
?> 
</body> 
</html>
Saludos.
  #7 (permalink)  
Antiguo 19/05/2008, 10:43
Avatar de PedroRodas  
Fecha de Ingreso: noviembre-2005
Ubicación: Cádiz
Mensajes: 393
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: duda en formulario

Si, muchas gracias me faltaba la linea

Código PHP:
$apellido $_POST['apellido']; 
Por que funciona dandole a $apellido el valor de $_POST['apellido'], y no funciona poniendo directamente $_POST['apellido'] en el echo?
__________________
Genial concierto de Roger Waters, Pink Floyd siguen vivos!!!
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 23:41.