Foro de elhacker.net

Programación => 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.