Foros del Web » Programando para Internet » PHP »

Formulario php

Estas en el tema de Formulario php en el foro de PHP en Foros del Web. Hola chic@s Disculpen, pero tengo un proyecto escolar donde la página de contacto debe obviamente contener php, y la verdad soy bastante nueva en eso, ...
  #1 (permalink)  
Antiguo 30/11/2015, 05:18
 
Fecha de Ingreso: noviembre-2015
Ubicación: Monterrey
Mensajes: 9
Antigüedad: 8 años, 4 meses
Puntos: 0
Pregunta Formulario php

Hola chic@s
Disculpen, pero tengo un proyecto escolar donde la página de contacto debe obviamente contener php, y la verdad soy bastante nueva en eso, encontré un código de justamente lo que necesito, pero apenas y le entiendo y no se donde poner el nada, me refiero si adentro del body, o etc.

Este el codigo que encontre
Código:
<?php 
$action=$_REQUEST['action']; 
if ($action=="")    /* display the contact form */ 
    { 
    ?> 
    <form  action="" method="POST" enctype="multipart/form-data"> 
    <input type="hidden" name="action" value="submit"> 
    Your name:<br> 
    <input name="name" type="text" value="" size="30"/><br> 
    Your email:<br> 
    <input name="email" type="text" value="" size="30"/><br> 
    Your message:<br> 
    <textarea name="message" rows="7" cols="30"></textarea><br> 
    <input type="submit" value="Send email"/> 
    </form> 
    <?php 
    }  
else                /* send the submitted data */ 
    { 
    $name=$_REQUEST['name']; 
    $email=$_REQUEST['email']; 
    $message=$_REQUEST['message']; 
    if (($name=="")||($email=="")||($message=="")) 
        { 
        echo "All fields are required, please fill <a href=\"\">the form</a> again."; 
        } 
    else{         
        $from="From: $name<$email>\r\nReturn-path: $email"; 
        $subject="Message sent using your contact form"; 
        mail("[email protected]", $subject, $message, $from); 
        echo "Email sent!"; 
        } 
    }   
?>
Intente de varias maneras pero me carga error en la linea 3
Código:
if ($action=="")    /* display the contact form */
Creo que debo cambiarlo con el nombre de mi archivo y dividir este código en dos archivos de php, o algo así, alguien podría explicarme, porfavor? :c
ya busque muchas veces, pero para mi es muy difícil entender lo.

Al menos me ayudarían a arreglarlo, suponiendo que mi archivo se llama "Contacto.php"

Al igual me marca error en esta linea donde esta el echo, supongo es el href, pero pongo el href="Contecto.php" y no me sirve
Código:
{ 
        echo "All fields are required, please fill <a href=\"\">the form</a> again."; 
        }
Y esta \r\n? D;
Código:
$from="From: $name<$email>\r\nReturn-path: $email";
Les agradecería mucho, cualquier ayuda.
  #2 (permalink)  
Antiguo 30/11/2015, 10:11
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Formulario php

Aparte de que falta colocar el form.... ya que es un tema escolar que por lo que comentas ni entiendes, te recomiendo que consultes con tu profesor.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #3 (permalink)  
Antiguo 30/11/2015, 12:16
 
Fecha de Ingreso: noviembre-2015
Ubicación: Monterrey
Mensajes: 9
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Formulario php

eh, no, ahí esta el form, entre cada php.
Y claro que consultaría a mi profesor, pero está materia es en linea, entonces no hay nadie que me ayude, realmente.
  #4 (permalink)  
Antiguo 30/11/2015, 13:28
 
Fecha de Ingreso: noviembre-2015
Ubicación: NULL
Mensajes: 23
Antigüedad: 8 años, 5 meses
Puntos: 1
Respuesta: Formulario php

Que error te tira?
Es solo ese codigo?

EDIT: Hola solo vi un error de undefined index

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. if (isset($_REQUEST['action'])==NULL) {
  5.      ?>
  6.     <form  action="" method="POST" enctype="multipart/form-data">
  7.     <input type="hidden" name="action" value="submit">
  8.     Your name:<br>
  9.     <input name="name" type="text" value="" size="30"/><br>
  10.     Your email:<br>
  11.     <input name="email" type="text" value="" size="30"/><br>
  12.     Your message:<br>
  13.     <textarea name="message" rows="7" cols="30"></textarea><br>
  14.     <input type="submit" value="Send email"/>
  15.     </form>
  16.     <?php
  17.     }  
  18. else                /* send the submitted data */
  19.     {
  20.     $name=$_REQUEST['name'];
  21.     $email=$_REQUEST['email'];
  22.     $message=$_REQUEST['message'];
  23.     if (($name==NULL)||($email==NULL)||($message==NULL))
  24.         {
  25.         echo "All fields are required, please fill <a href=\"\">the form</a> again.";
  26.         }
  27.     else{        
  28.         $from="From: $name<$email>\r\nReturn-path: $email";
  29.         $subject="Message sent using your contact form";
  30.         mail("[email protected]", $subject, $message, $from);
  31.         echo "Email sent!";
  32.         }
  33.     }  
  34. ?>

Última edición por diegoj9999; 30/11/2015 a las 13:54
  #5 (permalink)  
Antiguo 30/11/2015, 14:05
Avatar de agusax  
Fecha de Ingreso: junio-2011
Ubicación: Puerto Real (Cádiz)
Mensajes: 74
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Formulario php

Hola PsiLy, el problema que veo es que falta el formulario, por eso te marca error en la línea 3.

En el body de tu página, deberás poner el form, con los campos que quieras.
ACTION="contacto.php" manda la información del formulario a esa página.

y al principio de la página (por ejemplo) pondrías el <?php ?> con las instrucciones que quieres realizar.

Ejemplo:
Código HTML:
Ver original
  1. <FORM ACTION=&#8220;guarda_votos.php" METHOD="POST" ENCTYPE="multipart/form-data">
  2. <INPUT TYPE="text“ NAME="mail" ><BR>
  3. <INPUT TYPE="text" NAME="asunto"><BR>
  4. //añadir aquí el textarea etc
  5. <INPUT TYPE="SUBMIT" NAME="enviar" VALUE="Enviar">
  6. </FORM>


Y en el encabezado tendrías:

Código PHP:
Ver original
  1. <?php
  2. $action= $_POST['enviar'];
  3. if (isset($action)){
  4.   //esta sección se ejecuta al darle a enviar
  5.   //aquí se encontraría la funcionalidad de lo que quieras realizar
  6.   $mail= $_POST['mail'];
  7.   $asunto= $_POST['asunto'];
  8.   .....
  9. ......
  10. }
  11. ?>


Me he fijado que tú tienes el formulario dentro del esa función.
Espero haber aclarado la duda y puedas solucionarlo ^^
  #6 (permalink)  
Antiguo 30/11/2015, 14:54
 
Fecha de Ingreso: noviembre-2015
Ubicación: Monterrey
Mensajes: 9
Antigüedad: 8 años, 4 meses
Puntos: 0
Pregunta Respuesta: Formulario php

Cita:
Iniciado por diegoj9999 Ver Mensaje
Que error te tira?
Es solo ese codigo?

EDIT: Hola solo vi un error de undefined index

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. if (isset($_REQUEST['action'])==NULL) {
  5.      ?>
  6.     <form  action="" method="POST" enctype="multipart/form-data">
  7.     <input type="hidden" name="action" value="submit">
  8.     Your name:<br>
  9.     <input name="name" type="text" value="" size="30"/><br>
  10.     Your email:<br>
  11.     <input name="email" type="text" value="" size="30"/><br>
  12.     Your message:<br>
  13.     <textarea name="message" rows="7" cols="30"></textarea><br>
  14.     <input type="submit" value="Send email"/>
  15.     </form>
  16.     <?php
  17.     }  
  18. else                /* send the submitted data */
  19.     {
  20.     $name=$_REQUEST['name'];
  21.     $email=$_REQUEST['email'];
  22.     $message=$_REQUEST['message'];
  23.     if (($name==NULL)||($email==NULL)||($message==NULL))
  24.         {
  25.         echo "All fields are required, please fill <a href=\"\">the form</a> again.";
  26.         }
  27.     else{        
  28.         $from="From: $name<$email>\r\nReturn-path: $email";
  29.         $subject="Message sent using your contact form";
  30.         mail("[email protected]", $subject, $message, $from);
  31.         echo "Email sent!";
  32.         }
  33.     }  
  34. ?>
Me funciono! Muchas Gracias!
En verdad no entendí mucho que hiciste pero me ayudo bastante!


Solo una pregunta más, como le pongo estilo a los echos de este php? hay alguna manera?
  #7 (permalink)  
Antiguo 30/11/2015, 14:55
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Formulario php

Con esta modificación funciona... probado.

Código PHP:
Ver original
  1. <?php
  2. $action=$_REQUEST['action'];
  3. if ($action=="")    /* display the contact form */
  4.     {
  5.     ?>
  6.     <form  action="" method="POST" enctype="multipart/form-data">
  7.     <input type="hidden" name="action" value="submit">
  8.     Your name:<br>
  9.     <input name="name" type="text" value="" size="30"/><br>
  10.     Your email:<br>
  11.     <input name="email" type="text" value="" size="30"/><br>
  12.     Your message:<br>
  13.     <textarea name="message" rows="7" cols="30"></textarea><br>
  14.     <input type="submit" value="Send email"/>
  15.     </form>
  16.     <?php
  17.     }  
  18. else                /* send the submitted data */
  19.     {
  20.     $name=$_REQUEST['name'];
  21.     $email=$_REQUEST['email'];
  22.     $message=$_REQUEST['message'];
  23.     if (($name=="")||($email=="")||($message==""))
  24.         {
  25.         echo "All fields are required, please fill <a href=\"\">the form</a> again.";
  26.         }
  27.     else{        
  28.         $from="From: $name<$email>\r\nReturn-path: $email";
  29.         $subject="Message sent using your contact form";
  30.         $MailSent = mail("[email protected]", $subject, $message, $from);
  31.         if($MailSent == true) {
  32.              echo 'Mail Sent';
  33.         } else {
  34.              echo 'Mail failed';    
  35.         }
  36.     }  
  37. ?>
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #8 (permalink)  
Antiguo 30/11/2015, 16:20
 
Fecha de Ingreso: noviembre-2015
Ubicación: Monterrey
Mensajes: 9
Antigüedad: 8 años, 4 meses
Puntos: 0
Pregunta Respuesta: Formulario php

Cita:
Iniciado por lauser Ver Mensaje
Con esta modificación funciona... probado.

Código PHP:
Ver original
  1. <?php
  2. $action=$_REQUEST['action'];
  3. if ($action=="")    /* display the contact form */
  4.     {
  5.     ?>
  6.     <form  action="" method="POST" enctype="multipart/form-data">
  7.     <input type="hidden" name="action" value="submit">
  8.     Your name:<br>
  9.     <input name="name" type="text" value="" size="30"/><br>
  10.     Your email:<br>
  11.     <input name="email" type="text" value="" size="30"/><br>
  12.     Your message:<br>
  13.     <textarea name="message" rows="7" cols="30"></textarea><br>
  14.     <input type="submit" value="Send email"/>
  15.     </form>
  16.     <?php
  17.     }  
  18. else                /* send the submitted data */
  19.     {
  20.     $name=$_REQUEST['name'];
  21.     $email=$_REQUEST['email'];
  22.     $message=$_REQUEST['message'];
  23.     if (($name=="")||($email=="")||($message==""))
  24.         {
  25.         echo "All fields are required, please fill <a href=\"\">the form</a> again.";
  26.         }
  27.     else{        
  28.         $from="From: $name<$email>\r\nReturn-path: $email";
  29.         $subject="Message sent using your contact form";
  30.         $MailSent = mail("[email protected]", $subject, $message, $from);
  31.         if($MailSent == true) {
  32.              echo 'Mail Sent';
  33.         } else {
  34.              echo 'Mail failed';    
  35.         }
  36.     }  
  37. ?>
Muchas GRACIAS!! Me ayudaste mucho!
Pero sabes... cuando pone el echo "Mail Sent", sabras alguna forma de redireccionarlo automáticamente después de 3 segundos a la página del formulario?
  #9 (permalink)  
Antiguo 30/11/2015, 16:59
 
Fecha de Ingreso: noviembre-2015
Ubicación: NULL
Mensajes: 23
Antigüedad: 8 años, 5 meses
Puntos: 1
Respuesta: Formulario php

Prueba asi

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. if (isset($_REQUEST['action'])==NULL) {
  5.      ?>
  6.     <form  action="" method="POST" enctype="multipart/form-data">
  7.     <input type="hidden" name="action" value="submit">
  8.     Your name:<br>
  9.     <input name="name" type="text" value="" size="30"/><br>
  10.     Your email:<br>
  11.     <input name="email" type="text" value="" size="30"/><br>
  12.     Your message:<br>
  13.     <textarea name="message" rows="7" cols="30"></textarea><br>
  14.     <input type="submit" value="Send email"/>
  15.     </form>
  16.     <?php
  17.     }  
  18. else                /* send the submitted data */
  19.     {
  20.     $name=$_REQUEST['name'];
  21.     $email=$_REQUEST['email'];
  22.     $message=$_REQUEST['message'];
  23.     if (($name==NULL)||($email==NULL)||($message==NULL))
  24.         {
  25.         echo "All fields are required, please fill <a href=\"\">the form</a> again.";
  26.         }
  27.     else{        
  28.         $from="From: $name<$email>\r\nReturn-path: $email";
  29.         $subject="Message sent using your contact form";
  30.         mail("[email protected]", $subject, $message, $from);
  31.         echo "Email sent!<br>";
  32.         ?>
  33. <html>
  34. <head>
  35. <title>Redireccion</title>
  36. <meta http-equiv="Refresh" content="5;URL=url a redireccionar
  37. ">
  38. </head>
  39. <body>
  40. Sera redirigido en unos segundos...
  41. </body>
  42. </html>
  43. <?php
  44.         }
  45.     }  
  46.    
  47. ?>

en "url a redireccionar" pon la url donde se encuentra el formulario, saludos
  #10 (permalink)  
Antiguo 30/11/2015, 22:22
 
Fecha de Ingreso: noviembre-2015
Ubicación: Monterrey
Mensajes: 9
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Formulario php

Muchisimas Gracias, me fuiste de mucha ayuda! : D
Disculpa, una pregunta más...
Sabrás como ponerle estilo a los echo de php?
  #11 (permalink)  
Antiguo 01/12/2015, 06:36
Avatar de AlejandraLara  
Fecha de Ingreso: octubre-2015
Mensajes: 115
Antigüedad: 8 años, 6 meses
Puntos: 19
Respuesta: Formulario php

Ya mejor di que te hagan la tarea. Hay muchos cursos de Css en línea. No te tardas ni 10 minutos.
__________________
Si le das el código hecho a alguien nunca va a aprender ni te dará las gracias, si le dices como hacerlo aprenderá y te dará las gracias (algún día).

Etiquetas: formulario
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:49.