Regresar a la página www.ComoCrearTuWeb.com
Resultados 1 al 13 de 13

Tema: Formulario con php que guarde los datos en un txt

  1. #1
    Es que hay vida fuera de CCTW? Habitante
    Fecha de Ingreso
    05 oct, 07
    Ubicación
    Sevilla - España
    Mensajes
    4,599
    Poder de Reputación
    41

    Formulario con php que guarde los datos en un txt

    Bueno, vamos a hacer algo tan sencillo como un formulario con el cual no necesitaremos tener phpmail, ya que el formulario no se mandará por php, sino que se guardará en un archivo, en este caso hemos elegido un archivo txt.
    Esta vez os voy a dar los códigos directamente, para que os resulte más fácil. Nuestro formulario se va a formar de cuatro partes: texto, nombre, email y la imagen captcha.

    Vamos a empezar creando nuestro propio captcha. En este caso encontré por internet este captcha que me pareció realmente bueno. Tenemos que crear solamente un archivo llamado captcha.php , y en él ponemos este código:
    Código:
    <?php
    // archivo: captcha.php
    function randomText($length) {
        $pattern = "1234567890abcdefghijklmnopqrstuvwxyz";
        for($i=0;$i<$length;$i++) {
          $key .= $pattern{rand(0,35)};
        }
        return $key;
    }?>
    <?php
    session_start();
    $_SESSION['tmptxt'] = randomText(8);
    $captcha = imagecreatefromgif("bgcaptcha.gif");
    $colText = imagecolorallocate($captcha, 0, 0, 0);
    imagestring($captcha, 5, 16, 7, $_SESSION['tmptxt'], $colText);
    header("Content-type: image/gif");
    imagegif($captcha);
    ?>
    Además debeis colocar un archivo que se llame bgcaptcha.gif, y que debe ser la imagen que querais que tenga de fondo vuestro captcha.

    Ahora vamos a pasar a hacer el archivo en el que se guardaran los datos que se envíen en el formulario. Para ello cread un archivo llamado texto.txt, subidlo a vuestro servidor y dadle permisos 777 para poder ser editado.

    Por último vamos a cread nuestro formulario. Éste se compondrá, como siempre, de dos archivos, uno html y otro php.
    Vamos a empezar con el html, al que le pondreis el nombre que querais. Yo le llamaré texto.html (debe estar junto al captcha.php)
    En este archivo html colocareis el código que querais, y donde querais que aparezca el formulario sólo teneis que agregar el siguiente código:
    Código:
    <center><form action="texto.php" method="post" enctype="multipart/form-data" name="formredac">
    Texto:
    
    <textarea name="texto" cols="60" rows="8"></textarea>
    
    Nombre:
    <input name="nombre" type="text" size="30" maxlength="40" style="text-align:center" />
    
    Email:
    <input name="email" type="text" size="30" maxlength="50" style="text-align:center" />
    
    [img]../captcha.php[/img]
    
      <input name="tmptxt" type="text" style="text-align:center">
    
    <input name="" type="submit" value="Enviar" />
    <input name="action" type="hidden" value="checkdata">
    </form></center>
    Ahora vámonos al archivo php. A éste teneis que llamárle texto.php y le pondreis al igual que el html el estilo que querais, y donde querais que aparezca las frases de que se ha enviado el formulario y to eso colocais este código:
    Código:
    <?php
      session_start();
    if ($_POST['action'] == "checkdata") {
        if ($_SESSION['tmptxt'] == $_POST['tmptxt']) {
    	
    	
    $nombre_archivo = 'texto.txt';
    $contenido = $_POST["texto"] . "\r\nNombre:" . $_POST["nombre"] . "\r\nEmail:" . $_POST["email"] . "\r\n\r\n\r\n";
    
    if (is_writable($nombre_archivo)) {
    
        if (!$gestor = fopen($nombre_archivo, 'a')) {
             echo "
    
    No se puede abrir el archivo para guardar su texto. Por favor, si el problema persiste contacte con el administrador.</p>";
             exit;
        }
    
        if (fwrite($gestor, $contenido) === FALSE) {
            echo "
    
    No se puede escribir al archivo para guardar su texto. Por favor, si el problema persiste contacte con el administrador.</p>";
            exit;
        }
    
        echo "
    
    Su texto fue enviado correctamente y está pendiente de verificación.</p>
    
    Volver al índice</p>";
    
        fclose($gestor);
    
    } else {
        echo "
    
    No se puede escribir sobre el archivo para guardar su texto. Por favor, si el problema persiste contacte con el administrador.</p>";
    }
    
    
        } else {
            echo "<span class='Estilo1'>El código captcha es incorrecto</span>
    Volver atrás";
        }
    }
    ?>
    Con eso ya tendremos nuestro formulario hecho. Este código no lo encontrareis en otro sitio (por lo menos por ahora), ya que es una mezcla que he hecho con modificaciones de otros que ya existían.

    El archivo txt es privado y los usuarios no tienen acceso a el, solo lo vereis vosotros que conoceis la url.

    Aquí os dejo el formulario de prueba: http://tuwebdeinformatica.com/Crearw...bas/texto.html

    Y todo lo que mandeis se guardará aquí: http://tuwebdeinformatica.com/Crearw...ebas/texto.txt

    Espero que os sirva y os guste, jeje.
    Saludos

  2. #2
    Me va gustando esto... Habitante
    Fecha de Ingreso
    25 abr, 08
    Ubicación
    Mexico DF
    Mensajes
    104
    Poder de Reputación
    18

    serviria para libro de visitas??

    jugoncan!!!
    te pasaste
    jajaja
    oye oye una duda, mira vi esto del formulario q va al archivo txt y me puse a pensar si se podria usar para un libro de visitas x ejemplo.

    osea que con un include o algo asi se metan esos datos en un libro de vistas, pero pues cada entrada x llamarlo asi, necesitaria su condigo html
    se podria esto???
    y si se pude
    como hacerlo???

    espero haberme exlicado
    gracias

  3. #3
    Es que hay vida fuera de CCTW? Habitante
    Fecha de Ingreso
    05 oct, 07
    Ubicación
    Sevilla - España
    Mensajes
    4,599
    Poder de Reputación
    41
    Pues yo sé hacerlo pero no sabría ponerte saltos de líneas entre las cosas que escriban en el mismo campo del formulario, es decir, que todo lo que escriban en un campo del formulario será siempre el mismo párrafo :?
    Para que quede bien del todo habría que buscar la forma de convertir los saltos de línea a código html

  4. #4
    Me va gustando esto... Habitante
    Fecha de Ingreso
    25 abr, 08
    Ubicación
    Mexico DF
    Mensajes
    104
    Poder de Reputación
    18
    si si
    es lo que yo queria
    que cuando enviaran la informacion cada comentario saliera con un codigo para que no solo se vean pues letras, sino que se vea bonito

    tambien voy a buscar x ahy
    haber q encuantro.

  5. #5
    Es que hay vida fuera de CCTW? Habitante
    Fecha de Ingreso
    05 oct, 07
    Ubicación
    Sevilla - España
    Mensajes
    4,599
    Poder de Reputación
    41
    Pues mira, sólo debes de hacer unos cambios.
    Haz que el archivo txt sea un html, y que no se te olvide cambiar esta parte del código php:
    <?php
    session_start();
    if ($_POST['action'] == "checkdata") {
    if ($_SESSION['tmptxt'] == $_POST['tmptxt']) {


    $nombre_archivo = 'texto.txt';
    $contenido = $_POST["texto"] . "\r\nNombre:" . $_POST["nombre"] . "\r\nEmail:" . $_POST["email"] . "\r\n\r\n\r\n";



    Después sólo debes hacer un include en el archivo php que quieras que se vea.
    Saludos

  6. #6
    Recien Llegado! Pasaba por aquí...
    Fecha de Ingreso
    27 jun, 08
    Mensajes
    1
    Poder de Reputación
    0

    no me muestra la imagen bgcaptcha.gif

    los cuatro archivos mas la imagen bgcaptcha.gif deben ir en un mismo directorio?? no hay caso que me aparezca la imagen bgcaptcha.gif que cree en el archivo texto.html para ser vista y tecleada por el usuario.

  7. #7
    Es que hay vida fuera de CCTW? Habitante
    Fecha de Ingreso
    05 oct, 07
    Ubicación
    Sevilla - España
    Mensajes
    4,599
    Poder de Reputación
    41
    La imagen tiene que ir junto al archivo captcha.php

  8. #8
    Me va gustando esto... Habitante
    Fecha de Ingreso
    18 dic, 07
    Mensajes
    47
    Poder de Reputación
    18
    Hola. Justamente eso es lo que estaba buscando y abri un nuevo tema sin saber de la existencia de este.
    Yo necesito hacer un formulario con alrededor de 200 o 300 articulos. Luego ese formulario debe grabarse en un archivo TXT, ser obtenido por un FTP y pasado a un sistema contable. Por lo tanto necesito que por cada pedido que se envie se genere un TXT diferente ya que podria darse el caso de que dos personas desde dos maquinas diferentes envien el archivo al mismo tiempo. Sabes como podria hacer esto?
    La idea es tener una planilla con cada uno de los codigos de los articulos, las personas ingresaran la cantidad que deseen de cada articulo y al enviarse el formulario este debe grabarse en un TXT para ser recogido por el FTP y luego borrado para no saturar la capacidad del hosting. Sabrias como ayudarme?
    Muchas Gracias

  9. #9
    Recien Llegado! Habitual
    Fecha de Ingreso
    09 oct, 08
    Mensajes
    10
    Poder de Reputación
    17
    hola muy bueno el post, como hago para que te aparezca el recuadro que te aparece a vos en el campo de texto, yo copio tu codigo y en mi pagina de prueba no aparece con recuadro
    Creo que el problema es de mi firefox :S
    [/code]

  10. #10
    Recien Llegado! Merodeador
    Fecha de Ingreso
    22 nov, 08
    Ubicación
    Venezuela
    Mensajes
    9
    Poder de Reputación
    0

    Saludos

    Buen tutorial lo unico es que lo he probado pero no se ve la imagen captcha es decir aparece el recuadro pero sin imagen de fondo y sin los números captcha, les muestro asi http://fotografia.net76.net/

  11. #11
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    21 ago, 08
    Mensajes
    411
    Poder de Reputación
    19

    PHP EN HTML-KIT???

    Hola Jucocan,

    seguí tus instrucciones pero tengo un problema. He seguido el PASO A PASO, por lo tanto, trabajo con el editor html-kit y fuera de ese editor, no sé moverme. MI pregunta:

    1. se podrá crear archivos php con el html-kit? De todos modos, creé los archivos con extensión php pero, cómo relaciono texto.html con captcha.php por qué no me salió el captcha en el formulario (solo la x roja).

    2. ¿Qué significa darle permisos 777 para que sea editado el texto.txt, xDDD?????? Habla castellano que eso me suena a chino.

    Por favor, JUCOCAN, te agradecería que me respondieras ya que necesito ese formulario que está preciso con su captcha. Saludos :D :D :D

  12. #12
    Recien Llegado! Merodeador
    Fecha de Ingreso
    02 ene, 09
    Mensajes
    9
    Poder de Reputación
    0

    pleaseeee

    ya han pasado muchos meses pero..
    ¿podrias explicarlo para los que seguimos PASO A PASO? es que me gustaria incluirlo en mi pagina pero de momento solo uso el kit y muchas veces no muy bien :(
    en fin consideralo como la buena accion navideña jajajaja.

    bueno, saludos y feliz año.

  13. #13
    Recien Llegado! Pasaba por aquí...
    Fecha de Ingreso
    16 abr, 12
    Mensajes
    1
    Poder de Reputación
    0

    Cool Ayuuuuuuuuuuudaaaaaaaaaaaaaaa Pleeeeeeeeaaaaaaaaaaaaassssssssssss!!!!!!!!!!!!!!!

    Primero que nada gracias por el tiempo y la molestia de mi mensaje lo que pasa es que soy demasiado nuevo en esto de html
    Pero necesito crear una pagina que tome datos que escriba el usuario y los guarde en un archivo txt
    Llevo hasta ahora esto...........



    <html>
    <body text="BLACK" size="1">

    <FORM method=get action="registro de detalles.txt">
    Agregar Nuevos Detalles a La Torre
    <TABLE BORDER=0>

    <TR>
    <TD>Departamento</TD>
    <TD>
    <INPUT type=text name="departamento">
    </TD>
    </TR>

    <TR>
    <TD>Nuevo Detalle</TD>
    <TD>
    <SELECT name="nuevo detalle">
    <OPTION VALUE="cancel">Cancel</OPTION>
    <OPTION VALUE="fijos">Fijos</OPTION>
    <OPTION VALUE="puerta">Puertas</OPTION>
    <OPTION VALUE="triangulo">Triangulo</OPTION>
    <OPTION VALUE="antepecho">Antepecho</OPTION>

    <OPTION VALUE="sello negro">Sello Negro</OPTION>
    <OPTION VALUE="sello transparente">Sello Transparente</OPTION>
    <OPTION VALUE="tubo de remate">Tubo de remate</OPTION>
    <OPTION VALUE="espejo faldon">Espejo faldon</OPTION>
    <OPTION VALUE="espejos">Espejos</OPTION>

    <OPTION VALUE="angulo baño">Angulo Baño</OPTION>
    <OPTION VALUE="angulo closet">Angulo Closet</OPTION>
    <OPTION VALUE="tapa gas frente">Tapa De Gas Frente</OPTION>
    <OPTION VALUE="tapa gas atras">Tapa De Gas Atras</OPTION>
    <OPTION VALUE="dientes de sierra">Dientes De Sierra</OPTION>

    <OPTION VALUE="pecera">Pecera</OPTION>
    <OPTION VALUE="herrajes">Herrajes</OPTION>
    </SELECT>
    </TD>
    </TR>

    <TR>
    <TD COLSPAN=2>
    <INPUT type="submit" value="Guardar">
    </TD>
    </TR>
    </TABLE>
    </FORM>
    </body>
    </html>

    am alguien me puede ayudar o darme una referencia en que estoy mal
    gracias por todo

Temas Similares

  1. ayuda!! al recibir datos de formulario
    Por JTole en el foro Formularios
    Respuestas: 2
    Último Mensaje: 25/09/2008, 14:13
  2. Como mandar datos de un formulario a una base de datos
    Por yunyi en el foro Php Bases de Datos y MySQL (Nuevo!)
    Respuestas: 13
    Último Mensaje: 18/12/2007, 01:35

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •