Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Formulario PHP - validación y envío

Estas en el tema de Formulario PHP - validación y envío en el foro de PHP en Foros del Web. Hola amigos, quería saber si alguien me podría ayudar para que cuando el formulario se valide y sea correcto me redireccione a una página y ...
  #1 (permalink)  
Antiguo 03/05/2013, 08:13
 
Fecha de Ingreso: julio-2010
Mensajes: 7
Antigüedad: 13 años, 9 meses
Puntos: 0
Pregunta Formulario PHP - validación y envío

Hola amigos, quería saber si alguien me podría ayudar para que cuando el formulario se valide y sea correcto me redireccione a una página y si es incorrecto me dirija a otra.

Si alguien me puede ayudar con algún código y decirme donde lo pongo por favor:

Código HTML:
<link href="estilacho.css" rel="stylesheet" type="text/css">

 <!-- Mostar envio -->
 <script language="javascript" src="jquery-1.3.min.js"></script>
  <script language="javascript">
$(document).ready(function() {
    $().ajaxStart(function() {
        $('#loading').show();
        $('#result').hide();
    }).ajaxStop(function() {
        $('#loading').hide();
        $('#result').fadeIn('slow');
    });
    $('#form, #fat, #fo3').submit(function() {
        $.ajax({
            type: 'POST',
            url: $(this).attr('action'),
            data: $(this).serialize(),
            success: function(data) {
                $('#result').html(data);

            }
        })
        
        return false;
    }); 
})  
</script>
  <!-- fin mostrar envio -->

_____________________

 <!-- Formulario -->
 <div id="formulario">
   
<form action="enviar_icreadev.php" method="post" id="fo3" name="fo3" >
<table width="350" height="488" border="0" align="left">
  <tr>
    <td width="342" height="12" align="left">APELLIDOS</td>
    <td width="1" colspan="2" rowspan="16">&nbsp;</td>
    </tr>
  <tr>
    <td height="12" align="left"><input type="text" name="apellidos" id="apellidos" class="ingresos" /></td>
    </tr>
  <tr>
    <td height="16" align="left">NOMBRE</td>
    </tr>
  <tr>
    <td height="16" align="left"><input type="text" name="nombre" id="nombre" class="ingresos" /></td>
    </tr>
  <tr>
    <td height="16" align="left">EMPRESA</td>
    </tr>
  <tr>
    <td height="16" align="left"><input type="text" name="empresa" id="empresa" class="ingresos" /></td>
    </tr>
  <tr>
    <td height="16" align="left">CORREO ELECTRÓNICO</td>
    </tr>
  <tr>
    <td height="16" align="left"><input type="text" name="email" id="email" class="ingresos" /></td>
    </tr>
  <tr>
    <td height="8" align="left">TELÉFONO FIJO</td>
    </tr>
  <tr>
    <td height="8" align="left"><input type="text" name="phone" id="phone" class="ingresos" /></td>
  </tr>
  <tr>
    <td height="18" align="left">TELÉFONO MÓVIL</td>
  </tr>
  <tr>
    <td height="18" align="left"><input type="text" name="movil" id="movil" class="ingresos" /></td>
  </tr>
  <tr>
    <td height="19" align="left">NOS HA CONOCIDO POR</td>
    </tr>
  <tr>
    <td height="42" align="left"><input type="text" name="meet" id="meet" class="ingresos" /></td>
  </tr>
  <tr>
    <td height="19" align="left">ASUNTO</td>
  </tr>
  <tr>
    <td height="43" align="left"><input type="text" name="asunto" id="asunto" class="ingresos" /></td>
  </tr>
  <tr>
    <td height="18" colspan="3" align="left">MENSAJE</td>
    </tr>
  <tr>
    <td height="101" colspan="3" align="left"><textarea name="mensaje" id="mensaje" cols="45" rows="5" class="mensaje"></textarea></td>
    </tr>
  <tr>
    <td height="34" colspan="3" align="left" valign="top"><p>
      <input name="enviar" type="submit" id="enviar" value=" ENVIAR" />
    </p></td>
    </tr>
  </table>
</form>
		<div id="result"></div>

 </div>
<!-- Fin formulario --> 
Código PHP:
<?php 
// Mensaje que se enviara a tu correo 
$mensaje=""
  
$mensaje.="Formulario de Contacto:""\n\n"
$mensaje.="Nombre: ".$_POST['nombre']."\n"
$mensaje.="Apellidos: ".$_POST['apellidos']."\n"
$mensaje.="Empresa: ".$_POST['empresa']."\n"
$mensaje.="Email: ".$_POST['email']."\n"
$mensaje.="Telefono: ".$_POST['phone']."\n"
$mensaje.="Movil: ".$_POST['movil']."\n"
$mensaje.="Nos ha conocido por: ".$_POST['meet']."\n"
$mensaje.="Asunto: ".$_POST['asunto']."\n"
$mensaje.="Mensaje: ".$_POST['mensaje']."\n"
// Aqui pon el correo donde llegaran los mensajes 
$to="[email protected]"
$subject"".$_POST['asunto'].""
$from"".$_POST['nombre']."";   
    
$headers  "From: $from"
     
// Vamos a verificar si funciono el envio 
if (@mail($to,$subject,$mensaje,$headers)) { 
    echo 
'<p align="center"><strong>Mensaje enviado correctamente, Gracias!</strong></p>'
} else { 
    echo 
'<p align="center"><strong>No se pudo enviar el mensaje</strong> '.@$_POST['fname'].'</p>'

?>
Muchas gracias por vuestra atención :)
  #2 (permalink)  
Antiguo 03/05/2013, 09:20
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Formulario PHP - validación y envío

estás usando AJAX, por lo que deberías devolver algún parámetro o la url y verificarlo en el onreadystatechange (success para jquery), allí redireccionarías con JS con window.location.

aunque de ser así, no tendría sentido usar ajax, envía el form normal y redirecciona desde PHP con header location
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 04/05/2013, 03:11
 
Fecha de Ingreso: julio-2010
Mensajes: 7
Antigüedad: 13 años, 9 meses
Puntos: 0
Pregunta Respuesta: Formulario PHP - validación y envío

Cita:
Iniciado por maycolalvarez Ver Mensaje
estás usando AJAX, por lo que deberías devolver algún parámetro o la url y verificarlo en el onreadystatechange (success para jquery), allí redireccionarías con JS con window.location.

aunque de ser así, no tendría sentido usar ajax, envía el form normal y redirecciona desde PHP con header location
Lo siento, pero me podrías hacer un ejemplo con mi codigo o si tengo que escribir uno nuevo?? porque son novato en esto.

Gracias de antemano :)
  #4 (permalink)  
Antiguo 04/05/2013, 11:10
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Formulario PHP - validación y envío

mas o menos seria como esto primero en el php debes modificar la parte donde validas el envio del correo

Código PHP:
Ver original
  1. // Vamos a verificar si funciono el envio
  2. if (@mail($to,$subject,$mensaje,$headers)) {
  3.     echo 1;
  4. } else {
  5.     echo 0;
  6. }

Luego en la parte del javascript tendrias que podificar estar parte

Código Javascript:
Ver original
  1. <script language="javascript">
  2. $(document).ready(function() {
  3.     $().ajaxStart(function() {
  4.         $('#loading').show();
  5.         $('#result').hide();
  6.     }).ajaxStop(function() {
  7.         $('#loading').hide();
  8.         $('#result').fadeIn('slow');
  9.     });
  10.     $('#form, #fat, #fo3').submit(function() {
  11.         $.ajax({
  12.             type: 'POST',
  13.             url: $(this).attr('action'),
  14.             data: $(this).serialize(),
  15.             success: function(data) {
  16.                 if(($.trim(data)) == 1){
  17.                     window.location="index.php";
  18.                 }else{
  19.                     window.location="otro.php";
  20.                 }  
  21.  
  22.             }
  23.         })
  24.        
  25.         return false;
  26.     });
  27. })  
  28. </script>

Espero te sirva, mira la idea fundamental es esa posiblemente no funcione a la primera pero ahi nada mas es de perfecionar un poco
  #5 (permalink)  
Antiguo 04/05/2013, 11:44
 
Fecha de Ingreso: julio-2010
Mensajes: 7
Antigüedad: 13 años, 9 meses
Puntos: 0
De acuerdo Respuesta: Formulario PHP - validación y envío

Cita:
Iniciado por alex1084 Ver Mensaje
mas o menos seria como esto primero en el php debes modificar la parte donde validas el envio del correo

Código PHP:
Ver original
  1. // Vamos a verificar si funciono el envio
  2. if (@mail($to,$subject,$mensaje,$headers)) {
  3.     echo 1;
  4. } else {
  5.     echo 0;
  6. }

Luego en la parte del javascript tendrias que podificar estar parte

Código Javascript:
Ver original
  1. <script language="javascript">
  2. $(document).ready(function() {
  3.     $().ajaxStart(function() {
  4.         $('#loading').show();
  5.         $('#result').hide();
  6.     }).ajaxStop(function() {
  7.         $('#loading').hide();
  8.         $('#result').fadeIn('slow');
  9.     });
  10.     $('#form, #fat, #fo3').submit(function() {
  11.         $.ajax({
  12.             type: 'POST',
  13.             url: $(this).attr('action'),
  14.             data: $(this).serialize(),
  15.             success: function(data) {
  16.                 if(($.trim(data)) == 1){
  17.                     window.location="index.php";
  18.                 }else{
  19.                     window.location="otro.php";
  20.                 }  
  21.  
  22.             }
  23.         })
  24.        
  25.         return false;
  26.     });
  27. })  
  28. </script>

Espero te sirva, mira la idea fundamental es esa posiblemente no funcione a la primera pero ahi nada mas es de perfecionar un poco
Muchísimas gracias Alex, me has ayudado mucho, funciona a la perfección :) . Te lo agradezco muchísimo...

Etiquetas: formulario, html
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:03.