Foros del Web » Programando para Internet » PHP »

enviar mail y validar los campos

Estas en el tema de enviar mail y validar los campos en el foro de PHP en Foros del Web. muy buenas tardes soy nuevo en lo referente a la programacion en web..... necesito una consulta y asesora de parte de ustedes necesito enviar un ...
  #1 (permalink)  
Antiguo 25/05/2011, 13:39
 
Fecha de Ingreso: mayo-2011
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
Pregunta enviar mail y validar los campos

muy buenas tardes soy nuevo en lo referente a la programacion en web.....

necesito una consulta y asesora de parte de ustedes

necesito enviar un formulario mediante php

este el siguiente codigo que me brindo un amigo que a el si le funciono

************************************

<?php
/*
Template Name: Contactenos
*/
get_header(); ?>
<? function vblank($cadena){if(trim($cadena)==""){return true;}return false;}
$error = $error1 = $error2 = $error3 = $error4 = $error5 = $error6 = false;
$send = false;

if(isset($_POST['enviar']) && $_POST['enviar']=="contact-form"){
if(vblank($_POST["nombre"])){
$error1 = true;
}
if(vblank($_POST["asunto"])){
$error2 = true;
}
if(vblank($_POST["mensaje"])){
$error3 = true;
}
$error = $error1+$error2+$error3+$error4;
if($error == false){
$data=
"Fecha:\t ".date("d/M/Y")."\n".
"Nombre:\t ".$_POST['nombre']."\n".
"Correo:\t ".$_POST['correo']."\n".
"Mensaje:\t ".$_POST['mensaje']."\n";
mail("[email protected]",$_POST['asunto'],$data);
$send = true;
}else{
$inputError = "inputError";
}
}
?>
<div id="container" class="container clear">
<div id="content" class="content content-bg with-sidebar2 clear extra-margin page">
<h3 class="title">Contáctenos</h3>
<div class="help">
<p>Para su conformidad, usted puede llenar este formulario. Haciendonos llegar sus preguntas y sugerencias.</p>
</div>
<div id="contactenos">
<form name="contact-form" method="post" action="<?php bloginfo('url'); ?>/?page_id=82">
<fieldset><legend class="hide">Datos generales del contacto</legend>
<?php if($send): ?>
<div class="exito">
<p>Su mensaje fue enviado satÃ*sfactoriamente. Gracias por contactarnos.</p>
</div>
<div class="spacer-mindiv"></div>
<?php endif; ?>
<?php if($inputError == "inputError"): ?>
<div class="error">
<p>Debe rellenar los campos con la etiqueta "Requerido".</p>
</div>
<div class="spacer-mindiv"></div>
<?php endif;?>
<p>
<label for="nombre" class="required">Nombre completo * <span class="hide">Requerido</span>:</label>
<input name="nombre" type="text" class="inputText <?php if($error1)echo $inputError; ?>" tabindex="" />
</p>

<p>
<label for="correo" class="required">Correo electr&oacute;nico:</label>
<input type="text" name="correo" class="inputText" tabindex="<" id="correo" />
</p>

<p>
<label for="nombre" class="required">País * <span class="hide">Requerido</span>:</label>
<input name="nombre" type="text" class="inputText <?php if($error1)echo $inputError; ?>" tabindex="" />
</p>


<p>
<label for="nombre" class="required">Ciudad * <span class="hide">Requerido</span>:</label>
<input name="nombre" type="text" class="inputText <?php if($error1)echo $inputError; ?>" tabindex="" />
</p>
<p>
<label for="nombre" class="required">Organización * <span class="hide">Requerido</span>:</label>
<input name="nombre" type="text" class="inputText <?php if($error1)echo $inputError; ?>" tabindex="" />
</p>
<p>
<label for="asunto" class="required">Asunto * <span class="hide">Requerido</span>:</label>
<input type="text" name="asunto" class="inputText <?php if($error2)echo $inputError; ?>" tabindex="" id="correo" />
</p>
<p class="position_relative">
<label for="str_mensaje" class="required">Mensaje * <span class="hide">Requerido</span>:</label>
<textarea name="mensaje" cols="30" rows="10" class="inputTextarea <?php if($error3)echo $inputError; ?>" tabindex=""></textarea>
<span class="TextArea"></span>
</p>
<p class="submitSearch">
<input name="Submit" type="submit" class="submit" tabindex="" value="Enviar información" />
<input name="enviar" type="hidden" value="contact-form" />
</p>
</fieldset>
</form>
</div>

</div>


</div>
</div>
<?php get_footer(); ?>




*************************************


trate de utilizar el mismo y a la hora de enviarme a mi mismo el formulario no pasa nada


este es lo ke modifique


*****************************************

<?php
/*
* Template Name: Contactenos
*/
get_header(); ?>

<!--Lista nombre de paises-->
<?php
global $wpdb;
$events = $wpdb->get_results("SELECT nombre FROM wp_pais");
?>

<? function vblank($cadena){if(trim($cadena)==""){return true;}return false;}
$error = $error1 = $error2 = $error3 = $error4 = $error5 = $error6 = false;
$send = false;

if(isset($_POST['enviar'])){
if(vblank($_POST["nombre"])){
$error1 = true;
}
if(vblank($_POST["asunto"])){
$error2 = true;
}
if(vblank($_POST["mensaje"])){
$error3 = true;
}
$error = $error1+$error2+$error3+$error4;
if($error == false){

$mail_destinatario="[email protected]";

$data.=
"Fecha:\t ".date("d/M/Y")."\n".
"Nombre:\t ".$_POST['nombre']."\n".
"Correo:\t ".$_POST['correo']."\n".
"Mensaje:\t ".$_POST['mensaje']."\n";
mail($mail_destinatario,$_POST['asunto'],$data);
$send = true;
}else{
$inputError = "inputError";
}
}
?>

<div id="main" class="main">
<div id="col2" class="col2 col2-list-post">
<div id="nice-category-title" class="nice-category-title"><h3>Contáctenos</h3></div>
<div class="spacer-divmin"></div>
<div class="help">
<p>Para su conformidad, usted puede llenar este formulario. Haciéndonos llegar sus preguntas y sugerencias.</p>
</div>

<div id="contactenos">
<form name="form-contact" method="post" action="<?php bloginfo('url'); ?>/contactenos">
<fieldset>
<legend class="hide">Datos generales del contacto</legend>
<?php if($send): ?>
<div class="exito">
<p>Su mensaje fue enviado satisfactoriamente. Gracias por contactarnos.</p>
</div>
<div class="spacer-divmin"></div>
<?php endif; ?>
<?php if($inputError == "inputError"): ?>
<div class="error">
<p>Debe rellenar los campos con la etiqueta "Requerido".</p>
</div>
<div class="spacer-mindiv"></div>
<?php endif;?>
<p>
<label for="nombre" class="required">Nombre completo:<span class="hide">Requerido</span></label>
<input name="nombre" type="text" class="keyboardInput" tabindex="" />
</p>
<p>
<label for="correo" class="required">Correo electrónico:</label>
<input type="text" name="correo" class="keyboardInput" tabindex="" id="correo" />
</p>
<p>
<label for="pais">País: </label>
<select name="pais" tabindex="">
<option value="">[Seleccione su país]</option>
<?php
if(count($events)>1):
foreach($events as $event):
echo "<option value=\"{$event->nombre}\">{$event->nombre}</option>";
endforeach;
endif;
?>
</select>
</p>
<p>
<label for="asunto" class="required">Asunto:<span class="hide">Requerido</span></label>
<input type="text" name="asunto" class="keyboardInput" tabindex="" id="asunto" />
</p>
<p class="position_relative">
<label for="str_mensaje" class="required">Mensaje:<span class="hide">Requerido</span></label>
<textarea name="mensaje" cols="30" rows="10" class="keyboardInput" tabindex=""></textarea>
</p>
<p class="submitSearch">
<input type="Submit" tabindex="" value="Enviar información" />
<input type="hidden" name="accion" value="enviar_comentario"/>
</p>
</fieldset>
</form>

</div>
</div>

</div>
<div class="arriba">
<a href="#top" class="goUp" title="subir al inicio de página" tabindex="">Arriba</a>
</div>








<?php get_footer(); ?>


****************************************


las lineas en donde debo validar lo puse igual y trato de enviarlo mas sin embargo no pasa nada

pero cuando hago usando otro metodo que consegui lo hace pero como tengo de referencia el primero no entiendo a que se debe el mismo problema

ayudaaaaaa y gracias.......

me esta empezando a gustar la programacion en web


***********************

<?php
/*
Template Name: Contactenos
*/
get_header(); ?>
<?php
///////Configuración/////
$mail_destinatario = '[email protected]';
///////Fin configuración//

if (isset ($_POST['enviar'])) {
$headers .= "From: ".$_POST['email']. "rn";
if ( mail ($mail_destinatario,
$_POST['asunto'],
"Nombre y apellidos : ".
$_POST['nombre']."Asunto: ".
stripcslashes ($_POST['asunto'])."n Mensaje :n ".
stripcslashes ($_POST['mensaje']), $headers )) echo '

Su mensaje a sido enviado correctamente. Gracias por contactar con nosostros

';

else echo '

Error al enviar el formulario. Por favor, inténtelo de nuevo mas tarde.

'; }

echo '
<form action="?" method="post"> <label for="nombre">Nombre y apellidos : </label>
<input name="nombre" size="50" maxlength="80" type="text"><br> <label for="email">Email : </label>
<input name="email" size="50" maxlength="60" type="text"><br> <label for="asunto">Asunto : </label>
<input name="asunto" size="50" maxlength="60" type="text"><br> <label for="mensaje">Mensaje : </label> <textarea name="mensaje" cols="31" rows="5"></textarea> <br>
<label for="enviar">
<input name="enviar" value="Enviar consulta" type="submit"></label>
</form>

&nbsp;

';
?>

<?php get_footer(); ?>


*******************


gracias desde panama
  #2 (permalink)  
Antiguo 25/05/2011, 13:43
 
Fecha de Ingreso: mayo-2011
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: enviar mail y validar los campos

agradezco si pueden encontra donde sta el problema

Última edición por tahan_elidad; 25/05/2011 a las 14:19
  #3 (permalink)  
Antiguo 25/05/2011, 17:13
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: enviar mail y validar los campos

primero debes dejar esta linea:

<input type="hidden" name="accion" value="enviar_comentario"/>

como estaba:

<input name="enviar" type="hidden" value="contact-form" />

el name es "enviar"

-----------------------------------

Luego borra esto:

<form name="form-contact" method="post" action="<?php bloginfo('url'); ?>/contactenos">

para que quede asi:

<form name="form-contact" method="post" action="">

-----------------------------------

ve si te resulta así, si no a seguir buscando errores XD
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #4 (permalink)  
Antiguo 30/05/2011, 13:31
 
Fecha de Ingreso: mayo-2011
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
De acuerdo Si funciono

MUCHAS GRACIAS FRIEND SEGUI TU CONSEJO Y EFECTIVO, ME FUNCIONO DE MARAVILLAhttp://static.forosdelweb.com/fdwtheme/images/smilies/aplausos.gif

Etiquetas: campos, mail
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 19:48.