Foros del Web » Programando para Internet » PHP »

formulario de contacto con autentificacion

Estas en el tema de formulario de contacto con autentificacion en el foro de PHP en Foros del Web. Hola muy buenas a todos tengo una dudilla a ver si me podeis ayudar. He hecho un formulario de contacto que me funciona muy bien ...
  #1 (permalink)  
Antiguo 23/11/2015, 10:56
 
Fecha de Ingreso: noviembre-2015
Mensajes: 1
Antigüedad: 8 años, 4 meses
Puntos: 0
Mensaje formulario de contacto con autentificacion

Hola muy buenas a todos tengo una dudilla a ver si me podeis ayudar. He hecho un formulario de contacto que me funciona muy bien aqui esta el codigo:

Código HTML:
<!DOCTYPE html>
<html >
  <head>
    <meta charset="UTF-8">
    <title>Formulario</title>
	<link rel='stylesheet' href='css/style.css' type='text/css' media='all' />
    <script src="js/prefixfree.min.js"></script>

   <script src="https://www.google.com/recaptcha/api.js" async defer></script>
   
   
	
  </head>

  <body>

  <?php
		if (!empty($_POST)) {
		echo "<div class='alert'>";	
        $captcha;
		if(isset($_POST['g-recaptcha-response'])){
          $captcha=$_POST['g-recaptcha-response'];
        }
        if(!$captcha){
          echo '<div class="alert-warning">Por favor verifique el captcha.</div>';
          
        }else{
		
        $response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=6Lep8hATAAAAAMWyIsXAqwGURFVslbqLs&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']);
        if($response.success==false)
        {
          echo '<div class="alert-danger">You are spammer ! Get the @$%K out</div>';
        }else
        {
		  include("enviar.php");
          echo '<div class="alert-success">Enviado el email.</div>';
        }
		
		}
		echo "</div>";
		}
	?>

    <form action="#" method="post"> 
  <input name="nombre" type="text" class="feedback-input" placeholder="Nombre" required />   
  <input name="email" type="text" class="feedback-input" placeholder="Correo electrónico" required />
  <input name="telefono" type="text" class="feedback-input" placeholder="Teléfono" required />
  <textarea name="text" class="feedback-input" placeholder="mensaje"></textarea>
  
  <div class="g-recaptcha" data-sitekey="6Lep8hATAAAAAPyfoVVlU_tPZR3A9V4s"></div>

  <br />
  
  <input type="submit" value="ENVIAR"/>
</form>
    
        <script src="js/index.js"></script>
		
    
    
    
  </body>
</html> 
Código:
<?php

	$mail="[email protected]";
  $nombre = $_POST["nombre"];
  $email = $_POST["email"];
  $telefono = $_POST["telefono"];
  $mensaje = $_POST["text"];
  $thank="gracias.html";
  $message = "
  nombre:".$nombre."
  email:".$email."
  telefono:".$telefono."
  mensaje:".$mensaje."";
  $add_header = "From: [email protected] <".$_POST[email].">\r\n";
  if (mail ($mail,"contactenos",$message,$add_header)) Header ("location: $thank" );
?>

Pero necesito que el correo sea con autentificacion por problemas de SPAM con mi hosting.

He visto este codigo en internet y funciona muy bien:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<title>Formulario</title> <!-- Aquí va el título de la página -->

</head>

<body>
<?php

$Nombre = $_POST['Nombre'];
$Correo = $_POST['Correo'];
$Mensaje = $_POST['Mensaje'];
$Telefono = $_POST['Telefono'];

if ($Nombre=='' || $Correo=='' || $Mensaje==''){

echo "<script>alert('Los campos marcados con * son obligatorios');location.href ='javascript:history.back()';</script>";

}else{


    require("includes/class.phpmailer.php");
    $mail = new PHPMailer();

    $mail->From     = ("[email protected]"); //Dirección desde la que se enviarán los mensajes. Debe ser la misma de los datos de el servidor SMTP.
    $mail->FromName = $Nombre; 
    $mail->AddAddress("[email protected]"); // Dirección a la que llegaran los mensajes.

// Aquí van los datos que apareceran en el correo que reciba

    $mail->WordWrap = 50; 
    $mail->IsHTML(true);     
    $mail->Subject  =  "Contacto";
    $mail->Body     =  "Nombre: $Nombre \n<br />".
    "Email: $Correo \n<br />".
    "Tel: $Telefono \n<br />".
    "Mensaje: $Mensaje \n<br />";

// Datos del servidor SMTP

    $mail->IsSMTP(); 
    $mail->Host = "mail.rafaalvarado.com:26";  // Servidor de Salida.
    $mail->SMTPAuth = true; 
    $mail->Username = "prueba@rafaalvarado";  // Correo Electrónico
    $mail->Password = "123456"; // Contraseña

    if ($mail->Send())
    echo "<script>alert('Formulario Enviado');location.href ='javascript:history.back()';</script>";
    else
    echo "<script>alert('Error al enviar el formulario');location.href ='javascript:history.back()';</script>";

}

?>
</body>
</html>
Me podriais ayudar a "fusionarlos"?? Me explico necesito que mi codigo html funcione con el segundo codigo que os he pegado y no se como hacerlo. Gracias de antemano a todos y espero vuestra ayuda
  #2 (permalink)  
Antiguo 23/11/2015, 13:27
Avatar de tiobavie  
Fecha de Ingreso: noviembre-2015
Ubicación: Santander
Mensajes: 13
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: formulario de contacto con autentificacion

Lo único que tienes que hacer es copiar los $_Post de tu archivo, o concretamente las letras que están entre las comillas, en su sitio en el segundo (el de internet).
Los datos del servidor, si son correctos los que has enseñado, valdrían así.

Por cierto... No es buena idea hacer públicas las direcciones de email...

Etiquetas: contacto, 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 18:53.