elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  ayuda para un formulario de contacto
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda para un formulario de contacto  (Leído 3,300 veces)
mastertianmat3

Desconectado Desconectado

Mensajes: 61



Ver Perfil
ayuda para un formulario de contacto
« en: 31 Agosto 2006, 19:26 pm »

hola, tengo una duda acerca de esto:
tengo estos dos archivos de formulario de contacto en php, funcionan correctamente, y son faciles de modificar.
el unico problema es que asi el usuario no escriba nada en el formulario, este se envia y generea un correo bacio en mi buzon. ¿como puedo complementar este codigo para que no se envie si no tiene los campos llenos?

contact.php---------------------------------------------

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formulario de contacto</title>
</head>
<body bgcolor="e9e9e9">

<form method="post" action="enviar.php">
  <p>
  <?php
$ipi = getenv("REMOTE_ADDR");
$httprefi = getenv ("HTTP_REFERER");
$httpagenti = getenv ("HTTP_USER_AGENT");
?>
   
  <input type="hidden" name="ip" value="<?php echo $ipi ?>" />
  <input type="hidden" name="httpref" value="<?php echo $httprefi ?>" />
  <input type="hidden" name="httpagent" value="<?php echo $httpagenti ?>" />
  </p>
  <p><font face="arial" size="-1"><strong>Nombre:</strong></font> <br />
    <input type="text" name="visitor" size="35" />
    <br />
    <font face="arial" size="-1"><strong>Email:</strong></font><br />
    <input type="text" name="visitormail" size="35" />
    <br />
    <font face="arial" size="-1"><strong>Ciudad:</strong></font><br />
    <input type="text" name="visitorcity" size="35" />
    <br /> 
 
     <font face="arial" size="-1"><strong>Area a a contactar:</strong></font><br />
     <select name="attn" size="1">
       <option value=" Gerencia">Gerencia </option>
       <option value=" Ventas">Ventas</option>
       <option value=" Soporte tecnico">Soporte Tecnico</option>
     </select>
    <br/>

     <font face="arial" size="-1"><strong>Mensaje:</strong></font>
    <br/>
     <textarea name="notes" rows="4" cols="30"></textarea>
    <br/>
    <br/>
    <font  face="arial" size="-1">Verifique la informacion ingresada y pulse el boton enviar</font><br/>
    <br/>
    <input type="submit" value="Enviar" />
    <br/>
  </p>
</form>

</body>
</html>



enviar.php------------------------------------------

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Confirmacion</title>
<style type="text/css">
<!--
input {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: x-small;
color: #FFFFFF;

border: 1px solid #48546F;

}
-->
<!--
A:link {COLOR: #6C6C6C; TEXT-DECORATION: none}
  A:visited {COLOR: #6C6C6C; TEXT-DECORATION: none}
  A:active {TEXT-DECORATION: none}
  A:hover {
   COLOR: black;
   TEXT-DECORATION: underline;
   
   
} -->

-->
</style>
</head>
<body bgcolor="e9e9e9">
<?php
if(!$visitormail == "" && (!strstr($visitormail,"@") || !strstr($visitormail,".")))
{
echo "<h2>Has ingresado un mail incorrecto, intantalo de nuevo</h2>\n";
$badinput = "<h2>El mensaje no ha sido enviado</h2>\n";
}
if(empty($visitor) || empty($visitormail) || empty($notes ) || empty($visitorcity)) {
echo "<h2>No has llenado todos los campos, el email no ha sido enviado con exito</h2>\n";
}
echo $badinput;

$fecha = date("j / n / Y") ;


$attn = $attn ;
$subject = $attn;

$notes = stripcslashes($notes);

$message = "Area a contactar: $attn \n
De: $visitor\n
Email:($visitormail)\n
Ciudad: $visitorcity \n
Mensaje enviado: $notes \n
El mensaje fue enviado el $fecha\n

Informacion adicional:
IP = $ip \n
";

$from = "From: $visitormail\r\n";


mail("rrcreativos1@uniweb.net.co", $subject, $message, $from);

?>

<p align="left">
<font face="arial" size="-1">Muchas gracias por ponerte en contacto </font><?php echo $visitor ?> ( <?php echo $visitormail ?> )
<br />

<font face="arial" size="-1">El mensaje fue dirigido a:</font> <?php echo $attn ?>
<br />
<font face="arial" size="-1">Mensaje enviado:</font><br />
<?php $notesout = str_replace("\r", "<br/>", $notes);
echo $notesout; ?>
<br />
<font face="arial" size="-1">El mensaje fue enviado el: </font><?php echo $fecha ?>


<br />
<br />
<a href="contact.php">volver</a>
</p>

</body>
</html>


gracias de antemano por la ayuda que me presten


En línea

    
mastertianmat3

Desconectado Desconectado

Mensajes: 61



Ver Perfil
Re: ayuda para un formulario de contacto
« Respuesta #1 en: 31 Agosto 2006, 19:28 pm »

otra duda, en el contact.php hay una casilla de seleccion donde dice a donde quiere dirigir su email. hay alguna forma de independizar un mail para cada opcion?


En línea

    
Belem

Desconectado Desconectado

Mensajes: 205



Ver Perfil
Re: ayuda para un formulario de contacto
« Respuesta #2 en: 1 Septiembre 2006, 03:31 am »

Código:
f(!$visitormail == "" && (!strstr($visitormail,"@") || !strstr($visitormail,".")))
{
echo "<h2>Has ingresado un mail incorrecto, intantalo de nuevo</h2>\n";
$badinput = "<h2>El mensaje no ha sido enviado</h2>\n";
}
if(empty($visitor) || empty($visitormail) || empty($notes ) || empty($visitorcity)) {
echo "<h2>No has llenado todos los campos, el email no ha sido enviado con exito</h2>\n";
}
echo $badinput;


Creo que con eso trtatas de leer los datos que envia el formulario, pero te falta hacer la requisision de los mismos, por ejemplo si tengo la pagina enviar.htm con el siguiente code:
Código:
<form name="miFrm" action="form.php" method="post">
input type="text" name="nombre">
<input type="submit">
</form>
A la hora de enviar el formulario debe de haber otra page (PHP o ASP) que reciba los datos y trabaje ia con ellos, por ejemplo:
Código:
 <?php
/* form.php */
$nombre=$_POST['nombre'];
if($nombre=== "") {
   // bla bla bla
}
else {
// bla bla bla
}
?>
La otra es que veo que haces:
Código:
if(!$visitormail == "" && (!strstr($visitormail,"@") || !strstr($visitormail,".")))
{
echo "<h2>Has ingresado un mail incorrecto, intantalo de nuevo</h2>\n";
el signo de exclamacion significa "No" por lo tanto es como si pusieras (if not $visitormail), es decir "si no esta vacio envias el mensaje.."
Creo que deberia de ser algo como "si esta vacio"
Espero haberme explicado saludos..
En línea

[ *BELEM * ]
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda en formulario de contacto
PHP
eugeniocol 0 2,482 Último mensaje 16 Mayo 2017, 21:40 pm
por eugeniocol
Ayuda en formulario de contacto
PHP
eugeniocol 4 3,206 Último mensaje 20 Mayo 2017, 15:10 pm
por eugeniocol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines