Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1

    Modificare Contenuto File .txt Da Pagina Php

    Salve ragazzi,
    premetto che sono un neofita con il php, come potrei fare per modificare/riscrivere il contenuto un file di testo (*.txt) non appena scrivo su un paragrafo

    ...</p> che si trova in una pagina (*.php).

    In pratica mi servirebbe un sistema che mi permette di cambiare il contenuto di un file di testo .txt (E SALVARLO MODIFICATO) non appena scrivo su questo paragrafo.

    Chi mi aiuta mi fa un grandiss ssssss imo favore.

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    cosa intendi per 'non appena scrivo'?

    se intendi dopo che l'utente ha scritto sul tuo campo input e inviato il form allora puoi usare la funzione fwrite


    Codice PHP:
    $file fopen('tuoFile.txt''w');
    fwrite($file $_POST['tuoCampoForm']);
    fclose($file ); 

  3. #3

    Re: Modificare Contenuto File .txt Da Pagina Php

    Originariamente inviato da longdrink
    .... come potrei fare per modificare/riscrivere il contenuto un file di testo (*.txt) non appena scrivo su un paragrafo

    ...</p> ........
    In effetti non si capisce cosa intendi: nei paragrafi non si scrive, semmai si scrive in una form.
    Se poi vuoi evitare di inviare il risultato della modifica (da form) con il classico pulsante di submit, allora devi usare pesatemente JavaScript.... nel senso di AJAX.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  4. #4
    las, sì un form, scusa hai ragione, ho sbagliato io.
    Si dovrebbe andare bene... provo a farla girare e ti faccio sapere.
    Nel frattempo ti ringrazio tantissimo.

  5. #5
    Originariamente inviato da las
    cosa intendi per 'non appena scrivo'?

    se intendi dopo che l'utente ha scritto sul tuo campo input e inviato il form allora puoi usare la funzione fwrite


    Codice PHP:
    $file fopen('tuoFile.txt''w');
    fwrite($file $_POST['tuoCampoForm']);
    fclose($file ); 
    Scusa las, a partire dallo script che mi ha postato, che tipo di form devo creare, io ho provato con una textarea, un pulsante invia, ma in "form action" cosa metto? il nome del file di questo script php?

  6. #6
    niente, non riesco a farlo girare purtroppo,
    non riesco a scrivere il form adatto

  7. #7
    Originariamente inviato da longdrink
    Scusa las, a partire dallo script che mi ha postato, che tipo di form devo creare, io ho provato con una textarea, un pulsante invia, ma in "form action" cosa metto? il nome del file di questo script php?
    In action devi mettere il nome dello script PHP che processa i dati provenienti dalla form e che si occupa di scrivere nel file di testo con le funzioni che ti sono state segnalate.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  8. #8
    Originariamente inviato da alcio74
    In action devi mettere il nome dello script PHP che processa i dati provenienti dalla form e che si occupa di scrivere nel file di testo con le funzioni che ti sono state segnalate.

    ci ho provato, non funziona

    Ho una pagina di nome form.php
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    </head>
    
    <body>
    <form action="azione.php">
    <TEXTAREA cols=50 rows=4 WRAP="physical" name="commento"></textarea>
    <INPUT type="SUBMIT" value="Invia">
    </form>
    
    
    </body>
    </html>
    poi una pagina con il codice php di nome azione.php

    codice:
    <?php
    $file = fopen('file1.txt', 'w'); 
    fwrite($file , $_POST['form.php']); 
    fclose($file );
    ?>
    e un file di testo da modificare di nome file1.txt

    ma il tutto non funziona.

    fralal'altro mi da quest'errore :

    Notice: Undefined index: form.php in E:.....\azione.php on line 3

  9. #9
    ve lo rimetto in ordine e lo posto, eccolo sotto

    form.php
    codice:
    ]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    </head>
    
    <body>
    <form action="azione.php">
    <TEXTAREA cols=50 rows=4 WRAP="physical" name="commento"></textarea>
    <INPUT type="SUBMIT" value="Invia">
    </form>
    
    
    </body>
    </html>
    azione.php
    codice:
    <?php
    $file = fopen('file1.txt', 'w'); 
    fwrite($file , $_POST['form.php']); 
    fclose($file );
    ?>

  10. #10
    il motivo è che dentro $_POST devi mettere i nomi dei campi del form

    quindi
    fwrite($file , $_POST['form.php']);

    diventa
    fwrite($file , $_POST['commento']);

    puoi anche fare la cosa carina di mettere tutto in un unico file, ad esempio
    codice:
    <?php
    
    if (isset($_POST['submit']) === true)
    {
        $file = fopen('file1.txt', 'w'); 
        fwrite($file , $_POST['commento']); 
        fclose($file);
    }
    
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    </head>
    
    <body>
    <form action="?">
    <TEXTAREA cols=50 rows=4 WRAP="physical" name="commento"><?php echo isset($_POST['submit']) ? htmlentities($_POST['commento'], ENT_QUOTES) : ''; ?></textarea>
    <INPUT type="submit" name="submit" value="Invia" />
    </form>
    
    
    </body>
    </html>
    I file che contengono codice php devono sempre finire per .php (la cosa si può cambiare ma per adesso non ci interessa), quindi non potrai rinominarlo in form.html (ma non penso ti interessi). Detto questo:
    - una volta che il form deve puntare a "se stesso" visto che il codice php sta dentro lo stesso file la action può essere un generico ? oppure il nome del file stesso (form.php);
    - il codice all'inizio non può più scrivere direttamente ma deve prima verificare se è stato inviato il form ... ci sono svariati modi per farlo, generalmente uso isset sul tasto submit del form ... isset restituisce true se $_POST['submit'] esiste altrimenti restituisce false ... in questo modo il codice che scrive il file parte solo se è stato inviato il form
    - al submit ho dato l'attributo name per farlo comparire dentro $_POST
    - dentro i tag textarea ho inserito un pezzetto di codice php che verifica se il form è stato inviato ed in caso inserisce il testo del commento stesso preoccupandosi di convertire i caratteri particolari nelle rispettive entità (ad esempio < diventa &gt ; oppure à diventa &agrave ; e via dicendo [ps: lo spazio prima del punto e virgola non c'è, serve solo per farlo vedere sul forum])

    Lo so che la cosa probabilmente ti sembra estremamente complicato, ma ti ho voluto postare quest'esempio per avere qualcosina da studiacchiare

    Qui dei link dove puoi trovare delle informazioni utili
    www.php.net/fopen
    www.php.net/fwrite
    www.php.net/fread
    www.php.net/feof
    www.php.net/fclose
    www.php.net/file_get_contents
    www.php.net/isset
    www.php.net/htmlentities

    Alcuni sono usati, altri no ma te li ho messi come riferimento

    Se vuoi vedere cosa c'è dentro l'array $_POST puoi usare questo codice (messo dentro i tag di php e soprattutto dopo che invii un form)
    codice:
    echo '<pre>';
    var_dump($_POST);
    echo '</pre>';
    www.php.net/var_dump

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.