Desarrollo Web /

[PHP] Formulario

Participa en el tema [PHP] Formulario en el foro Desarrollo Web.
Hola! ZeroNets: El problema es exactamente el que dijo tioass: el nombre del boton submit ...3

Buscar en este tema:
 
  •  
    Nefertiti escribió el 17/07/2005 a las 05:00 hs.
     
  • Nico7799 escribió el 03/10/2005 a las 18:07 hs. ¿Mensaje inapropiado?

    #21 Re: Formulario

    Hola!

    ZeroNets:
    El problema es exactamente el que dijo tioass: el nombre del boton submit debe ir en minusculas en el formulario html O ponerlo en mayusculas en el archivo PHP.

    En tu archivo 'contactar.php', cambia la linea del boton submit por esta:
    Código:
    <input type="submit" name="submit" value="Enviar">
    
    Fijate que ahora el nombre del buton esta en minusculas, de la misma forma que en el archivo PHP.
    Despues de arreglar eso, ya no te va a aparecer mas ese mensaje...PERO tu codigo todavia no esta listo. Porque te falto modificar el nombre de las variables en el archivo PHP (las variables van son las que tienen un $ adelante). Asi tendria que estar tu archivo 'contar.php':

    Código PHP:
    <?php
    if (isset($_POST['submit'])) {

       
    // We get all the variables
       
    foreach ($_POST as $key=>$value) {
            if ( 
    gettype$value ) == "array" ) {
                
    //print "$key == <br>\n";
            
    } else { 
                
    $key $value;
            }
        }
     
        
    $message "FORMULARIO DE CONTACTO\n" 
        
    "\nNombre: " $nombre 
        
    "\nMail: " $mail 
        
    "\nTelefono: " $telefono .
        
    "\nComentarios: " $comentarios;
     
        
    $to 'tomasmalio@sos-ciencia.com.ar';
        
    $subject 'Formulario de contacto';
        
    $headers "From: webmaster@sos-ciencia.com.ar\r\n";
        
    mail($to,$subject,$message,$headers);
        
    header('Location: gracias.htm'); // Esta linea redirije a otra pagina...la podes sacar

    } else {
        echo 
    'No podes acceder a este archivo directamente.';
    }
    ?>
    Entonces:
    1. Cambie el nombre del boton submit en el formulario html.
    2. Usa el codigo PHP que te puse aca.
    3. Probalo y cualquier problema avisame
    4. Hay muchos tutoriales en la web con mucha info sobre esto, por si en el futuro queres hacer algo mas complicado.


    tioass:
    El problema esta en la ultima linea del mensaje...despues de la variable $direccion hay un . (punto) y tiene que haber un ; (punto y coma).

    El ; se usa para terminar una sentencia en PHP.
    Y el . se usa para unir sentencias.
    Entonces, como vos tenes un . al final de la variable $direccion, el servidor PHP piensa que tiene que unir esa variable con la que le sigue, osea con la variable $to.

    Seguro que ya sabes como hacer, pero por las dudas el problema esta aca:

    Código PHP:
    $message "FORMULARIO DE CONTACTO\n" 
    "\nNombre: " $nombre 
    "\nEmail: " $mail 
    "\ndireccion: " $direccion// ACA HABIA UN PUNTO EN VEZ DE UN PUNTO Y COMA 
    Saludos y cualquier cosa avisen.
    Nico
    Me gusta este mensaje
  • tioass escribió el 04/10/2005 a las 16:32 hs. ¿Mensaje inapropiado?

    #22 Re: Formulario

    Buenisimo! muchas gracias!!!, ahora, para que cuando llegue el mail ya me aparesca para responderle a la direccion q el usuario puso en el campo de "mail" como hago? (ojo, si es un quilombo explicarlo deja, no te hagas drama, con esto me conformo, jeje)

    Saludos!
    Me gusta este mensaje
  • Nico7799 escribió el 04/10/2005 a las 23:30 hs. ¿Mensaje inapropiado?

    #23 Re: Formulario

    Hola! Mira, para hacer lo que vos queres lo unico que tendrias que hacer es poner el mail del usuario en la variable $header:
    Código PHP:
    $headers "From: $mail\r\n"
    o mejor aun...agregando esta linea a las headers:

    Código PHP:
    $headers "From: webmaster@mail.com\r\n" .
    "Reply-To: $mail\r\n"
    Entonces ahi cuando respondas te va a aparecer la direccion del usuario.
    Probalo y decime cualquier cosa. Mas info: http://ar2.php.net/manual/en/function.mail.php

    * Igual yo no te recomendario hacer eso. Por lo menos no sin antes hacer varios chequeos de seguridad. *

    ** Ultimamente en la web hubo varios Spammers que se aprovecharon de Formularios ajenos para mandar spam. Todo porque esos formularios no tenian ningun tipo de defensa ni seguridad. Aclaro nomas para que lo tengas en cuenta **

    Saludos.
    Nico
    Me gusta este mensaje
  • tioass escribió el 17/10/2005 a las 08:53 hs. ¿Mensaje inapropiado?

    #24 Re: Formulario

    Nico Maestro del PHP, te tengo otra preguntita, como puedo hacer para que un archivo que adjunten en el formulario (esos que tienen el botoncito "examinar") me llegue al mail?

    Desde ya Gracias y Suerte!

    tioass!
    Me gusta este mensaje
  • Nico7799 escribió el 19/10/2005 a las 09:55 hs. ¿Mensaje inapropiado?

    #25 Re: Formulario

    tioass:

    Perdona que no te conteste antes, estoy a full con el laburo.

    Lo que queres hacer es un poquito mas complicado que mandar un mail normal. Pero se puede sin ningun problema.

    Este es un ejemplo sacado de la pagina de Zend (http://www.zend.com/zend/spotlight/sendmimeemailpart1.php?article=sendmimeemailpart1& kind=sl&id=3761&open=1&anc=0&view=1):

    Código PHP:
    <?php
    if($_FILES["fileatt"] != NULL)
    {
        
    $fileatt_type "application/octet-stream"//File Type
        
    $email_from "nilay_ibm@yahoo.com"// Who the
    email is from
        $email_subject 
    "Test File Attach"// The Subject
    of the email
        $email_txt 
    "Testing attachment"// Message that
    the email has in it

        $email_to 
    ""// Who the email is too

        
    $headers "From: ".$email_from;

        
    $file fopen($_FILES["fileatt"]["tmp_name"],"rb");
        
    $data =
    fread($file,filesize($_FILES["fileatt"]["tmp_name"]));
        
    fclose($file);

        
    $semi_rand md5(time());
        
    $mime_boundary "==Multipart_Boundary_x{$semi_rand}x";

        
    $headers .= "\nMIME-Version: 1.0\n" .
        
    "Content-Type: multipart/mixed;\n" .
        
    " boundary=\"{$mime_boundary}\"";

        
    $email_message .= "This is a multi-partmessage in
    MIME format.\n\n" 
    .
        
    "--{$mime_boundary}\n" .
        
    "Content-Type:text/html; charset=\"iso-8859-1\"\n" .
        
    "Content-Transfer-Encoding: 7bit\n\n" .
        
    $email_message "\n\n";

        
    $data chunk_split(base64_encode($data));

        
    $email_message .= "--{$mime_boundary}\n" .
        
    "Content-Type: {$fileatt_type};\n" .
        
    " name=\"{$fileatt_name}\"\n" .
        
    "Content-Disposition: attachment;\n" .
        
    " filename=\"{$fileatt_name}\"\n" .
        
    "Content-Transfer-Encoding: base64\n\n" .
        
    $data "\n\n" .
        
    "--{$mime_boundary}--\n";
        
    $email_message $email_message.$email_txt;

        
    $ok = @mail($email_to$email_subject,
        
    $email_message$headers);

        if(
    $ok
        {
            echo 
    "<font face=verdana size=2>The file was
    successfully sent!</font>"
    ;
        }else{
            die(
    "Sorry but the email could not be sent.
    Please go back and try again!"
    );
        }
    }
    ?>
    <html>
    <form action="test_mail.php" method="post"
    enctype="multipart/form-data">
    <input type="file" name="fileatt">
    <input type="submit">
    </form>
    </html>
    Si sabes ingles aca tenes 2 articulos mas:
    http://www.theukwebdesigncompany.com...ttachments.php
    http://www.phpbuilder.com/columns/ka...07.php3?page=1

    Tambien te comento que hay varias clases que ya hechas que podes usar para hacer esto y te van a hacer todo mas facil. Por ejemplo: http://phpmailer.sourceforge.net/

    Si tenes problemas avisame y trato de darte un codigo listo para usar, pero estoy medio complicado con el tiempo. El ejemplo de arriba tendria que andar, quizas con algun q otro retoque.

    Saludos!
    Nico
    </span>
    Me gusta este mensaje
  • sebasct escribió el 22/10/2005 a las 12:15 hs. ¿Mensaje inapropiado?

    #26 Re: Formulario

    mis formularios funcionan perfectamente, pero alguien sabe como hacer para que le llegue una copia al remitente.
    Es decir, cuando la persona coloca su email y hace "enviar", ademas que me llegue a mi le llegue a la otra pesona tambien.
    Saludos!
    Me gusta este mensaje
  • Nico7799 escribió el 22/10/2005 a las 23:07 hs. ¿Mensaje inapropiado?

    #27 Re: Formulario

    sebasct:

    Depende de que lenguaje estes usando y como sea tu codigo. Pero basicamentes solo tenes que agregar la direccion de mail del usuario a la variable que tiene tu direccion de email separada por una coma.
    Por ejemplo (suponiendo que usas PHP) debes tener una variable que contenga tu direccion de email con el nombre de $to o algo similar, asi:
    Código PHP:
    $to 'tudireccion@decorreo.com.ar'
    Tonces, si tambien queres que le llegue al usuario que lleno el mail, solo tenes que agregar el mail del usuario asi:
    Código PHP:
    $to 'tudireccion@decorreo.com.ar,maildelusuario@mail.com.ar'
    Suponiendo que el mail del usuario este en:
    Código PHP:
    $_POST['email'
    entonces...
    Código PHP:
    $to 'tudireccion@decorreo.com.ar,' $_POST['email']; 
    Cualquier duda avisa.
    Nico
    Me gusta este mensaje
  • sebasct escribió el 23/10/2005 a las 09:51 hs. ¿Mensaje inapropiado?

    #28 Re: Formulario

    Originalmente publicado por Nico7799
    sebasct:

    Depende de que lenguaje estes usando y como sea tu codigo. Pero basicamentes solo tenes que agregar la direccion de mail del usuario a la variable que tiene tu direccion de email separada por una coma.
    Por ejemplo (suponiendo que usas PHP) debes tener una variable que contenga tu direccion de email con el nombre de $to o algo similar, asi:
    Código PHP:
    $to 'tudireccion@decorreo.com.ar'
    Tonces, si tambien queres que le llegue al usuario que lleno el mail, solo tenes que agregar el mail del usuario asi:
    Código PHP:
    $to 'tudireccion@decorreo.com.ar,maildelusuario@mail.com.ar'
    Suponiendo que el mail del usuario este en:
    Código PHP:
    $_POST['email'
    entonces...
    Código PHP:
    $to 'tudireccion@decorreo.com.ar,' $_POST['email']; 
    Cualquier duda avisa.
    Nico
    Nico! gracias por la respuesta, pero esto es si conozca la direccion de la otra persona. Lo que yo ando buscando es que tome automaticamente del casillero "cliente" el email, pero yo no se a que cliente enviarselo sino que, dependiendo lo que envie va a uno u otro cliente.
    Ej:

    Nombre:
    Apellido:
    Email: (aca va la direccion en donde tiene que enviarse la copia)
    Ciudad:
    etc, etc etc.

    Esto se puede hacer, o es mas complicado de lo que creia?
    Saludos! y muchas gracias!
    Me gusta este mensaje
  • Nico7799 escribió el 24/10/2005 a las 07:08 hs. ¿Mensaje inapropiado?

    #29 Re: Formulario

    Claro que se puede...Eso es exactamente lo que yo te puse!
    Mira...

    Vos tenes un formulario HTML con varios campos... Nombre,Apellido,Email,Ciudad,etc.
    Supongamos que el campo 'Email' tiene como nombre 'email'. Bueno, en ese caso cuando mandes la info del formulario al script PHP, el mail del usuario va a aparecer en esta variable:
    Código PHP:
    $_POST['email'
    ok?

    Entonces lo que tendrias que agregar para que tambien mande el mail al usuario es:
    Código PHP:
     $to 'tudireccion@decorreo.com.ar,' $_POST['email']; 

    La primera seria TU direccion. Y despues de la coma agregamos la direccion de mail que el usuario puso en el formulario.
    Entonces el mail te va a llegar a vos y al usuario. Es eso lo que querias, no?
    (Si te fjias bien, es lo mismo que puse en el otro mensaje )

    No soy muy didactico a veces, asi que puede ser que mi explicacion no sea la mejor. Si tenes mas problemas avisame.
    Nico
    Me gusta este mensaje
  • sebasct escribió el 24/10/2005 a las 15:06 hs. ¿Mensaje inapropiado?

    #30 Re: Formulario

    Originalmente publicado por Nico7799
    Claro que se puede...Eso es exactamente lo que yo te puse!
    Mira...

    Vos tenes un formulario HTML con varios campos... Nombre,Apellido,Email,Ciudad,etc.
    Supongamos que el campo 'Email' tiene como nombre 'email'. Bueno, en ese caso cuando mandes la info del formulario al script PHP, el mail del usuario va a aparecer en esta variable:
    Código PHP:
    $_POST['email'
    ok?

    Entonces lo que tendrias que agregar para que tambien mande el mail al usuario es:
    Código PHP:
     $to 'tudireccion@decorreo.com.ar,' $_POST['email']; 

    La primera seria TU direccion. Y despues de la coma agregamos la direccion de mail que el usuario puso en el formulario.
    Entonces el mail te va a llegar a vos y al usuario. Es eso lo que querias, no?
    (Si te fjias bien, es lo mismo que puse en el otro mensaje )

    No soy muy didactico a veces, asi que puede ser que mi explicacion no sea la mejor. Si tenes mas problemas avisame.
    Nico
    Nico, no, el problema es que yo no lo entendi. ¡Gracias! ahora mismo lo coloque en practica y te comento.
    Saludos.
    Me gusta este mensaje

LinkBacks: http://www.psicofxp.com/forums/desarrollo-web.264/251284-php-formulario.html


Estadísticas del tema
  • 131 RESPUESTAS
  • 30188 VISTAS
  • 42 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB