Visualizzazione risultati 1 fino 16 di 16

Discussione: Modificare un file di testo come mostrato in textarea

  1. #1
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito Modificare un file di testo come mostrato in textarea

    Ciao ho questo codice:
    Codice PHP:
    <?
    $pw
    = fopen("db.txt","a+");
    $leggi = fread($pw,filesize("db.txt"));
    echo
    "<textarea style="width: 285px; height: 198px">$leggi</textarea>";
    fclose($pw);
    ?>
    Volevo sapere come potrei modificarlo affinchè mi mostri i dati in un file txt cosi come si vedrebbe aprendolo con blocco note. Cioè vorrei che se il file db.txt ha questo codice:
    Codice:
    Ciao|ciao
    hello|hello
    Mi viene visualizzato cosi nella textarea e poi se voglio aggiungere una cosa l'aggiungo e tramite un form si salvi. Spero di essere stato chiaro.
    Apprezzi l'aiuto? Offrimi un caffè!

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    quel codice secondo me non funziona, ma è una sensazione personale. Puoi usare file_get_contents() per caricare il file e metterlo nella textarea. A seconda di quello che ci finisce dentro, ricordati di usare htmlspecialchars().

    Il form farà submit ad una seconda pagina che prenderà il testo, se necessario lo passa attraverso stripslashes() e poi lo salva sul file, sovrascrivendolo.

  3. #3
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Eh? Quello che ci sta nel txt sono solo password cosi:
    Codice:
    user1|pass1
    user2|pass2
    Volevo fare cosi in modo tale da modificare, aggiungere o rimuovere user dal mio login.
    Apprezzi l'aiuto? Offrimi un caffè!

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    se il file contiene quello e tu lo metti nella textarea, allora vedrai, editerai e salverai quello.
    edit: uhm, per abbreviare la discussione premetto che da me non otterrai codice già pronto che faccia quello che chiedi

  5. #5
    Ospite Guest

    Predefinito

    Prova così:
    Codice PHP:
    <?
    $c
    =file_get_contents("db.txt");
    echo
    "<form name=\"form\" method=\"POST\" action=\"".$_SERVER['php_self']."\">";
    echo
    "<textarea name=\"contenuto\" style=\"width: 285px; height: 198px\">".$c."</textarea>";
    echo
    "<br /><br /><input type=\"submit\" value=\"Invia\">";
    echo
    "</form>";
    if(isset(
    $_POST['form'])){
    fwrite(fopen("db.txt","w+"),$_POST['contenuto']);
    }
    ?>
    EDIT: @dreadnaut: Non avevo letto, altrimenti avrei quotato

  6. #6
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    edit: uhm, per abbreviare la discussione premetto che da me non otterrai codice già pronto che faccia quello che chiedi
    Drednaut si capisce che hai scritto il messaggio tutto in una volta e non hai editato perchè altrimenti sotto ci sarebbe stato scritto "Ultima modifica di..."

    @probid Legge ma non scrive. Praticamente mi trovo sempre gli stessi user (in locale).
    Ultima modifica di miki92 : 26-08-2007 alle ore 10.29.20
    Apprezzi l'aiuto? Offrimi un caffè!

  7. #7
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Citazione Originalmente inviato da miki92 Visualizza messaggio
    Drednaut si capisce che hai scritto il messaggio tutto in una volta e non hai editato perchè altrimenti sotto ci sarebbe stato scritto "Ultima modifica di..."
    hai mai notato che se modifichi un messaggio entro 1 minuto / prima che qualcuno lo legga, la scrittina non appare?

    @probid: alla prossima
    Ultima modifica di dreadnaut : 26-08-2007 alle ore 10.37.55

  8. #8
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Davvero? Beh una cosa che non sapevo comunque sai dirmi perchè il codice di Probid non salva le modifiche?
    Apprezzi l'aiuto? Offrimi un caffè!

  9. #9
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    in realtà il programma di probid scrive, ma legge prima di scrivere, quindi ti accorgeresti del cambiamento al secondo reload. Solo che se fai di nuovo reload, reinvii il file e lo risalvi com'era era stato letto prima di essere stato scritto. Ti basta spostare qualcosa e funziona.

  10. #10
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Beh si, io ho bisogno che mi esponga prima i contenuti e che dopo scriva.
    Apprezzi l'aiuto? Offrimi un caffè!

  11. #11
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    ti ricordo che uno script php viene eseguito e completato ad ogni visualizzazione della pagina. Non è che si ferma, aspetta che tu invii il form e poi continua. Riguarda il programma di probid pensando a questo, e dovresti capire come correggerlo.

  12. #12
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Bah si vede che ho il cervello piccolo allora, io do ordine al php di leggermi il contenuto del file, dopodichè me lo mostra modifico e invia i dati e lui me li salva. Ho provato ad aggiungere e a cancellare ma non riesco. Ecco il mio ultimo codice:
    Codice PHP:
    <?
    $open
    = fopen("db.txt","r");
    $c = file_get_contents("db.txt");
    echo
    "<form name=\"form\" method=\"POST\" action=\"".$_SERVER['php_self']."\">";
    echo
    "<textarea name=\"contenuto\" style=\"width: 285px; height: 198px\">".$c."</textarea>";
    echo
    "<br /><br /><input type=\"submit\" value=\"Invia\">";
    echo
    "</form>";
    if(isset(
    $_POST['form'])){
    fwrite(fopen("db.txt","w+"), $_POST['contenuto']);
    }
    ?>
    Apprezzi l'aiuto? Offrimi un caffè!

  13. #13
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    nu, quest'ultimo codice non migliora nulla, hai solo aggiunto una riga inutile in cima.
    Fai così: prova quella pagina, fai una visibile modifica al file, premi Invia e poi apri il file db.txt con il Blocco note.

  14. #14
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Eh che dorebbe fare? Ci sono sempre i due user.
    Apprezzi l'aiuto? Offrimi un caffè!

  15. #15
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    devo imparare a perdere la speranza più velocemente
    Codice PHP:
    <?
    if ( isset($_POST['contenuto']) && ( $f = fopen("db.txt","w+") ) ) {
    fwrite($f, $_POST['contenuto']);
    fclose($f);
    }
    $c = file_get_contents("db.txt");
    echo
    "<form name=\"form\" method=\"POST\" action=\"".$_SERVER['php_self']."\">";
    echo
    "<textarea name=\"contenuto\" style=\"width: 285px; height: 198px\">".$c."</textarea>";
    echo
    "<br /><br /><input type=\"submit\" value=\"Invia\">";
    echo
    "</form>";
    ?>
    prima salvo se necessario, poi carico il file, poi lo mostro. Dopo il submit, la cosa si ripete: la pagina viene eseguita due volte, perché la visualizzi due volte.
    Ultima modifica di dreadnaut : 26-08-2007 alle ore 11.31.16

  16. #16
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Sei cattivo...avevi detto che dovevo solo spostare una cosa. Comunque grazie drednaut ora funziona come dico io. Puoi chiudere ho risolto.
    Apprezzi l'aiuto? Offrimi un caffè!

Regole di scrittura

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