Autor
|
Tema: problema con mi formulario (Leído 3,474 veces)
|
estebanjd
Desconectado
Mensajes: 7
|
Buenas gente, soy novato en esto de php y queria saber porque no me funciona el formulario (segui el tutorial al pie de la letra de una pagina) Mi html es asi: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <link href="style.css" rel="stylesheet" type="text/css" > <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"><title>Dreamon</title></head> <body> <body background=backgrund.png> <center> <br> <form id="form1" name="form1" method="post" action="enviar.php"> <input type="text" name="name" value="Ingrese su nombre" id="nombre"/> <input type="email" name="email" value="Inserte su email" id="email" /> <input type="text" name="contraseña" value="Código" id="codigo" /> <br> <br> <input type="submit" name="boton" id="boton" class='boton' value="Enviar" /> </form> </center> </body></html>
La accion se llama enviar.php, lo cual hice un archivo llamado "enviar.php" que contiene lo siguiente <? php $nombre = $_POST['nombre']; $mail = $_POST['email']; $header = 'From: ' . $mail . " \r\n"; $header .= "X-Mailer: PHP/" . phpversion() . " \r\n"; $header .= "Mime-Version: 1.0 \r\n"; $header .= "Content-Type: text/plain"; $mensaje = "Este mensaje fue enviado por " . $nombre . "\r\n"; $mensaje .= "Su e-mail es: " . $email . " \r\n"; $mensaje .= "Mensaje: " . $_POST['codigo'] . " \r\n"; $mensaje .= "Enviado el " . date('d/m/Y', time()); $para = 'mimail@hotmail.com'; $asunto = 'Probando form php'; echo 'se envio...'; ?>
Cuando hago click en el boton, me envia a la pagina/enviar.php, y me muestra el código, y no me llega el mail... cabe destacar que lo probe tambien utilizando el servidor local con xamp y tampoco anduvo alguien sabe que puede pasar ?
|
|
|
En línea
|
|
|
|
2Fac3R
Desconectado
Mensajes: 300
Why be a king when you can be a god
|
Segun tengo entendido en local no funciona, entonces lo tendras que probar en algun hosting, aparte al principio tienes "<? php" eso es incorrecto, seria "<?php" o simplemente "<?".
Zalu2
|
|
|
En línea
|
|
|
|
s00rk
Desconectado
Mensajes: 195
|
Segun tengo entendido en local no funciona, entonces lo tendras que probar en algun hosting, aparte al principio tienes "<? php" eso es incorrecto, seria "<?php" o simplemente "<?".
Zalu2
Lo del <? php si lo tuviera mal le marcaria error en la web, asi que a como lo veo lo que sucede es que 1.- Lo guardo con otra extension 2.- No corre PHP y mas probable la 2, porque en el html lo manda al php y lo lee, pero por alguna razon le muestra el contenido y no lo que deberia o si fuera la casualidad tambien que si lo codea con dreamweaver que lo haya colocado en la sección de diseño y pues lo puso como html accidentalmente, son las razones que pienso que podrian ser jejeje Sobre lo de mail eso si solo en hosting funciona a menos que lo configures en tu servidor, o usar PHPMailer
|
|
|
En línea
|
|
|
|
Carluís
Desconectado
Mensajes: 49
Estableciendo conexión...
|
Al parecer te estas complicando la vida con X-Mailer, prueba utilizar la función Mail en php, puedes utilizar un código como el siguiente: <?php if(isset($_POST['enviar'])) //Preguntamos si se presiono el boton de submit { //Recibimos las variables $recipiente = $_POST['recipiente']; $asunto = $_POST['asunto']; $mensaje = $_POST['mensaje'];
$encabezado = 'MIME-Version: 1.0' . "\r\n"; $encabezado .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $encabezado .= 'From: Carluís <Carluis@hotmail.com>' . "\r\n";
// (substr_count) cuenta dentro de la frase o palabra almacenada en la variable si, existe '@' solo debe haber uno. // se le pone @ adelante del substr_count para ignorar los errores.
if(@substr_count($recipiente,'@') == 1){ // Validacion de correo escrito correctamente if($asunto == '' or $mensaje == '' or $recipiente == '' ) // Validacion de campos sin rellenar { echo '<strong>Campos vacios, por favor llene los campos</strong>'; } else { mail($recipiente, $asunto, $mensaje, $encabezado); echo "<strong>Se envio correctamente</strong>"; } } else { echo "<strong>Email es incorrecto</strong>"; } } ?> Reemplazando el código anterior del enviar.php, y cambiando los valores y variables en tu caso: $nombre = $_POST['nombre']; $mail = $_POST['email']; Cambialos por //Recibimos las variables $recipiente = $_POST['recipiente']; $asunto = $_POST['asunto']; $mensaje = $_POST['mensaje']; Adapta tu formulario al código que te deje, para más información puedes mirar una introducción a la función Mailer
|
|
« Última modificación: 6 Noviembre 2011, 16:39 pm por Carluís »
|
En línea
|
|
|
|
estebanjd
Desconectado
Mensajes: 7
|
Gracias Carluis, lo voy a probar y te informo el resultado
|
|
|
En línea
|
|
|
|
estebanjd
Desconectado
Mensajes: 7
|
Sigue pasando lo mismo, no se que puede pasar :S no podrias pasarme un programa que estes seguro que ande y lo pruebo de nuevo aqui ?, gracias
|
|
|
En línea
|
|
|
|
2Fac3R
Desconectado
Mensajes: 300
Why be a king when you can be a god
|
Si estas en linux tendrias que activar el servicio (puede ser que lo tengas desactivado) por ejemplo con xampp: /opt/lampp/lampp start
Trata con algo simple como mostrar en pantalla para ver si esta correcto. <form action="process.php" method="POST"> <input type="text" name="prueba">
process.php<?php echo "Mensaje: ".$_POST[`prueba']; ?>
Si esto te funciona, entonces es problema del mailer, como se te ha dicho no funciona en local, prueba en hosting online. Espero haberte ayudado. Zalu2
|
|
|
En línea
|
|
|
|
estebanjd
Desconectado
Mensajes: 7
|
Creeria que si, el problema que me tiro es este:
Notice: Undefined index: nombre in C:\xampp\htdocs\enviar.php on line 3
Notice: Undefined index: codigo in C:\xampp\htdocs\enviar.php on line 5
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\htdocs\enviar.php on line 14 Se envio correctamente
|
|
|
En línea
|
|
|
|
2Fac3R
Desconectado
Mensajes: 300
Why be a king when you can be a god
|
Puede ser problema que no tengas puerto, o simplemente no tengas servicio de SMTP (protocolo de correo) y es por eso que no lo envia, sigo diciendo, prueba en un hosting...
|
|
|
En línea
|
|
|
|
Carluís
Desconectado
Mensajes: 49
Estableciendo conexión...
|
Amigo el código o programa como le llamaste que te proporcione funciona perfectamente, el error que genera te lo dice todo "Fallo la conexión con mailserver verifica SMTP" no tienes el servicio, prueba en un diferente host o comunícate con tu proveedor de servicios.
Saludos.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
problema con formulario MDI
Programación Visual Basic
|
fraktal
|
5
|
3,649
|
6 Octubre 2006, 00:59 am
por fraktal
|
|
|
Problema con formulario PHP
PHP
|
daam
|
4
|
2,494
|
25 Octubre 2007, 18:55 pm
por daam
|
|
|
Problema con formulario PHP
PHP
|
oscarj24
|
0
|
1,581
|
1 Junio 2010, 07:17 am
por oscarj24
|
|
|
Problema con Formulario PHP
PHP
|
LordBlackRed
|
9
|
4,091
|
6 Agosto 2010, 14:53 pm
por LordBlackRed
|
|
|
Problema con formulario HTM - PHP
PHP
|
kuka_18
|
8
|
3,603
|
5 Agosto 2011, 09:11 am
por kuka_18
|
|