Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/04/2007, 22:49
Avatar de hey_alan
hey_alan
 
Fecha de Ingreso: diciembre-2006
Ubicación: México
Mensajes: 348
Antigüedad: 17 años, 4 meses
Puntos: 8
Pregunta Mi propio script para formularios - Porque no funciona?

Hola a todos.

Bien, he comenzado con PHP, y queria comenzar haciendo algo básico como un formulario, tengo esto en el html:

Código:
	<form action="formulario.php" method="get">
	<table cellpadding="5">
	<tr>
	<td align="right" valign="middle">Inserta tu nombre/nick:</td>
	<td align="left" valign="middle"><input type="text" name="nombre"/></td>
	</tr>
	<tr>
	<td align="right" valign="middle">Tu email:</td>
	<td align="left" valign="middle"><input type="text" name="email"/></td>
	</tr>
    <tr>
	<td align="right" valign="middle">Asunto:</td>
	<td align="left" valign="middle"><input type="text" name="asunto"/></td>
	</tr>
	<tr>
	<td align="right" valign="middle">Tus comentarios:</td>
	<td align="left" valign="middle"><label><textarea name="comentario"></textarea></label></td>
	</tr>
    <tr>
	<td></td>
	<td align="left" valign="middle"><label><input type="submit" name="Submit" value="Enviar" /></label></td>
	</tr>
	</table>
	
	</form>
Y este es el código del archivo formulario.php:

Código:
<?php 
if (strstr($_GET["email"], "@")) { //comprueba que el string insertado en email contenga el simbolo '@'
if !($_GET["comentario"]=""){ //Comprueba que se haiga insertado algun comentario
$sfrom=$_GET["email"]; //cuenta que envia el mail
$sdestino="[email protected]"; //cuenta que recibira el mail
$ssubject=$_GET["asunto"]; //el asunto del mensaje
if ($ssubject=""){$ssubject="Formulario de Envio";} //Asiga un asinto en caso de no haber alguno
$shtml="Nick: ".$_GET["nombre"]."\nComentario:\n\n".$_GET["comentario"]."\n\n\n"; //el nick y el comentario
$sheader="From:".$sfrom."\nReply-To:".$sfrom."\n"; //Algunos datos adicionales
$sheader=$sheader."X-Mailer:PHP/".phpversion()."\n"; //Manda la version de PHP
$sheader=$sheader."Mime-Version: 1.0\n"; 
$sheader=$sheader."Content-Type: text/html"; 
mail($sdestino,$ssubject,$shtml,$sheader); //Finalmente, manda el correo
?>
<div align="center">
<p>
Su mensaje ha sido enviado correctamente.<br>Nos comunicaremos con usted lo antes posible.</p>
<p>Usted sera redireccionado en unos segundos<br>Si tiene problemas al ser es redireccionado, haga click 
<a href=\"javascript:history.back()\">Aqui</a>
</div>
<?php
}else{?><div align="center"><strong>Debes insertar un comentario</strong></div><?php
}
}else{?><div align="center"><strong>Debes insertar una direcci&oacute;n email valida</strong></div><?php
}
?> 

<script LANGUAGE="JavaScript">
var pagina="contacto.php"
function redireccionar() 
{
location.href=pagina
} 
setTimeout ("redireccionar()", 1000);
</script>
He usado como base el codigo que ofrecen aqui en el Faq, y lo he modificado un poco.

Lo que sucede, es que me manda a la pagina formulario.php, que esta toda en blanco (se supone que deberia aparecer un mensaje) y además no me manda el correo :(

¿Que puede estar pasando?

Última edición por hey_alan; 09/04/2007 a las 22:59