problema con formulario Estas en el tema de problema con formulario en el foro de Dise�o web en Foros del Web. Hace algunos meses pude acceder a un formulario a trav�s de esta web, con el que se enviaba cierta informaci�n a trav�s de un correo ... #1 (permalink) 20/04/2007, 11:46
Antig�edad: 10 a�os, 3 mesesPuntos: 0 problema con formulario Hace algunos meses pude acceder a un formulario a trav�s de esta web, con el que se enviaba cierta informaci�n a trav�s de un correo predeterminado. Dicha tabla ten�a 3 campos, y he de decir que funcionaba perf�ctamente El caso es que ahora necesito, y casi dir�a que con urgencia, ese mismo formulario, pero con un total de 6 campos. Lo he modificado, pero al parecer hay algo que hago mal, porque no se me env�a, sino que se me queda la pantalla en blanco. El formulario consta de tres archivos, 2 html (uno el del formulario y otro de agradecimiento una vez es enviado) y uno html. Os pongo aqu� el c�digo de la p�gina html del formulario y el del archivo php, para que intent�is echarme un cable. Lo necesitar�a a ser posible este fin de semana, pues me urge bastante. Es pera la inscripci�n en un certamen de pintura en la que colaboro. Un saludo y gracias anticipadas. C�digo formulario _________ <html> <head>
</head> <body background="../../border_background.jpg"> <p>&nbsp;</p>
<table width="343" border="0" id="table5" style="font-style: normal; font-variant: normal; font-weight: normal; line-height: 20px; font-size: 8pt; font-family: Verdana, Arial, Helvetica, sans-serif"> <tr> <td>
<table width="444" border="0" id="table6" style="font-style: normal; font-variant: normal; font-weight: normal; line-height: 20px; font-size: 8pt; font-family: Verdana, Arial, Helvetica, sans-serif">
<td><b><font color="#FFFFFF" size="2">Nombre</font></b></td>
<td><input name="nombre" type="text" id="nombre" size="38"></td>
<td><b><font color="#FFFFFF" size="2">Apellidos</font></b></td>
<td><input name="apellidos" type="text" id="apellidos" size="38"></td>
<td><b><font color="#FFFFFF" size="2">Direcci�n</font></b></td>
<td><input name="direcci�n" type="text" id="direcci�n" size="38"></td>
<td><b><font color="#FFFFFF" size="2">Email</font></b></td>
<td><b><font color="#FFFFFF" size="2">Tel�fono</font></b></td>
<td><input name="tel�fono" type="text" id="tel�fono" size="38"></td>
</tr> <td height="60"><b><font color="#FFFFFF" size="2">Observaciones</font></b></td>
<textarea name="observaciones" id="observaciones" rows="18" cols="32"></textarea></td>
</table> </form></td> </tr> </table>
</table> </body> </html> ____ C�digo php
____ <?php [email protected]'; $nombre = $_POST['nombre']; $apellidos = $_POST['apellidos']; $direcci�n = $_POST['direcci�n']; $email = $_POST['email']; $tel�fono = $_POST['tel�fono']; $observaciones = $_POST['observaciones']; $thank="enviado.htm"; $message = " nombre:".$nombre." apellidos:".$apellidos." direcci�n:".$direcci�n." email:".$email." tel�fono:".$tel�fono." observaciones:".$observaciones.""; if (mail($mail,"consulta",$message)) Header ("Location: $thank"); ?> _____ Cuando he rellenado una prueba y le he dado a enviar, me ha salido la pantalla en blanco, con esta direcci�n: http://.../archivos/formularios/pintura/enviar.php Deber�a pasar a la p�gina de "enviado", que es como se llama la otra p�gina html. Gracias por vuestro tiempo #2 (permalink) 20/04/2007, 12:08
Jilti Fecha de Ingreso: abril-2007 Mensajes: 47
Antig�edad: 9 a�os, 6 mesesPuntos: 4 Re: problema con formulario La funci�n header() tiene que ser lo primero que se ejecute al cargarse la pagina php. Ves a php.net y busca esta funci�n. Si te sirve de ayuda yo en su d�a tuve un problema con esta funci�n que no funcionaba bi�n y al quitarle los espacios en blanco entre lineas me funcion�. Pruebalo. #3 (permalink) 20/04/2007, 17:24
Antig�edad: 10 a�os, 3 mesesPuntos: 0 Re: problema con formulario Te refieres a ponerlo as�?? _________ <?php [email protected]'; $nombre = $_POST['nombre']; $apellidos = $_POST['apellidos']; $direcci�n = $_POST['direcci�n']; $email = $_POST['email']; $tel�fono = $_POST['tel�fono']; $observaciones = $_POST['observaciones']; $thank="enviado.htm"; $message = " nombre:".$nombre." apellidos:".$apellidos." direcci�n:".$direcci�n." email:".$email." tel�fono:".$tel�fono." observaciones:".$observaciones.""; if (mail($mail,"consulta",$message)) Header ("Location:$thank"); ?> #4 (permalink) 20/04/2007, 17:27
Antig�edad: 10 a�os, 3 mesesPuntos: 0 Re: problema con formulario Lo he intentado como dices, pero continúa dándome el mismo problema. Sigue apareciendo la página en blanco con la terminación en la url enviar.php Es como si no lograra enlazar bien con la otra página html... Alguien tiene alguna solución?? Muchas gracias PD. Si no puede ser con este código, agradecería se me facilitara cualquier otro que me sirviera de igual forma. Repito, LO NECESITO CON URGENCIA.
Gracias #5 (permalink) 21/04/2007, 01:30
Antig�edad: 10 a�os, 3 mesesPuntos: 0 Re: problema con formulario Echadme un cable, porfis #6 (permalink) 21/04/2007, 13:02
Antig�edad: 9 a�os, 6 mesesPuntos: 4 Re: problema con formulario Me refer�a as� <?php [email protected]'; $nombre = $_POST['nombre']; $apellidos = $_POST['apellidos']; $direcci�n = $_POST['direcci�n']; $email = $_POST['email']; $tel�fono = $_POST['tel�fono']; $observaciones = $_POST['observaciones']; $thank="enviado.htm"; $message = " nombre:".$nombre." apellidos:".$apellidos." direcci�n:".$direcci�n." email:".$email." tel�fono:".$tel�fono." observaciones:".$observaciones.""; if (mail($mail,"consulta",$message)) Header ("Location:$thank");
?> No se si te ir� bi�n, como ya te dije la funci�n header es muy "especial" y hasta con los saltos de linea deja de funcionar. Suerte #7 (permalink) 21/04/2007, 23:33
Antig�edad: 10 a�os, 2 mesesPuntos: 2 Re: problema con formulario Cita: Iniciado por issos Te refieres a ponerlo as�?? if (mail($mail,"consulta",$message)) Header ("Location:$thank"); ?> Hola, de casualidad no le falta esto? if (mail($mail,"consulta",$message)) {
Header ("Location:$thank"); } Yo he visto esto en los if, pero no se mucho de php. Saludos. #8 (permalink) 22/04/2007, 07:49
Antig�edad: 10 a�os, 3 mesesPuntos: 0 Re: problema con formulario Al final he conseguido un c�digo php que me funciona. Ahora el problema que tengo es que quiero que en lugar de una pantalla en blanco con el mensaje, tal y como me sale, me pase, una vez enviado el formulario, a una p�gina html previamente definida (en mi caso se llama enviado.htm). A ver si pod�is decirme que he de quitar y qu� poner en el siguiente c�digo. Os agradecer�a me pusi�rais el c�digo tal cual habr�a de aparecer en el archivo php, porque ya hab�is visto que no soy muy "ducho" en esto de la programaci�n. Muchas gracias a todos por vuestra paciencia. Este es el c�digo: ____ <?php if(isset($_POST["nombre"]) && isset($_POST["apellidos"]) && isset($_POST["direccion"]) && isset($_POST["localidad"]) && isset($_POST["codigopostal"]) && isset($_POST["tfno"]) && isset($_POST["email"]) && isset($_POST["antparticipaciones"]) && isset($_POST["mensaje"]) ){ $fecha = date("d-M-y H:i"); $mymail = "[email protected]"; $subject = "[web form] ".$nombre; $contenido = $nombre." ( ".$apellidos." ) escribio :\n\n"; $contenido .= $email."\n\n"; $contenido .= $direccion."\n\n";
$contenido .= $localidad."\n\n";
$contenido .= $codigopostal."\n\n";
$contenido .= $provincia."\n\n";
$contenido .= $tfno."\n\n";
$contenido .= $antparticipaciones."\n\n";
$contenido .= "---------------------------------------------------\n El mensaje fue escrito el ".$fecha; $contenido .= "\nLa ip del remitente del email es : ".$_SERVER["REMOTE_ADDR"]; $header = "From:".$mail."\nReply-To:".$mail."\n"; $header .= "X-Mailer:PHP/".phpversion()."\n"; $header .= "Mime-Version: 1.0\n"; $header .= "Content-Type: text/plain"; mail($mymail, $subject, utf8_decode($contenido) ); echo "
Su inscripci�n ha sido realizada con �xito. "; } ?> #9 (permalink) 22/04/2007, 10:42
Antig�edad: 9 a�os, 6 mesesPuntos: 4 Re: problema con formulario Puedes hacerlo de dos maneras: En tu p�gina php lo primero que tiene que aparecer el script de php y despues el html normal y entre <head> y </head> poner esto
<meta HTTP-EQUIV="Refresh" CONTENT="1; URL=tupagina.htm"> CONTENT es el tiempo en segundos que tardar� en redireccionar. Tambien lo puedes hacer con Javascript. Lo mismo que antes pero entre <body> y </body> pones esto <script LANGUAGE="JavaScript"> var pagina="tupagina.htm" function redireccionar() { location.href=pagina } setTimeout ("redireccionar()", 1000); </script> Donde pone 1000 es el tiempo en milisegunso, o sea, 1000=1 segundo. setTimeout es opcional. Espero que te funcione. chujalt.com #10 (permalink) 22/04/2007, 11:01
Antig�edad: 10 a�os, 3 mesesPuntos: 0 Re: problema con formulario Si pongo este c�digo, de acuerdo con tus instrucciones
����<?php if(isset($_POST["nombre"]) && isset($_POST["apellidos"]) && isset($_POST["direccion"]) && isset($_POST["localidad"]) && isset($_POST["codigopostal"]) && isset($_POST["tfno"]) && isset($_POST["email"]) && isset($_POST["antparticipaciones"]) && isset($_POST["mensaje"]) ){ $fecha = date("d-M-y H:i"); $mymail = "[email protected]"; $subject = "[web form] ".$nombre; $contenido = $nombre." ( ".$apellidos." ) escribio :\n\n"; $contenido .= $email."\n\n"; $contenido .= $direccion."\n\n";
<script LANGUAGE="JavaScript"> var pagina="enviado.htm" function redireccionar() { location.href=pagina } setTimeout ("redireccionar()", 1000); </script>
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in D:\Inetpub\webs\castellariegoscom\pintura\formular io\e-mail.php on line 23 Si elimino desde donde pone echo y pongo directamente el codigo script, me da este error Parse error: syntax error, unexpected '<' in D:\Inetpub\webs\castellariegoscom\pintura\formular io\e-mail.php on line 22 En cuanto a head y /head, no aparece dicho comando en el c�digo php� Lamento ser tan pesado, pero no tengo muchas nociones de c�digos o de programaci�n y necesito que el formulario me envie los datos y que me redireccione a los que se inscriben a otra p�gina html, que llamar� enviado.htm Te agradecer�a de todo coraz�n revisaras el c�digo, hicieras todos los cambios que creas habr�an de hacerse para que funcionara, y me lo enviaras. Los campos que necesito son nombre, apellidos, direccion, localidad, codigo postal, provincia, tel�fono, email, antparticipaciones y mensaje Muchas gracias por tu paciencia #11 (permalink) 22/04/2007, 12:18
Antig�edad: 9 a�os, 6 mesesPuntos: 4 Re: problema con formulario Creo que me entendiste mal....
Primero debes poner el codigo php que manda el e-mail, el tuyo, el que dices que funciona... y luego poner el JavaScript que te pas�.
Ser�a as�, mas o menos <?php if(isset($_POST["nombre"]) && isset($_POST["apellidos"]) && isset($_POST["direccion"]) && isset($_POST["localidad"]) && isset($_POST["codigopostal"]) && isset($_POST["tfno"]) && isset($_POST["email"]) && isset($_POST["antparticipaciones"]) && isset($_POST["mensaje"]) ){ $fecha = date("d-M-y H:i"); $mymail = "[email protected]"; $subject = "[web form] ".$nombre; $contenido = $nombre." ( ".$apellidos." ) escribio :\n\n"; $contenido .= $email."\n\n"; $contenido .= $direccion."\n\n";
Su inscripci�n ha sido realizada con �xito. "; } ?> <html>
<body> <script LANGUAGE="JavaScript"> var pagina="tupagina.htm" function redireccionar() { location.href=pagina } setTimeout ("redireccionar()", 1000); </script> </body>
</html> Mira a ver si te funciona chujalt.com #12 (permalink) 22/04/2007, 12:43
Antig�edad: 10 a�os, 3 mesesPuntos: 0 Re: problema con formulario Muchas gracias, sobre todo por tu paciencia. Todo funciona perfectamente. No sabes del apuro del que me has sacado. GRACIAS #13 (permalink) 22/04/2007, 12:49
Antig�edad: 9 a�os, 6 mesesPuntos: 4 Re: problema con formulario Nada a mandar.... Hoy por ti, ma�ana por mi chujalt.com �Tienes una mejor respuesta a este tema? �Qui�res hacerle una pregunta a nuestra comunidad y sus expertos? Registrate 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. « Tema Anterior