Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Fwrite e "a capo"
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • K
      karedas Super User • 8 giu 2007, 09:05 ultima modifica di

      Fwrite e "a capo"

      Salve a tutti!:ciauz:
      Sto usando le funzione di fwrite e fopen per scrivere e leggere da un file di testo nel quale vado a depositare, con un submit, il testo presente in una text-area digitato dall'utente.
      Ciò che non riesco a capire ne a fare è come mandare a capo nel file di testo.
      Ho provato con \n ma mi crea tanti piccoli square ( [][][] ) e non va a capo.
      L'unica idea per mettere a video i dati staccati era aggiungere un <br /> ma così non mi piace.

      [PHP]<?php
      //legge sul file di testo easylog.txt
      function leggiLog(){

      $fileRead=fopen("easyLog.txt","r");
      $fileSize=filesize("easyLog.txt");
      $log=fread($fileRead,$fileSize);
      fclose($fileRead);
      echo "
          <form method='post' action='".scriviLog()."'>
              <label>Nuova stringa:</label><input type='text' name='textLog'></input>
              <input type='submit' value='aggiungi' name='submit'/>
          </form>    
          <div id='logDiv' style='border:1px solid #000000;'>
              $log;
          </div>
          ";
      }
      

      //scrive sul file di testo easylog.txt
      function scriviLog(){
      if((isset($_POST['submit'])) || ($_POST['textLog']!="")){
      $addLog=$_POST['textLog'];
      $fileWrite=fopen("easyLog.txt","a");
      fwrite($fileWrite,$addLog."\n");
      fclose($fileWrite);
      }
      }?>[/PHP]

      Adesso:
      oltre al fatto che non mi va a capo non ho capito come refreshare la pagina dopo che il dato è stato inviato.
      Ho provato con header ma mi da l'errore che l'ho gia usato:
      **Cannot modify header information - headers already sent by (output started at C:\Programmi\Apache Software Foundation\Apache2.2\htdocs\easysystem\login.php:27) in...
      **

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • K
        karedas Super User • 8 giu 2007, 09:26 ultima modifica di

        ok ho risolto il refresh cambiando l'impostazione della funzione:
        [php]
        <?php
        //scrive e legge da file di testo easylog.txt
        function creaLog(){
        $fileRead=fopen("easyLog.txt","r");
        $fileSize=filesize("easyLog.txt");
        $textlog=fread($fileRead,$fileSize);
        fclose($fileRead);
        echo "
        <form method='post' onsubmit='".$_SERVER['REQUEST_URI']."'>
        <label>Nuova stringa:</label><input type='text' name='textLog'></input>
        <input type='submit' value='aggiungi' name='submit'/>
        </form>
        <div id='logDiv' style='border:1px solid #000000;'>
        $textlog;
        </div>
        ";
        if((isset($_POST['submit'])) || ($_POST['textLog']!="")){
        $addLog=$_POST['textLog'];
        $fileWrite=fopen("easyLog.txt","a");
        fwrite($fileWrite,$addLog."\n");
        fclose($fileWrite);
        }
        }?>
        [/php]Ora mi rimane che non so come andare a capo nel .txt ad ogni invio del submit

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • O
          olaola User Attivo • 8 giu 2007, 09:43 ultima modifica di

          se il server e' windows per andare a capo in un file ci devi mettere "\n\r"

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • K
            karedas Super User • 8 giu 2007, 09:43 ultima modifica di

            No ecco:
            ora sono riuscito a mandare a capo in scrittura il testo con \r\n.
            Ma non mi refresha la pagina °_°

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • K
              karedas Super User • 8 giu 2007, 10:30 ultima modifica di

              Ah grazie Olaola ho scritto il messaggio un secondo dopo il tuo!
              Senti ora ho una domanda diversa ma sempre simile.
              Nel file di testo mi va a capo ma nell'html no!
              Non so come fargli fare un ciclo che per ogni riga deve mettere un <br/>
              help? 😮

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • O
                olaola User Attivo • 8 giu 2007, 11:11 ultima modifica di

                in che senso nell'html non ti va a capo? cerchi di includere il file di log in un documento html?

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • K
                  karedas Super User • 8 giu 2007, 11:17 ultima modifica di

                  [PHP]<?php
                  //scrive e legge da file di testo easylog.txt
                  function creaLog(){
                  $fileRead=fopen("easyLog.txt","r");
                  $fileSize=filesize("easyLog.txt");
                  $textlog=fread($fileRead,$fileSize);
                  echo "<form method='post' onsubmit='".$_SERVER['REQUEST_URI']."'>
                  <label>Log procedurale:</label></input>
                  <textarea style='width:50%; height:80%; display:block;' name='textLog'>$textlog;
                  </textarea>
                  <input type='submit' value='Salva' name='submit'>
                  </form>";
                  if((isset($_POST['submit']))){
                  $data=date("d-m-y, G:i");
                  $addLog=$data." ".$_POST['textLog'];
                  $fileWrite=fopen("easyLog.txt","w");;
                  fwrite($fileWrite,$addLog."\r\n");
                  fclose($fileWrite);
                  }
                  fclose($fileRead);
                  }?>[/PHP]

                  Ecco qui. Non riesco a risolvere questo problema.
                  (ho modificato intanto il php).
                  Praticamente voglio che nella textarea compaia ciò che è scritto nel file di testo.
                  In più voglio avere la possibilità di modificare il file di testo semplicemente aggiungendo e scrivendo nella textarea con consecutivo click sul submit.
                  Non so xkè ma nn mi funziona °_°

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • P
                    probid Super User • 8 giu 2007, 15:25 ultima modifica di

                    Ciao karedas,prova così:
                    [php]<?
                    $textlog=nl2br(fread($fileRead,$fileSize));
                    ?>[/php]
                    Ciao 😉

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • K
                      karedas Super User • 8 giu 2007, 15:46 ultima modifica di

                      Grazie li ci sono riuscito.
                      Ora la mia preoccupazione è quella che quando vado a cliccare su "SALVA" dalla pagina html , non riesco a sovrascrivere il file di testo come vorrei.
                      [PHP]..
                      if((isset($_POST['submit']))){
                      $data=date("d-m-y, G:i");
                      $addLog=$data." ".$_POST['textLog'];
                      $fileWrite=fopen("easyLog.txt","a");
                      fwrite($fileWrite,$addLog."\r\n");
                      fclose($fileWrite);
                      }
                      ...[/PHP]

                      Questa porzione di codice non fa altro che duplicare il testo gia presente e riappiopparmelo sotto. Io invece voglio sovrascriverlo non avere un loop doppio ! :rk01_annegare:

                      (ah e poi non è che sapresti rispondermi sul come refreshare la stessa pagina dopo il submit? ) :Trilly-95-77:

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • K
                        karedas Super User • 11 giu 2007, 07:49 ultima modifica di

                        up!

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • K
                          karedas Super User • 12 giu 2007, 16:20 ultima modifica di

                          nessuno mi sa aiutare? :°(

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • P
                            probid Super User • 12 giu 2007, 16:23 ultima modifica di

                            Cambia semplicemente il modo d'apertura da "a" a "w+" 😉
                            Ciao!

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • S
                              skyline User Attivo • 14 giu 2007, 15:06 ultima modifica di

                              penso che vada bene anche a+ 🙂 saluti

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • P
                                probid Super User • 14 giu 2007, 16:23 ultima modifica di

                                @Skyline said:

                                penso che vada bene anche a+ 🙂 saluti
                                No,a+ aggiunge i dati in coda 😉
                                Ciao!

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • S
                                  skyline User Attivo • 14 giu 2007, 16:30 ultima modifica di

                                  si vero, che sbadato, appena arrivato e faccio già confusione 😄

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • K
                                    karedas Super User • 14 giu 2007, 16:31 ultima modifica di

                                    No così non mi funziona,o meglio scrive ma lo fa in modo errato:

                                    [PHP] function creaLog(){
                                    //scrittura
                                    if((isset($_POST['submit']))){
                                    $data=date("d-m-y");
                                    $addLog=$data."\n".$_POST['textLog'];
                                    $fileWrite=fopen("easyLog.txt","w+");
                                    fwrite($fileWrite,$addLog."\r\n");
                                    fclose($fileWrite);
                                    }
                                    //lettura
                                    $fileRead=fopen("easyLog.txt","r");
                                    $fileSize=filesize("easyLog.txt");
                                    $textlog=(fread($fileRead,$fileSize));
                                    echo "<form method='post' action='".$_SERVER['REQUEST_URI']."'>
                                    <label>// ZONA BUGGATA IN FASE DI ELABORAZIONE :: Log procedurale:<hr>\n</label></input>
                                    <textarea cols='100' rows='20'style='display:block;
                                    padding:5px;' name='textLog'>$textlog
                                    </textarea> \n
                                    <hr>
                                    <input type='submit' value='Salva' name='submit'>
                                    </form>";
                                    }[/PHP]

                                    Se metto scrittura con w+ la funzione mi copia e sdoppia l'intero contenuto del file .txt
                                    Se metto a+ non capisco il motivo mi combina questo:
                                    mi raddoppia la data + in alto nel file di testo e dove c'è l'apostrofo mi mette delle slash ad ogni submit

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • K
                                      karedas Super User • 15 giu 2007, 17:00 ultima modifica di

                                      Up up ri up! 😮

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      • K
                                        karedas Super User • 19 giu 2007, 08:27 ultima modifica di

                                        nessuno mi sa aiutare? =(

                                        0 Miglior Risposta Ringrazia Cita Rispondi

                                          1 Risposta Ultima Risposta
                                        Caricamento altri post
                                        Rispondi
                                        • Topic risposta
                                        Effettua l'accesso per rispondere
                                        • Da Vecchi a Nuovi
                                        • Da Nuovi a Vecchi
                                        • Più Voti