1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

PHP

Discussão em 'Web Development' iniciada por Rutrafonseca, 26 de Dezembro de 2008. (Respostas: 11; Visualizações: 891)

  1. Boa noite,
    Podiam me dizer como faço um código em php que grave no ficheiro ( xxx.txt) tudo o que eu escrever na caixa de texto (textfield)

    Cumprimentos :msmiley1:
     
  2. SeventhDoor

    SeventhDoor Power Member

    Encontrei isto numa pequena pesquisa no google:

    Código:
    <?php
    error_reporting(E_ALL);
    ?>
    //aqui definimos que os erros vão ser todos reportados
    <?PHP
    $ficheiro = "xxx.txt";
    //aqui defines que $ficheiro é o xxx.txt (convém mudar para o ficheiro que quiseres, na pasta que quiseres 
    if($_SERVER['REQUEST_METHOD'] == "POST")
    {
    $fs = fopen($ficheiro, "w");
    
    fwrite($fs, $_POST['fileData']);
    fclose($fs);
    echo "
    <p>Escrita feita com sucesso.</p>";
    }
    $fileData = htmlspecialchars(implode('', file($yourFile)));
    ?>
    
    <center>
    <form method="POST">
    <h1>Blablabla Titulo</h1><br>
    <br>
    <textarea name="fileData" rows=15 cols=60>
    <?php
    echo $fileData;
    ?>
    </textarea><br>
    <br>
    <input type="submit" value="Submeter" name="submit">
    </form>
    </center>
    fonte

    Apenas traduzi o que lá estava, e tentei adaptar às tuas necessidades. Não testei o ficheiro, mas penso que seja alguma coisa desse género que precisas.

    Cumps.
     
  3. shello

    shello Moderador
    Staff Member

  4. Já tenho este código, mas ele escreve a palavra "textfield" e queria que escrevesse o que está no textfield

    Código:
    <?php
    
    $myFile = "xxx.txt";
    $fh = fopen($myFile, 'w') or die("can't open file");
    $stringData = textfield;
    fwrite($fh, $stringData);
    fclose($fh);
    ?>
    
     
  5. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Não é assim.
    O que está no textfield (aliás, na textarea de nome "textfield") tem de estar num form que envia os dados por post (de preferência), e, onde tu tens
    PHP:
    $stringData textfield;
    terás
    PHP:
    $stringData $_POST["textfield"];
    O HTML é uma coisa deste género:
    Código:
    <form action="ficheiro_que_grava.php" method="post">
      <textarea name="textfield" id="textfield">Escreva aqui o texto!</textarea><br />
      <input type="Submit" value="Enviar" />
    </form>
    
    Código não testado, mas é algo assim.
     
  6. PHP:
    <?php

    $myFile 
    "xxx.txt";
    $fh fopen($myFile'w') or die("can't open file");
    $stringData $_POST["textfield"];  
    fwrite($fh$stringData);
    fclose($fh);
    ?>
    Código:
    <form action="index.php" method="post">
      <input name="textfield" type="password" id="textfield" value="" />
      <br />
      <input type="Submit" value="Submit" />
    </form>
    
    Podem me dizer o que está mal ?

    Como faço para os valores do textfield2 serem gravados no ficheiro yyy.txt
     
    Última edição: 26 de Dezembro de 2008
  7. whee_man

    whee_man Power Member

    Q erro é q dá?
    Deste permissões de escrita no ficheiro xxx.txt?

    Ps. no form, põem method="POST" em maiúsculas.
     
  8. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Não sei se quererás estar a fazer o fopen com "w". Vê a ajuda o fopen no php.net.

    Já agora, qual é o objectivo de registares num ficheiro o que é escrito num campo do tipo "password"?
     
  9. h4des

    h4des Power Member

    Sacar as passwords ao pessoal? :c

    Btw, o ficheiro onde tens o codigo chama-se mesmo index.php ? É que se não for tens de mudar no html.
     
  10. sornafix

    sornafix Power Member

    Eu testei o codigo seguinte funcionou.

    Codigo PHP para abrir o ficheiro e guardar os dados:

    PHP:
    <?php
     
    if(isset($_POST["textfield"])){
    $myFile "xxx.txt";
    $fh fopen($myFile'w') or die("can't open file");
    $stringData $_POST["textfield"]; 
    fwrite($fh$stringData);
    fclose($fh);
    }
    ?> 
    Codigo do form:

    Código:
    <form action="index.php" method="post">
    <input name="textfield" type="password" id="textfield" value="" />
    <br />
    <input type="Submit" value="Submit" />
    </form>
    
    O que ele faz é guardar sempre a ultima cena escrita no campo textfiled apagando tudo o que esteja escrito anteriormente. Caso queiras guardar tudo , uma das opções que tens de ler tudo do ficheiro primeiro, guardar tudo num array e entao guardar tudo novamente no ficheiro adicionando a ultima leitura. Mas não faças isso para acar passwords ao pessoal...
     
    Última edição pelo moderador: 31 de Dezembro de 2008
  11. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Em vez de ler o ficheiro e depois gravar de novo, só tens de trocar o "w" no fopen por "a+" ;)
     

Partilhar esta Página