Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: illo05 en 19 Mayo 2010, 21:10 PM

Título: Como hacer formulario php?
Publicado por: illo05 en 19 Mayo 2010, 21:10 PM
Hola a todos, estoy haciendo un formulario para una página web y no consigo que la información pase de la primera función y al final poder recibirla en mi correo. A ver si alguien me puede ayudar...
Título: Re: Como hacer formulario php?
Publicado por: N4X en 19 Mayo 2010, 21:40 PM
que tal un code y una info más detallada :huh:   :silbar:
Título: Re: Como hacer formulario php?
Publicado por: Mr. Crowley en 19 Mayo 2010, 22:34 PM
Si, mejor con de codigo. Pero imagino que seria algo asi:

Formulario para completar
Pagina que toma los datos (POST o GET) y los envia por email

O esta llamando al mismo archivo para que haga el envio??
Título: Re: Como hacer formulario php?
Publicado por: illo05 en 19 Mayo 2010, 23:13 PM
seria algo asi:

<?php
    function escribir($nombre,$email,$telefono,$texto)
{
?>
    <table style="text-align: left; width: 100%;" border="0"
     cellpadding="0" cellspacing="0">
     <tbody class="texto_contenido">
                                 <tr>
                                   <form action="contacto.php"
method="post"></form>
                                   <td style="width: 50%;"
align="right">Nombre
y apellidos:&nbsp;&nbsp;</td>
                                   <td style="width: 50%;"><input
name="nombre" size="30" type="text"></td>
                                 </tr>
                                 <tr>
                                   <td style="width: 50%;"
align="right">E-mail:&nbsp;&nbsp;</td>
                                   <td style="width: 50%;"><input
name="email" size="30" type="text"></td>
                                 </tr>
                                 <tr>
                                   <td style="width: 50%;"
align="right">Tel&eacute;fono de contacto
(opcional):&nbsp;&nbsp;</td>
                                   <td style="width: 50%;"><input
name="telefono" size="15" type="text"></td>
                                 </tr>
                                 <tr>
                                   <td style="width: 50%;"
align="right">Comentario:&nbsp;&nbsp;</td>
                                   <td style="width: 50%;"><textarea
name="texto" cols="30" rows="5"></textarea></td>
                                 </tr>
                                 <tr>
                                   <td style="width: 50%;"
align="right"></td>
                                   <td style="width: 50%;"><input
name="enviar" value="Enviar" type="submit"> <input
name="restablecer" value="Restablecer" type="reset"></td>
                                 </tr>
                               </tbody>
                             </table>
<?php }
function chequear($nombre,$email,$telefono,$texto)
{
if(!$nombre)
{
echo"No ha introducido el nombre";
escribir($nombre,$email,$telefono,$texto);
}
elseif(!$email)
{
echo"No ha introducido el email";
escribir($nombre,$email,$telefono,$texto);
}
elseif(!$texto)
{
echo"No ha escrito nada en el comentario";
escribir($nombre,$email,$telefono,$texto);
}
else
{
if(!eregi("^([a-z]|ñ|[A-Z]|Ñ)+( +([a-z]|ñ|[A-Z]|Ñ)+)?+$",$nombre))
{
echo"No ha introducido bien el nombre";
escribir($nombre,$email,$telefono,$texto);
}
else
resultado($nombre,$email,$telefono,$texto);
}
}
function resultado($nombre,$email,$telefono,$texto)
{
$todo="Formulario página web.\n";
$todo="Nombre: ".$nombre." \n";
$todo="E-mail: ".$email."\n";
$todo="Telefono: ".$telefono." \n";
$todo="Comentario: ".$texto." \n";
mail("?????@???.es","Formulario recibido","$todo");
echo"Gracias. El mensaje se ha enviado correctamente.";
}
if(!$_POST['enviar'])
escribir($_POST['nombre'],$_POST['email'],$_POST['telefono'],$_POST['texto']);
else
chequear($_POST['nombre'],$_POST['email'],$_POST['telefono'],$_POST['texto']);
?>
Título: Re: Como hacer formulario php?
Publicado por: Mr. Crowley en 19 Mayo 2010, 23:16 PM
Estimad@ illo05... todo ese codigo lo tiene en un solo archivo?
Título: Re: Como hacer formulario php?
Publicado por: illo05 en 19 Mayo 2010, 23:20 PM
Si. Sería para incluir un formulario en una página web.
Título: Re: Como hacer formulario php?
Publicado por: Mr. Crowley en 19 Mayo 2010, 23:24 PM
Ya veo, entonces esta llamando al mismo script.
El formulario le esta llegando vacio o ni siquiera le llega?? Es que me da pereza poner
el code.. jejeje
Título: Re: Como hacer formulario php?
Publicado por: illo05 en 19 Mayo 2010, 23:26 PM
No llega siquiera... al dar a enviar no hace nada
Título: Re: Como hacer formulario php?
Publicado por: Mr. Crowley en 19 Mayo 2010, 23:31 PM
Realmente solo heb usado ese metodo un par de veces, y la verdad es que personalmente no me agrada. Muchas veces es mas facil separarlo en dos archivos:

1. Formulario
En este archivo colocar la tabla con el formulario. En el ACTION poner el nombre del archivo que valida los datos (2. Validacion). Asi, al hacer clic lo va a redireccionar.

2. Validacion
En este otro archivo poner el codigo que toma las variables por POST o GET y hacer todas las validaciones o comprobaciones necesarias.

Creo que de esta forma podria salir de su problema y de paso se ordena un poco  ;D
Aunque tambien puede modificar ese codigo que tiene para "repararlo".
Título: Re: Como hacer formulario php?
Publicado por: illo05 en 19 Mayo 2010, 23:36 PM
Tienes razón si, voy a hacerlo así. Me costaba verlo que no llevo mucho con esto. Muchas gracias por todo.