Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/04/2011, 17:05
mglimas
 
Fecha de Ingreso: mayo-2006
Mensajes: 198
Antigüedad: 18 años
Puntos: 1
problema con formulario

Hola, resulta que tengo hecho un formulario en html y el archivo php que hace que me funcione y me envié el mail con los datos que el usuario haya puesto en el formulario. Ahora bien, tengo 2 cuestiones que quisiera resolver. En primer lugar, si no completo todos los datos requeridos, me sale un mensaje "complete los datos requeridos". Perfecto, pero quisiera que este mensaje me saliera en el mismo formulario, al pie y no como sucede, que carga una página en blanco que es la del arhivo php. ¿Como puedo lograrlo? La segunda cuestión es que quisiera que al igual que me sale ese mensaje si no se cargan todos los datos, quisiera que me salga un mensaje tipo "el formulario se envió correctamente" al enviarlo. ¿cómo se hace?

Les dejó el código que tengo y muchas gracias:

en el formulario html:

<!-- Formulario para completar con los datos -->

<form action="envia.php" method="POST">

<!--INICIO - Datos del formulario a completar -->
<table border="0" whidth="100%">
<tr>
<td align="rigth" width="19%"> Nombre: </td>
<td align="rigth" width="81%"> <input type="text" name="nombre" width="50" size=40></input><br/><br></td>
</tr>
<tr>
<td align="rigth" width="19%"> Apellido: </td>
<td align="rigth" width="81%"> <input type="text" name="apellido" width="50" size=40></input><br/><br></td>
</tr>
<tr>
<td align="rigth" width="19%"> Direccion: </td>
<td align="rigth" width="81%"> <input type="text" name="direccion" width="50" size=50></input><br/><br></td>
</tr>
<tr>
<td align="rigth" width="19%">Telefono: </td>
<td align="rigth" width="81%"><input type="text" name="telefono" width="50" size=40></input><br/><br></td>
</tr>
<tr>
<td align="rigth" width="19%">Email: </td>
<td align="rigth" width="81%"><input type="text" name="email" width="50" size=40></input><br/><br></td>
</tr>
<tr>
<td align="rigth" width="19%">Consulta:</td>
<td align="rigth" width="81%"> <textarea rows="9" name="consulta" cols="50"></textarea><br/><br></td>
</tr>


<!--FIN - Datos del formulario a completar -->
<tr>
<td width="19%"></td>
<td align="rigth" width="81%"> <input type="submit" value="Enviar e-mail" />
<input type="hidden" name="prioridad" value="3"/>
<input type="hidden" name="enviar" value="1"/></td>
</tr>
</table>
</form>
<!-- Fin Formulario para completar con los datos -->


Y en el archivo php:

<?php
$usersmtp ="[email protected]"; // Entre las comillas va una cuenta de correo de su panel de control
$pass="LIMASn4tos"; // Entre las comillas va el password de la cuenta de correo
$destino="[email protected]"; // Entre las comillas la direccion de correo donde va a recibir los mails

// Se verifica que los datos han sido enviados desde el formulario, para la validaci� con el SMTP
if ( $_POST['enviar'] == "1")
{
if ( $_POST['nombre'] != "" && $_POST['email'] != "" && $_POST['consulta'] != "" )

{
// Se incluye la librer� necesaria para el envio
require_once("fzo.mail.php");

$mail = new SMTP("localhost",$usersmtp,$pass);

// Se configuran los parametros necesarios para el env�
$de = $usersmtp;
$a = $destino;
$asunto = "E-mail Contacto web marcolimas";
$cc = $_POST['[email protected]'];
$bcc = $_POST['bcc'];


$cuerpo = "Este es un e-mail enviado desde el formulario de contacto de www.marcolimas.com.ar" . "\n";
$cuerpo .= "Nombre: " .$_POST['nombre'] . "\n";
$cuerpo .= "Telefono: " .$_POST['telefono'] . "\n";
$cuerpo .= "Email: " .$_POST['email'] . "\n";
$cuerpo .= "Consulta: " .$_POST['consulta'] . "\n";



$header = $mail->make_header(
$de,
$a,
$asunto,
$_POST['prioridad'],
$cc,
$bcc
);

/*
Pueden definirse m� encabezados. Tener en cuenta la terminaci� de la
linea con (\r\n)

$header .= "Reply-To: ".$_POST['from']." \r\n";
$header .= "Content-Type: text/plain; charset=\"iso-8859-1\" \r\n";
$header .= "Content-Transfer-Encoding: 8bit \r\n";
$header .= "MIME-Version: 1.0 \r\n";
*/

// Se envia el correo y se verifica el error
$error = $mail->smtp_send($de, $a, $header, $cuerpo, $cc, $bcc);
if ($error == "0")

header("Location: contacto.html");


else
echo $error;
}
else
{

echo("Complete los campos Requeridos");
}
}
?>