Visualizzazione risultati 1 fino 8 di 8

Discussione: scrivere il contenuto di una textarea su testo

  1. #1
    Guest

    Predefinito scrivere il contenuto di una textarea su testo

    salve a tutti, ho un problema piuttosto semplice(credo).come posso "mettere" come $stringa il value di una textarea dopo aver premuto sul submit?

    Codice PHP:
    <?

    $stringa
    = ??????

    $scrivi_file=fopen("text.txt","w");
    fwrite($scrivi_file,$stringa);
    fclose($scrivi_file);

    $leggi_file=fopen("text.txt","r");
    $dim_file=filesize("text.txt");
    $contenuto=fread($leggi_file,$dim_file);
    fclose($leggi_file);

    echo
    $contenuto;

    ?>
    questo php scrive la stringa su un file txt e poi lo legge...

  2. #2
    Guest

    Predefinito

    $stringa=$_POST['testo'];
    dove 'testo' è il nome della textarea.

    come puoi ben vedere, è piuttosto inutile utilizzare un'ulteriore variabile, puoi usare direttamente $_POST['testo']


    Ciao!

  3. #3
    Guest

    Predefinito

    grazie debug!

    Codice HTML:
    <html>
    <head>
    </head>
    <body>
    
    <?
    
    $scrivi_file=fopen("text.txt","w");
    fwrite($scrivi_file,$_POST['messaggio']);
    fclose($scrivi_file);
    
    ?>
    
    <form method="post" name="modulo">
    <table>
    <tr><td>testo</td><td><textarea name="messaggio" TYPE="text"></textarea></td></tr>
    <tr><td></td><td><input type="submit" name="invia" value="Invia" id="invia"></input></td></tr>
    </table>
    
    <?
    
    $leggi_file=fopen("text.txt","r");
    $dim_file=filesize("text.txt");
    $contenuto=fread($leggi_file,$dim_file);
    fclose($leggi_file);
    
    echo $contenuto;
    ?>
    
    
    </body>
    </html>
    ma ora ho 2 domande:
    1.come faccio a far si che ad ogni pressione di invio NON si cancelli il messaggio precedente?
    2.come faccio a far si che quando si invia un messaggio (ad es. casa) si aggiunga sempre un "valore" che decido io(es scrivo "casa" appare "casa!!!", scrivo "cane" appare "cane!!!")?grazie mille

  4. #4
    Guest

    Predefinito

    Devi modificare il form così:
    <textarea bla bla><?php echo $_POST['testo']; ?></textarea>

    Per aggiungere qualcosa:
    $_POST['testo']=$_POST['testo']."!!!";


    Ciao!

  5. #5
    Guest

    Predefinito

    1. Sostituisci "w" in fopen() con "a" quando salvi i contenuti.
    2. Così:
    Codice PHP:
    $testo = str_replace('casa', 'casa!!!', $originale);
    In pratica salvi nella variabile $testo il contenuto di $originale, sostituendo, però, "casa" con "casa!!!".


    EDIT: Debug è stato più veloce, ma spero che ti siano utili anche i miei consigli. :D

  6. #6
    Guest

    Predefinito

    ho fatto come mi hai detto debug (credo) ma così i "!!!" me li aggiunge semplicemente nella textarea...io volevo che si aggiungessero "invisibilmente"(che termini!)...che non compaiano nella textarea ma solo sotto!grazie

    Codice HTML:
    <html>
    <head>
    </head>
    <body>
    
    <?
    // Scrittura del file
    
    $_POST['testo']=$_POST['testo']."!!!";
    
    $scrivi_file=fopen("text.txt","a");
    fwrite($scrivi_file,$_POST['messaggio']);
    fclose($scrivi_file);
    
    ?>
    
    <form method="post" name="modulo">
    <table>
    <tr><td>testo</td><td><textarea name="messaggio" TYPE="text" cols=35 rows=7 class="obbligatorio"><?php echo $_POST['testo']; ?></textarea></td></tr>
    <tr><td></td><td><input type="submit" name="invia" value="Invia" id="invia"></input></td></tr>
    </table>
    
    <?
    
    // Lettura del file
    $leggi_file=fopen("text.txt","r");
    $dim_file=filesize("text.txt");
    $contenuto=fread($leggi_file,$dim_file);
    fclose($leggi_file);
    
    //Stampa su schermo del contenuto del file
    echo $contenuto;
    ?>
    
    
    </body>
    </html>
    EDIT:scusa ho letto solo ora,tuttoeniente,ma francamente data la mia inesperienza di php non saprei come applicarlo!puoi essere più chiaro o farmi un esempio?grazie!
    Ultima modifica di gabriballets : 30-01-2008 alle ore 18.28.49

  7. #7
    Guest

    Predefinito

    Cioè, li vuoi aggiungere solo nel txt?

    Allora scrivi così:
    fwrite($scrivi_file,$_POST['messaggio']."!!!");


    Ciao!

  8. #8
    Guest

    Predefinito

    grazie mille debug!problema risolto!
    posto il codice completo e corretto nel caso servisse a qualcuno in futuro!

    Codice:
    <html>
    <head>
    </head>
    <body>
    
    <?
    // Scrittura del file
    
    
    $scrivi_file=fopen("text.txt","a");
    fwrite($scrivi_file,$_POST['messaggio']."!!!");
    fclose($scrivi_file);
    
    ?>
    
    <form method="post" name="modulo">
    <table>
    <tr><td>testo</td><td><textarea name="messaggio" TYPE="text" cols=35 rows=7 class="obbligatorio"></textarea></td></tr>
    <tr><td></td><td><input type="submit" name="invia" value="Invia" id="invia"></input></td></tr>
    </table>
    
    <?
    
    // Lettura del file
    $leggi_file=fopen("text.txt","r");
    $dim_file=filesize("text.txt");
    $contenuto=fread($leggi_file,$dim_file);
    fclose($leggi_file);
    
    //Stampa su schermo del contenuto del file
    echo $contenuto;
    ?>
    
    
    </body>
    </html>

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •