[Resuelto] Mi formulario web no funciona

Iniciado por victorsnk, 19 Marzo 2015, 20:21 PM

0 Miembros y 1 Visitante están viendo este tema.

victorsnk

Hola buenas noches,

Alguien podria ayudarme en decirmo como puedo hacer para que el siguiente formulario se envie de forma automatica a mi correo? ¿Es necesario tener una Base de datos para que funcione? gracias.

Esto es el código que tengo en mi web:

Código (html4strict) [Seleccionar]
<!-- Three -->
<section id="three">
<h2>estamos en contacto</h2>
<p>Para cualquier consulta, información o sugerencia no dude en contactarme. Me comunicaré con usted en el menor tiempo posible.</p>
<div class="row">
<div class="8u 12u$(small)">
<form method="post" action="send_mail.php">
<div class="row uniform 50%">
<div class="6u 12u$(xsmall)"><input type="text" name="name" id="name" placeholder="Nombre" /></div>
<div class="6u$ 12u$(xsmall)"><input type="email" name="email" id="email" placeholder="Email" /></div>
<div class="12u$"><textarea name="message" id="message" placeholder="Mensaje" rows="4"></textarea></div>
</div>
                                   <br></br>
                                   <ul class="actions">
<li><input type="submit" value="Enviar Mensaje" /></li>
</ul>
                                   
</form>


y este sería el script que tengo creado en mi servidor:

Código (php) [Seleccionar]
<?php 
$title 
'Nuevo Contacto';
$cuerpo 'Nombre: '.$_POST['name'].' <br> Email: '.$_POST['email'].' <br> Mensaje: '.$_POST['message'];

$server_name "http://victorsnk.com";
$headers "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/plain; charset=iso-8859-1\n";
$headers .="From: $server_name <victorsnk@yahoo.es>\nX-Mailer: PHP/";

mail('victorsnk@yahoo.es'$title$cuerpo$headers);

header("Location: contacto_enviado.html");
exit();
?>


y nada ... no hay forma señores. No funciona.
Victor Asensio | @victorsnk
http://victorsnk.synology.me

#!drvy

Lo que necesitas es un servidor SMTP que supongo que no tienes porque no lo mencionas.

Saludos

victorsnk

#2
Mi servidor es de pago. Entiendo que tendrá de todo. Utilizo 1and1 ¿como puedo investigarlo y como lo serlo?




Hola si, si dispongo. Tengo hasta 50 cuentas de correo electrónico con servidor smtp o IMAP. como lo configuro?

Mod: No hacer doble post.
Victor Asensio | @victorsnk
http://victorsnk.synology.me

#!drvy

Cambia la linea 10 del script que tienes por esto

Código (php) [Seleccionar]
die(var_dump(mail('victorsnk@yahoo.es', $title, $cuerpo, $headers)));

Y muestra la salida que te da. Si da true, el problema deberia esta en el recipiente o en el propio servidor SMTP.

Saludos

victorsnk

#4
Cita de: #!drvy en 20 Marzo 2015, 00:30 AM
Cambia la linea 10 del script que tienes por esto

Código (php) [Seleccionar]
die(var_dump(mail('victorsnk@yahoo.es', $title, $cuerpo, $headers)));

Y muestra la salida que te da. Si da true, el problema deberia esta en el recipiente o en el propio servidor SMTP.

Saludos

Lo cambie todo usando inclusive el de la web ... algo esta pasando pero el servidor me da que no es. Que puede estar fallando!!?

Código (php) [Seleccionar]
<?php 
$title 
'Nuevo Contacto';
$cuerpo 'Nombre: '.$_POST['name'].' <br> Email: '.$_POST['email'].' <br> Mensaje: '.$_POST['message'];

$server_name "http://victorsnk.com";
$headers "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/plain; charset=iso-8859-1\n";
$headers .="From: $server_name <web@victorsnk.com>\nX-Mailer: PHP/";

die(
var_dump(mail('web@victorsnk.com'$title$cuerpo$headers)));

header("Location: contacto_enviado.html");
exit();
?>





Finalmente lo aregle de otra forma. Lo que ocurre es que ahora tengo otra duda. Cuando envio el formulario me lleva a la pagina de enviado correctamente. Lo que ocurre es que se queda en esa pagina, me gustaría que me hiciera volver atras y no se quedara ahi, si no que tan solo diera el mensaje. El codigo que utilizo es este:

Código (php) [Seleccionar]
<?php
if (!isset($_POST['email'])) {
?>

 <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
   <label>
     Nombre:
     <input name="name" type="text" />
   </label>
    Email:
     <input name="email" type="text" />
   </label>
   <label>
     Mensaje:
     <textarea name="message" rows="6" cols="50"></textarea>
   </label>
   <input type="submit" value="Enviar Mensaje" />
 </form>

<?php
}else{
  
$mensaje="MENSAJE DE CONTACTO ENVIADO DESDE LA WEB VICTORSNK.COM";
  
$mensaje.= "\nNombre: "$_POST['name'];
  
$mensaje.= "\nEmail: ".$_POST['email'];
  
$mensaje.= "\nMensaje: \n".$_POST['message'];
  
$destino"victorsnk@yahoo.es";
  
$remitente $_POST['email'];
  
$asunto "Mensaje enviado por: ".$_POST['nombre'];
  
mail($destino,$asunto,$mensaje,"FROM: $remitente");
?>

 <p><strong>Formulario enviado correctamente.</strong></p>
<?php
}
?>


¿Como podria hacer eso? Aprovechando el hilo, ¿sabeis como puedo añadir un CAPCHA?

MOD: No hacer doble post.
Victor Asensio | @victorsnk
http://victorsnk.synology.me

engel lex

un captcha puedes crearlo tu o usar uno gratuito (o pago, como tu quieras)

por ejemplo el de google reCAPTCHA

inscribete, sigue instrucciones
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

victorsnk

Cita de: engel lex en 20 Marzo 2015, 12:01 PM
un captcha puedes crearlo tu o usar uno gratuito (o pago, como tu quieras)

por ejemplo el de google reCAPTCHA

inscribete, sigue instrucciones

Y la redirección?
Victor Asensio | @victorsnk
http://victorsnk.synology.me

engel lex

Cita de: victorsnk en 20 Marzo 2015, 12:52 PM
Y la redirección?

que redirección explícate?

ya te registraste, viste como se usa, los ejemplos y todo eso?
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

victorsnk

Si. Gracias.

El tema de resirecxion es que si envías un formulario (pruébalo si quieres) se queda en una pantalla de (mensaje enviado) ¿cómo puedo hacer para que me devuelva a la página de origen?
Victor Asensio | @victorsnk
http://victorsnk.synology.me

#!drvy

@victorsnk,

¿ Acaso sabes lo que estas haciendo ? ¿ Sabes como funciona el código que tienes ?

Lo digo porque en el primer código tenias la redireccion puesta y ahora preguntas como ponerla..

Código (php) [Seleccionar]
header("Location: contacto_enviado.html");

...

Saludos