Formulario de Contacto

  • Autor Autor javidotpro
  • Fecha de inicio Fecha de inicio
J

javidotpro

Gamma
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola,
Estoy terminando una web y me encuentro que no hay forma de que me funcione el formulario de contacto de la misma, os copio la parte de HTML y la de PHP.

HTML
Insertar CODE, HTML o PHP:
<!-- BEGIN #contact_form -->
						<form id="contact_form" onsubmit="return validate_form()" action="http://php.elservidor.com/forms/enviar.php" method="post" >
						
							<p>
								<label>Nombre</label>
								<input onfocus="jQuery('#name_error').fadeOut('fast');" onclick="jQuery('#name_error').fadeOut('fast');" type ="text" name="name" id="name" />
							</p>
				       
							
							<p>
								<label>E-Mail</label>
								<input onfocus="jQuery('#email_error').fadeOut('fast');" onclick="jQuery('#email_error').fadeOut('fast');" type="text" name="email" id="email" />
							</p>
				       
							<p>
								<label>Mensaje</label>
								<textarea onfocus="jQuery('#message_error').fadeOut('fast');" onclick="jQuery('#message_error').fadeOut('fast');" id="message" rows="8" cols ="20"></textarea>
							</p>
					       
					       <button type="submit" name="submit" id="submit_button" class="btn"><span>¡Hazmelo Llegar!</span></button>
						       
						</form>
						<!-- END #contact_form -->

PHP
Insertar CODE, HTML o PHP:
<?php
$name = $_POST['name'];
$email = $_POST['email'];

$header = 'From: ' . $email . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$message = "Este mensaje fue enviado por " . $name . ";
$message .= "Su e-mail es: " . $email . " \r\n";
$message .= "Mensaje: " . $_POST['message'] . " \r\n";
$message .= "Enviado el " . date('d/m/Y', time());

$para = 'elmail@elmail.com';
$asunto = 'Recibido de la web';

mail($para, $asunto, utf8_decode($mensaje), $header);

echo 'Mensaje enviado correctamente';
?>

¿Donde me equivoco?
PD. El enviar.php lo envio a otro servidor mio dentro de un subdominio ya que el alojamiento principal no dispone de PHP.
 
¿Te sirvió? Únete a la conversación

Con tu cuenta gratis puedes responder, escribirle al autor por mensaje privado y comprar con Saldo retenido: el pago se libera cuando recibes lo acordado.

Toma 30 segundos · vuelves a este tema al terminar
Ese es el problema, el cambio de servidor. No estoy seguro de si funcionará, pero prueba a poner en enviar.php la siguiente como la primera línea:

PHP:
<?php
header('Access-Control-Allow-Origin: http://tudominio.com');
$name = $_POST['name'];
//...
 
Debe de funcionar así:

<?php
$name = $_POST['name'];
$email = $_POST['email'];

$header = 'From: ' . $email . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$message = "Este mensaje fue enviado por " . $name;
$message .= "Su e-mail es: " . $email . " \r\n";
$message .= "Mensaje: " . $_POST['message'] . " \r\n";
$message .= "Enviado el " . date('d/m/Y', time());

$para = 'elmail@elmail.com';
$asunto = 'Recibido de la web';

mail($para, $asunto, utf8_decode($mensaje), $header);

echo 'Mensaje enviado correctamente';
?>


El problema está en la siguiente línea:
$message = "Este mensaje fue enviado por " . $name . ";

Prueba el que te envié arriba y comentas, saludo.
 
Sigue sin funcionar, el enviar.php me funciona pero el formulario cuando clico en enviar no hace absolutamente nada.
 
El enviar.php lo envio a otro servidor mio dentro de un subdominio ya que el alojamiento principal no dispone de PHP.

Creo que ese es el problema, fijate de usar otro servidor y ubicar todo en el mismo
 
puedes poner que hace el validate_form()??
 
Atrás
Arriba