Foros del Web » Programando para Internet » PHP »

Formulario web php

Estas en el tema de Formulario web php en el foro de PHP en Foros del Web. [B]Hola a todos, Estoy creando un formulario básico para mi web. Los campos son Nombre, email y mensaje. He creado por un lado el html ...
  #1 (permalink)  
Antiguo 05/12/2009, 15:13
 
Fecha de Ingreso: noviembre-2009
Mensajes: 14
Antigüedad: 14 años, 5 meses
Puntos: 0
Formulario web php

[B]Hola a todos,

Estoy creando un formulario básico para mi web. Los campos son Nombre, email y mensaje. He creado por un lado el html con el formulario, por otro lado el php para el envío y un html más que indica q el mensaje se ha enviado. La idea es q cuando el usuario mande el mensaje, aparezca una página indicándole q el envío se realizó con éxito.

Pero al enviar el mensaje me sale este error:
Warning: mail() has been disabled for security reasons in /home/webcindario/i/n/inkpie/enviar.php on line 17


Les indico el código para que me indiquen el error. Soy novata así q sean buenos.

Gracias.


HTML:

//la parte del formulario//

<table width="87%" border="0" align="left" cellpadding="0" cellspacing="4"> <tr> <td><form name="form1" method="post" action="enviar.php">
<tr>
<td><div align="left" class="Estilo19">Nombre </div></td>
<td><div align="left">
<input type="text" name="nombre" size="20" maxlength="40" />
</div></td>
</tr>
<tr>
<td><div align="left" class="Estilo19">E-mail </div></td>
<td><div align="left">
<input type="text" name="email" size="35" maxlength="50" />
</div></td>
</tr>
<tr>
<td align="left" valign="top"><span class="Estilo19">Mensaje</span></td>
<td><div align="left">
<textarea name="mensaje" cols="35" rows="5"></textarea>
</div></td>
</tr>
<tr>
<td align="left">&nbsp;</td>
<td>
<div align="right">
<span class="Estilo21"><A HREF="javascript:document.form1.submit()">enviar</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<A HREF="javascript:document.form1.reset()"> borrar</A> </span></div>
</td>
</tr>
</form></td>
</tr> </table>
</table>


PHP:

<?php

$mail='mi direccion';


$nombre = $_POST['nombre'];
$email = $_POST['email'];
$mensaje = $_POST['mensaje'];

$thank="web de exito";

$message = "
nombre:".$nombre."
email:".$email."
mensaje:".$mensaje."";

if (mail($mail,"Formulario de Consulta",$message))
Header ("Location: $thank" );

?>
  #2 (permalink)  
Antiguo 05/12/2009, 15:20
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
Respuesta: Formulario web php

webcindario tiene la funcion mail() desactivada, por lo tanto debes utilizar otras alternativas como phpmailer que usan SMTP. Saludos
__________________
Hospedaje Web al mejor costo!
  #3 (permalink)  
Antiguo 05/12/2009, 15:39
 
Fecha de Ingreso: noviembre-2009
Mensajes: 14
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Formulario web php

Puffff....phpmailer me suena a chino...
Como te digo es mi primer formulario de contacto. Podrías explicarme un poco esta alternativa?

Gracias
  #4 (permalink)  
Antiguo 05/12/2009, 15:42
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
Respuesta: Formulario web php

checate este enlance http://phpmailer.worxware.com/index.php?pg=phpmailer
__________________
Hospedaje Web al mejor costo!
  #5 (permalink)  
Antiguo 06/12/2009, 04:50
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: Formulario web php

Algunos servidores tienen la función mail desabilitada para evitar el SPAM y la alternativa es la que dice el compañero , usar SMTP para el envío de correos, parece que phpmailer es una buena idea.
Un saludo
__________________
Videotutoriales de Drupal
  #6 (permalink)  
Antiguo 07/12/2009, 04:30
 
Fecha de Ingreso: noviembre-2009
Mensajes: 14
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Formulario web php

Entonces, con PHPMailer tendría mi formulario en html que llama al php hecho con phpmailer???es decir, ¿puedo respetar el formulario o tengo que rehacerlo? Disculpadme pero estoy un poco perdía.
  #7 (permalink)  
Antiguo 07/12/2009, 04:51
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: Formulario web php

Cita:
Iniciado por patuxi Ver Mensaje
Entonces, con PHPMailer tendría mi formulario en html que llama al php hecho con phpmailer???es decir, ¿puedo respetar el formulario o tengo que rehacerlo? Disculpadme pero estoy un poco perdía.
Mira te voy a poner paso a paso lo que debes de hacer (aunque hay varias formas).

1 . Crear tu form en html y apuntar en action a una página en php (loquesea.php)

2 . En loquesea.php tienes el script que recoje los datos por post y lo envía al destinatario que hayas seleccionado, para ello php mailer utiliza atributos (variables más o menos) que definen : destinatarios, mail de procedencia, codificación del mail etc etc...

Te paso esta url donde explican el uso de phpmailer y sus atributos etc etc.. Si tienes alguna duda vuelve a preguntar sin problema, siento no poder ayudarte más porque no tengo mucha experiencia usando PhMailer ya que suelo usar mail() aunque reconozco que por lo que me he topado con algunos hostings compartidos bloquean dicha función así que mejor utilizar PhpMailer, además parece que tiene más opciones de configuración a la hora de enviar correos.


Un saludo
__________________
Videotutoriales de Drupal
  #8 (permalink)  
Antiguo 07/12/2009, 05:00
 
Fecha de Ingreso: noviembre-2009
Mensajes: 14
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Formulario web php

Voy a probar Dundee.

Muchas gracias de verdad.
Ahora te cuento
  #9 (permalink)  
Antiguo 07/12/2009, 06:13
 
Fecha de Ingreso: noviembre-2009
Mensajes: 14
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Formulario web php

Dundee....definitivamente soy mu torpe. He seguido las instrucciones pero me sale el siguiente error:

SMTP Error: Could not connect to SMTP host. SMTP Error: Could not connect to SMTP host. SMTP Error: Could not connect to SMTP host. SMTP Error: Could not connect to SMTP host. SMTP Error: Could not connect to SMTP host. Problemas enviando correo electrónico a
SMTP Error: Could not connect to SMTP host.

Te pongo el código del php:

<?
require("class.phpmailer.php");
$mail = new phpmailer();


$mail->Mailer = "smtp";
$mail->Host = "smtp.correo.yahoo.es";
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "mi contraseña";
$mail->From = "[email protected]";
$mail->FromName = "mi nombre";

$mail->Timeout=30;

$mail->AddAddress("[email protected]");


$mail->Subject = "Prueba de phpmailer";
$mail->Body = "<b>Mensaje de prueba mandado con phpmailer en formato html</b>";

$mail->AltBody = "Mensaje de prueba mandado con phpmailer en formato solo texto";

$exito = $mail->Send();

$intentos=1;
while ((!$exito) && ($intentos < 5)) {
sleep(5);
//echo $mail->ErrorInfo;
$exito = $mail->Send();
$intentos=$intentos+1;

}


if(!$exito)
{
echo "Problemas enviando correo electrónico a ".$valor;
echo "<br/>".$mail->ErrorInfo;
}
else
{
echo "Mensaje enviado correctamente";
}
?>


No sé por donde meterle mano.
Help me!!
  #10 (permalink)  
Antiguo 08/12/2009, 04:54
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: Formulario web php

$mail->Host = "smtp.correo.yahoo.es";
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "mi contraseña";




Hola Patuxi como te comentaba he usado pocas veces PhpMailer pero creo que el fallo puede estar en estas líneas que te he marcado con negrita.
Asegúrate que requiera autentifiación $mail->SMTPAuth = true; intenta probar con $mail->SMTPAuth = false y no pongas contraseña $mail->Password = ""; , tanmbién asegurate que esto que te marco en negrita esta correcto $mail->Host = "smtp.correo.yahoo.es";

Fíjate en el error:
SMTP Error: Could not connect to SMTP host
lo dice claro no puede conectar con SMTP host

Un saludo
__________________
Videotutoriales de Drupal
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 01:43.