Visualizzazione risultati 1 fino 11 di 11

Discussione: Errore su script commenti php

  1. #1
    Guest

    Exclamation Errore su script commenti php

    Ho fatto uno script per i commenti in php che salva i commenti in un file .txt, funziona bene tranne che ogni volta che si entra nella pagina, si ricarica la pagina o si preme "invia" fa un commento a vuoto...
    ho provato ha risolvere ma non funziona...
    ecco il codice:
    Codice PHP:
    <?

    $scrivi_file
    =fopen("blog.txt","a+");
    fwrite($scrivi_file,"<br>");
    $testo = $_POST['messaggio'];
    if (
    $testo != null){
    fwrite($scrivi_file,$testo."");
    fclose($scrivi_file);
    }
    ?>

    <form method="post">
    Testo:<br>
    <textarea name="messaggio" TYPE="text" cols=35 rows=7 class="obbligatorio"></textarea><br>
    <input type="submit" name="invia" value="Invia" id="invia"></input><br>
    <hr color=red>

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


    echo
    $contenuto;
    ?>
    c'è un modo per risolvere o devo ricorrere al database?
    la pagina con lo script è qua:
    http://ziolio.altervista.org/commenti/test.php
    e qui la stessa cosa ma più completa
    http://ziolio.altervista.org/commenti/commenti.php
    come potete vedere lascia uno spazio ad ogni entrata...

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

    Predefinito

    Beh, fa esattamente quello che hai scritto nel codice: apre il file, ci scrive una riga vuota, e se c'e' un messaggio lo aggiunge. Noti nulla di sbagliato?

  3. #3
    Guest

    Predefinito

    si ma appena entro nella pagina e come se avessi cliccato invia senza testo dentro, io devo risolvere questo problema...

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

    Predefinito

    Non e' un "problema", e' che il tuo codice gli dice di fare quello. Se non vuoi che venga aggiunta una riga vuota, togli o sposta la riga che aggiunge una riga vuota.

  5. #5
    Guest

    Predefinito

    se la tolgo vengono fuori tutti i commenti in fila e non va bene, se la sposto dove la devo spostare?

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

    Predefinito

    Il tuo codice fa questo ora:
    Codice:
    * Apre il file
    * Aggiunge una riga vuota
    * SE c'e' un commento da aggiungere
      - Aggiungi il commento al file
    * Chiude il file
    Ti prego, arrivaci da solo

  7. #7
    Guest

    Predefinito

    forse mi sono spiegato male, va bene che vada a capo ma deve farlo solo nel caso in cui io clicchi invia, non appena apro la pagina. invece lo fa appena ricarico la pagina...

    EDIT:

    * SE c'e' un commento da aggiungere
    - Aggiungi il commento al file
    non funziona...
    Ultima modifica di alemoppo : 15-06-2011 alle ore 19.37.39 Motivo: Non fare doppi post. Usa il tasto Edita!

  8. #8
    Guest

    Predefinito

    Modifica lo script e metti la parte che aggiunge un commento dentro una condizione:

    Codice PHP:
    if (isset($_POST['invia']))

  9. #9
    Guest

    Predefinito

    ora provo

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

    Predefinito

    Citazione Originalmente inviato da ziolio Visualizza messaggio
    forse mi sono spiegato male, va bene che vada a capo ma deve farlo solo nel caso in cui io clicchi invia, non appena apro la pagina. invece lo fa appena ricarico la pagina...
    Niente, non c'e' speranza.

    Codice PHP:
    <?php
    $scrivi_file
    = fopen("blog.txt","a+"); // apriamo il file
    $testo = $_POST['messaggio'];
    if (
    $testo != null) { // c'e' un commento da aggiungere?
    fwrite($scrivi_file,$testo.""); // aggiungi il commento
    fwrite($scrivi_file,"<br>"); // vai a capo
    }
    fclose($scrivi_file); // chiudiamo il file
    ?>

  11. #11
    Guest

    Predefinito

    ...
    hai ragione...
    che figura...
    grazie per la pazienza...

Regole di scrittura

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