• User Attivo

    Ciao l'errore è l'uso dell'opzione w che cancella il contenuto precedente del file txt sostituendolo con quello inserito nella text area

    Versione sistemata dello script

    [PHP]
    <?php
    if (isset($_POST['submit']) === true) // Controllo che il form sia stato inviato
    {
    $file = fopen('file.txt', 'a+'); // apro il file usando l'opzione a o a+ dal momento che l'opzione w o w+ cancella il contenuto precedente
    fwrite($file , $_POST['commento']);
    fclose($file);
    }
    ?>
    <form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']?>">
    <textarea name="commento" cols="35" rows="8">
    <?php
    echo file_get_contents('file.txt'); // Stampo il contenuto del file txt nella textarea
    ?>
    </textarea>
    <input type="submit" name="submit" value="Invia">

    </form>

    <h1>Il contenuto del file txt è</h1>
    <?php
    echo file_get_contents('file.txt');
    ?>
    [/PHP]

    Quà trovi del materiale che potrebbe servirti: http://allwebfree.it/php_txt.php .


  • User Newbie

    solo un commento veloce... ricordati sempre che quando vai a scrivere sul filesystem dovresti controllare che nei dati che stai per scrivere non ci siano cose potenzialmente dannose, se il form che stai realizzando è accessibile agli utenti dovresti eliminare tag html, codice php o mysql, comandi di shell, dati binari, ecc.


  • User Attivo

    @gabriele1986 said:

    Ciao l'errore è l'uso dell'opzione w che cancella il contenuto precedente del file txt sostituendolo con quello inserito nella text area

    Versione sistemata dello script

    [PHP]
    <?php
    if (isset($_POST['submit']) === true) // Controllo che il form sia stato inviato
    {
    $file = fopen('file.txt', 'a+'); // apro il file usando l'opzione a o a+ dal momento che l'opzione w o w+ cancella il contenuto precedente
    fwrite($file , $_POST['commento']);
    fclose($file);
    }
    ?>
    <form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']?>">
    <textarea name="commento" cols="35" rows="8">
    <?php
    echo file_get_contents('file.txt'); // Stampo il contenuto del file txt nella textarea
    ?>
    </textarea>
    <input type="submit" name="submit" value="Invia">

    </form>

    <h1>Il contenuto del file txt è</h1>
    <?php
    echo file_get_contents('file.txt');
    ?>
    [/PHP]

    Quà trovi del materiale che potrebbe servirti:allwebfree.it/php_txt. .

    Grazie Gabriele appena rientro stasera provo subito....
    Usavo w perchè a ed r avevo capito che servivano solo per la lettura...mi hai messo pure per stampare il contenuto nella text-area wow!!! 😄
    Stasera provo subito e poi mi guardo il link allegato


  • User Attivo

    @fabio.mosti said:

    solo un commento veloce... ricordati sempre che quando vai a scrivere sul filesystem dovresti controllare che nei dati che stai per scrivere non ci siano cose potenzialmente dannose, se il form che stai realizzando è accessibile agli utenti dovresti eliminare tag html, codice php o mysql, comandi di shell, dati binari, ecc.

    Grazie per il consiglio fabio, in effetti saranno cose a mio avviso sicuramente dannose, sto facendo un minisito semplice alla mia ragazza che vuole scrivere e modificare qualche notizia sulle serie tv tipo di vampiri, lupi mannari & C. 😄 :fumato:

    Cmq accederà solo lei da una pagina con login, nel sito accessibile da tutti stampo solo il contenuto della text area.
    Ciao!


  • User Newbie

    ottimo, l'importante è quello... come intendi proteggere la pagina di modifica, con un file .htaccess o usi le sessioni di php? fra le due, la prima è più semplice, la seconda un po' più robusta


  • User Attivo

    @gabriele1986 said:

    Ciao l'errore è l'uso dell'opzione w che cancella il contenuto precedente del file txt sostituendolo con quello inserito nella text area

    Versione sistemata dello script

    [PHP]
    <?php
    if (isset($_POST['submit']) === true) // Controllo che il form sia stato inviato
    {
    $file = fopen('file.txt', 'a+'); // apro il file usando l'opzione a o a+ dal momento che l'opzione w o w+ cancella il contenuto precedente
    fwrite($file , $_POST['commento']);
    fclose($file);
    }
    ?>
    <form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']?>">
    <textarea name="commento" cols="35" rows="8">
    <?php
    echo file_get_contents('file.txt'); // Stampo il contenuto del file txt nella textarea
    ?>
    </textarea>
    <input type="submit" name="submit" value="Invia">

    </form>

    <h1>Il contenuto del file txt è</h1>
    <?php
    echo file_get_contents('file.txt');
    ?>
    [/PHP]

    Quà trovi del materiale che potrebbe servirti: allwebfree.it/php_txt.php .

    Ecco, lho provato , all'inizio non andava con action sun <?php echo $_SERVER['PHP_SELF']?>
    e ho messo (grazie ai tuoi consigli di lettura) il metodo di apertura su "c" così non cancella il contenuto quando lo apre e lo puoi modificare ed inviare.
    La versione finale del codice è la seguente:
    [HTML]
    <form name="form1" method="post" action="prova_modifiche1.php">
    <textarea name="commento" class="editabile">
    <?php
    echo file_get_contents('divina.txt'); // Stampo il contenuto del file txt nella textarea
    ?>
    </textarea>
    <input type="submit" name="submit" value="Invia">

    </form>

    <h1>Il contenuto del file txt è</h1>
    <?php
    echo file_get_contents('divina.txt');
    ?>
    [/HTML]

    e per action:

    [HTML]
    <?php
    if (isset($_POST['submit']) === true) // Controllo che il form sia stato inviato
    {
    $file = fopen('divina.txt', 'c'); // apro il file usando l'opzione a o a+ dal momento che l'opzione w o w+ cancella il contenuto precedente
    fwrite($file , $_POST['commento']);
    fclose($file);
    header("Location: ./index.php");
    }
    ?>
    [/HTML]

    Ecco così me lo modifica e lo salva quasi regolarmente.....

    Si possono fare aggiunte e cncellare qualcosina, ma se per esempio si vuole cancellare tutto e scrivere solo ciao.......prova tu stesso ho questo dfominio dove faccio le mie prove.... prova a cancellare tutto il testo e scrivere tu e poi inviare, oppure prova a cancellare l'immagine, va cosa rimane e cosa ciu vuole per cancellarlo.....:x

    belinchecodice.altervista.org/prova_editor/index.php

    In più ho altri 2 problemini, difficelmente risolvibili credo.
    Di quel favoloso editor non mi prende
    -colore carattere
    -grandezza carattere

    Cioè funzionano le icone (chechissene) e non queste cose più importanti, possibile?

    Grazie mille ciao


  • User Attivo

    Ecco, lho provato , all'inizio non andava con action sun <?php echo $_SERVER['PHP_SELF']?>
    e ho messo (grazie ai tuoi consigli di lettura) il metodo di apertura su "c" così non cancella il contenuto quando lo apre e lo puoi modificare ed inviare.

    Scusa come mai come costante nel parametro dopo l'apertura del file hai messo la costate c?

    ho fatto un test rapido usando la costante c come secondo parametro nella funzione per l'apertura del file e "stranamente" ( dal momento che la costante c non è tra quelle previste dalle funzioni per la manipolazione del file vedi link o documentazione di php) permette random di applicare le modifiche, per quando riguarda il problema con l'editor, potrebbe dipendere dalla versione che usi, se è una versione rc ancora in beta potrebbe avere qualche bug,
    per il discorso dell'immagine devo ancora pensare cosa potrebbe essere, fai solo una prova a sostituire c con a come dall'esempio che ti ho postato e vedi se si risolvono i vari problemi, a me funzionava lo script senza problemi, non ho provato integrando un editor wysiwyg, ma non dovrebbe cambiare dal momento che l'editor non interagisce con le parti in php.

    all'inizio non andava con action sun <?php echo $_SERVER['PHP_SELF']?>

    forse non ti andava perchè avevi spostato la parte dei controlli sulla pagina prova_modifica1.pph
    <?php echo $_SERVER['PHP_SELF']?> fà riferimento alla stessa pagina come metodo dell'action quindi vuole i controlli sulla stessa pagina.


  • User Attivo

    Trova la costante c mi era sfuggita sulla documentazione, credo che però il problema sia dato dall'uso di quella costante, perchè leggendo la documentazione sembra un misto tra la costante w e la costante a.


  • User Attivo

    @fabio.mosti said:

    ottimo, l'importante è quello... come intendi proteggere la pagina di modifica, con un file .htaccess o usi le sessioni di php? fra le due, la prima è più semplice, la seconda un po' più robusta

    Ciao fabio, va, non ho proprio le idee chiare, io intendevo proteggerle con il tool di aruba che in automaqtico ti protegge una cartella...certo, voglio imparare ad usare anche metodfi piu manuali...tu nel caso tra sessioni (che avevo provato a farle con successo) e htaccess cosa mi consigli?
    Nel caso sai dove trovare tutorial o buoni esempi sull'uso di file(credo sia file) htaccess???
    Ciao grazie ancora


  • User Attivo

    @gabriele1986 said:

    Scusa come mai come costante nel parametro dopo l'apertura del file hai messo la costate c?

    ho fatto un test rapido usando la costante c come secondo parametro nella funzione per l'apertura del file e "stranamente" ( dal momento che la costante c non è tra quelle previste dalle funzioni per la manipolazione del file vedi link o documentazione di php) permette random di applicare le modifiche, per quando riguarda il problema con l'editor, potrebbe dipendere dalla versione che usi, se è una versione rc ancora in beta potrebbe avere qualche bug,
    per il discorso dell'immagine devo ancora pensare cosa potrebbe essere, fai solo una prova a sostituire c con a come dall'esempio che ti ho postato e vedi se si risolvono i vari problemi, a me funzionava lo script senza problemi, non ho provato integrando un editor wysiwyg, ma non dovrebbe cambiare dal momento che l'editor non interagisce con le parti in php.

    forse non ti andava perchè avevi spostato la parte dei controlli sulla pagina prova_modifica1.pph
    <?php echo $_SERVER['PHP_SELF']?> fà riferimento alla stessa pagina come metodo dell'action quindi vuole i controlli sulla stessa pagina.

    Ciao gabri, ho trovato la chiamata giusta per fopen 😄 è "w+"
    messa così fa tutto correttamente: apre modifica, aggiunge test e se lo si vuole cancella tutto con un canc solo (anche le immagini)
    se vuoi testare: belinchecodice.altervista.org

    Grazie al link che mi avevi inviato ero finito sul manuale di php dove avevano aggiunto anche le chiamate c ecc,ecc...l'articolo si vede era piu datato e non c'erano le ultime.
    Ora dell'editor funziona anche la modifica del colore carattere, l'unico bug è che non cambia la grandezza del font, il resto tutto ok...


  • User Newbie

    @simo10piu said:

    Ciao fabio, va, non ho proprio le idee chiare, io intendevo proteggerle con il tool di aruba che in automaqtico ti protegge una cartella...certo, voglio imparare ad usare anche metodfi piu manuali...tu nel caso tra sessioni (che avevo provato a farle con successo) e htaccess cosa mi consigli?
    Nel caso sai dove trovare tutorial o buoni esempi sull'uso di file(credo sia file) htaccess???
    Ciao grazie ancora

    guarda, si tratta di due soluzioni molto diverse... tendenzialmente le sessioni ti danno più possibilità di azione (puoi salvare variabili, ecc.) mentre la protezione tramite htaccess è una cosa per certi versi più basilare e sicuramente più facile da implementare.

    per i file htaccess non c'è lettura migliore della documentazione di apache* (non ti riesco a incollare il link perchè non sono premium XD)*