Foros del Web » Programando para Internet » PHP »

Mostrar error si el form no se envia

Estas en el tema de Mostrar error si el form no se envia en el foro de PHP en Foros del Web. Amigos: Tengo un form en la misma página donde lo proceso, es decir, todo esta en formulario.php. Lo que intento hacer es: 1 - presentar ...
  #1 (permalink)  
Antiguo 02/07/2008, 07:13
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 21 años, 3 meses
Puntos: 7
Mostrar error si el form no se envia

Amigos:

Tengo un form en la misma página donde lo proceso, es decir, todo esta en formulario.php.
Lo que intento hacer es:

1 - presentar el form si es la primera vez que llega a esa pagina
2 - si envia el form, lo valido y si da error debo mostrar dicho mensaje de error y debajo mostrar de nuevo el form.
3 - Si el form se envia solo mostrar el mensaje de agradecimiento.

La validacion del form la hago con una funcion.
Generalmente lo hacia en 2 archivos, pero ahora lo necesito hacer todo en el mismo archivo.
Alguien que pueda orientarme de como es la sintaxis???
Desde ya gracias.

ARMANDOWEB
__________________
www.awdesarrollos.com.ar - [twitter: @armandoweb] - [Skype: awdesarrollos"]
  #2 (permalink)  
Antiguo 02/07/2008, 08:12
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Mostrar error si el form no se envia

Hola armandoweb,

La idea es que envies el formulario hacia si mismo por ejemplo:
Código PHP:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Luego comparas al inicio de tu PHP:
Código PHP:
if( count$_POST ) > ) { // los valores se enviaron
       // validas
       // si es valido muestras el mensaje de OK
}

// dibujas tu form 
Saludos.
  #3 (permalink)  
Antiguo 02/07/2008, 10:52
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 21 años, 3 meses
Puntos: 7
Respuesta: Mostrar error si el form no se envia

GatorV:

Este es el código de formulario.php

Código PHP:
           if(count( $_POST ) > 0 ) { 
            
            define( 'parentFile' , 1 );
              include ("includes/funciones.php");
            
            if (isset ($_POST ["email"]) and ($_POST ["email"]!=""))    {        
            
            $email = ($_POST["email"]);
            
                enviaremail ($email);
                
                print ("El mensaje fue enviado");
            
            } else {
                
                print ("Debe igresar una dirección válida!!");
       
        }
        print ('<form  method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">');
          print ('<p>');
        print ('<input name="email" type="text" id="email" />');
        print ('</p>');
        print ('<p>');
        print ('<input type="submit" name="Submit" value="Enviar" />');
        print ('</p>');
        print ('</form>');
Cuando intento ver fomulario.php no me muestra nada....
Donde puede estar el error???
Gracias.
__________________
www.awdesarrollos.com.ar - [twitter: @armandoweb] - [Skype: awdesarrollos"]

Última edición por armandoweb; 02/07/2008 a las 11:05
  #4 (permalink)  
Antiguo 02/07/2008, 12:21
 
Fecha de Ingreso: mayo-2008
Ubicación: Andalucía
Mensajes: 78
Antigüedad: 16 años
Puntos: 8
Respuesta: Mostrar error si el form no se envia

y digo yo, ¿y si utilizas AJAX? porque es lo que te está pidiendo el cuerpo en este caso.

En cualquier caso, he mirado el código y esta línea me parece un poco rara
print ('<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">');
yo la sustituiría por
print ('<form method="post" action=" '.$_SERVER['PHP_SELF'].' ">');
pero vamos, no veo ningún error más. Tambien podrías probar a ver que te devuelve count($_POST)

Por cierto, tengo curiosidad por saber cual es el motivo de causa mayor que te obliga a hacerlo en un único script.
__________________
Javier López
Diseño y Programación Web
  #5 (permalink)  
Antiguo 02/07/2008, 12:40
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 6 meses
Puntos: 25
Respuesta: Mostrar error si el form no se envia

Te recomiendo que verficiques la dATA haciendo 2 cosas.. imprimiendo todo con print_r(); y imprimiendo tu SQL en dado caso que lo tengas.
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #6 (permalink)  
Antiguo 02/07/2008, 12:40
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 21 años, 3 meses
Puntos: 7
Respuesta: Mostrar error si el form no se envia

Flai:

hacieno todo en un solo archivo simplifico mucho las cosas, ya que tengo demasiados archivos en el sitio web.

El código que he puesto, tomando en cuenta lo que dijo GatorV, no me muestra nada, me aparece la página en blanco.

Donde coloco la funcion enviaremail(), valido la direccion de email y si esta correcta la dirección, envio el email con la funcion mail(), luego deberia mostrar el mensaje de "Mensaje enviado!!", si ese envio falla porque la direccion es inválida, debería mostrar el mensaje de erro "Mensaje no enviado" y mostrar de nuevo el form, debajo del mensaje anterior.

Eso es lo que prentedo hacer y no sale.....

ARMANDOWEB
__________________
www.awdesarrollos.com.ar - [twitter: @armandoweb] - [Skype: awdesarrollos"]
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 07:29.