Visualizzazione risultati 1 fino 16 di 16

Discussione: Xchè non mi funziona questo guestbook?

  1. #1
    Guest

    Predefinito

    http://giupenni.altervista.org/guestbook.php

    per farlo funzionare dovrei creare un file guestbook.data ...lo creo...ma non capisco perchè mi aggiunge nuove linee ma senza valori!!!
    Perchè?

  2. #2
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Se posti lo script (probablmente il problema è o nella parte che scrive il file o il db, o nella parte che lo legge) vediamo di trovare il problema.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  3. #3
    Guest

    Predefinito

    qui il link giupenni.altervista.org/nosurrender.php

    ovviamente ho creato un file di nome nosurrender.data per immagazzinare i
    dati inseriti con permessi di lettura e scrittura...ma niente!!!

    <?php

    $error=false;

    function setSurrender()
    {
    global $numero,$titolo,$n_cd,$formato;

    $new_surrender_entry=
    urlencode($numero).",".urlencode($titolo).",".urle ncode($n_cd).",".urlencode($formato)."\n";

    //scrivo i valori delle variabili all'interno di un data file
    $data=fopen("surrender.data",a) or exit;
    fwrite($data,$new_surrender_entry);
    fclose($data);

    //resetto i valori inseriti nel form
    $numero="";
    $titolo="";
    $n_cd="";
    $formato="";
    }

    function getSurrender()
    {
    //leggo il file data
    $data=fopen("surrender.data",r) or exit;
    $rawdata=fread($data,filesize("surrender.data"));
    fclose($data);

    //se è vuoto
    if($rawdata=="")
    { echo " EMPTY ";
    return;
    }

    //metto tutto dentro un array
    $data_line=explode("\n",$rawdata);

    //ordino
    rsort($data_line);

    //se non è vuoto
    $entries=count($data_line)-1;
    echo "<p>Sto spacchio di coso contiene <b>$entries</b> elementi</p>";

    //attraverso data e inserisco i valori in un array
    for($k=0; $k<count($data_line)-1; $k++)
    {
    $temp=explode(",",$data_line[$k]);

    $surrender[$k]["numero"] = $temp[0];
    $surrender[$k]["titolo"] = $temp[1];
    $surrender[$k]["n_cd"] = $temp[2];
    $surrender[$k]["formato"] = $temp[3];
    }

    //visualizzo l'elenco
    for($k=0; $k<count($surrender); $k++)
    {
    echo "<tr style=\"font-size:10pt; font-family:arial;\" align=\"center\"
    ><td width=\"25px\">";
    echo htmlspecialchars(urldecode($surrender[$key]["numero"]));
    echo "</td><td width=\"640px\">";
    echo urldecode($surrender[$key]["titolo"]);
    echo "</td><td width=\"60px\">";
    echo urldecode($surrender[$key]["n_cd"]);
    echo "</td><td width=\"75px\">";
    echo urldecode($surrender[$key]["formato"]);
    echo "</td></tr>";
    }

    }

    if($sign_surrender)
    { if($numero != "" && $titolo != "" && $n_cd != "" && $formato != "")
    { getSurrender(); } else { $error=true; } }

    ?>

    <!-- Inizio codice html -->
    <html>
    <head><title>..:: No Surrender ::..</title></head>
    <body style="color: blue;">
    <!-- Gestisco l'errore -->

    <?php if($error){ ?>
    <p><font face="arial" color="red"> ERRORE </font></p>
    <?php } ?>

    <form name=surrender method="post" action="nosurrender.php">

    <font size="1">
    N° <input name="nome" type="text" >
    Titolo <input name="titolo" type="text" >
    N° CD <input name="n_cd" type="text" >
    Formato <input name="formato" type="text" >
    </font>

    <br>

    <input type="hidden" name="sign_surrender" value="true"><input type="submit"
    value="Submit"> <input type="reset" value="Reset">

    </form>

    <table border="1" bordercolor="black" cellpadding="0" cellspacing="0"
    width="800px">
    <tr style="font-size:10pt; font-family:arial;" align="center" ><td
    width="25px">N°</td><td width="640px">TITOLO</td><td width="60px">N° CD<
    td><td width="75px">FORMATO</td></tr>

    <?php getSurrender(); ?>

    </table>

    </body>
    </html>

  4. #4
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Citazione Originalmente inviato da giupenni
    ovviamente ho creato un file di nome nosurrender.data per
    //leggo il file data
    $data=fopen("surrender.data",r) or exit;
    veramente il nome del file dovrebbe essere surrender.data senza il "no" davanti, da come si legge nel codice.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  5. #5
    Guest

    Predefinito

    sorry...il file creato è proprio surrender.data

  6. #6
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    ...cioè, ti eri solo sbagliato a scriverlo QUI sul forum.. dunque il problema persiste??
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  7. #7
    Guest

    Predefinito

    si...mi ero sbagliato a scrivere sul forum..il problema persiste!!![/quote]

  8. #8
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Come mai < count -1 ?? :
    //attraverso data e inserisco i valori in un array
    for($k=0; $k<count($data_line)-1; $k++)
    Salti l'ultimo elemento, lo fai appositamente o ti è sfuggito?
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  9. #9
    Guest

    Predefinito

    Salti l'ultimo elemento, lo fai appositamente o ti è sfuggito?
    No no...è giusto così...ma il problema è che...1 nn mi stampa una nuova riga nella tabella...2 nn mi scrive sul file .data (credo...o maari nn legge...ma penso sia la prima, che nn scrive)

  10. #10
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Prova a sostituire $numero,$titolo,$n_cd,$formato con $_POST['numero'], $_POST['titolo'], ecc. (solo le variabili passate tramite il form).
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da gve
    Prova a sostituire $numero,$titolo,$n_cd,$formato con $_POST['numero'], $_POST['titolo'], ecc. (solo le variabili passate tramite il form).
    dici qui, no?
    global $numero,$titolo,$n_cd,$formato;

  12. #12
    Guest

    Predefinito

    ho sostituito
    global $numero,$titolo,$n_cd,$formato;
    con
    global $_POST['numero'],$_POST['titolo'],$_POST['n_cd'],$_POST['formato'];

    ma così facendo la pagina mi appare bianca

  13. #13
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    No no, non intendeva così..
    Cioè, aspetta chiariamo un attimo.. il codice l'hai creato tu giusto?
    Non capisco come possa funzionare.. non vieme MAI richiamata la funzione setSurrender.. non si sa bene (quello che si chiedeva gve suppongo) dove prendi i valori inviati dal form col method POST per l'appunto.. forse sarebbe meglio che ti vedi un esempietto base con un form che si invia da solo ($PHP_SELF) dei dati..
    se invece ci sfugge qualcosa forse è meglio che ci spieghi parlandone un po' di come dovrebbe funzionare.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  14. #14
    Guest

    Predefinito

    Citazione Originalmente inviato da heracleum
    No no, non intendeva così..
    Dunque ?

    Citazione Originalmente inviato da heracleum
    Cioè, aspetta chiariamo un attimo.. il codice l'hai creato tu giusto?
    Non capisco come possa funzionare.. non vieme MAI richiamata la funzione setSurrender.. non si sa bene (quello che si chiedeva gve suppongo) dove prendi i valori inviati dal form col method POST per l'appunto.. forse sarebbe meglio che ti vedi un esempietto base con un form che si invia da solo ($PHP_SELF) dei dati..
    se invece ci sfugge qualcosa forse è meglio che ci spieghi parlandone un po' di come dovrebbe funzionare.
    Voglio creare una sorta 'd'elenco' che riceva gli input dal form e li inserisca in una nuova riga (con relative colonne) nella tabella sottostante il form sempre nella 'stessa' pagina...e che ovviamente memorizzi il tutto!!!

  15. #15
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Quello che ti voglio dire è che: dato che pare questo sia il tuo primo esperimento php con un form che posta i dati a se stesso per gestirli una volta ricevuti, consigliavo di vederti un attimo un esempietto qualsiasi, meno complesso, di questo tipo (un classico); per esempio sempre io e gve abbiamo fatto più o meno lo stesso discorso con lionalex pochi giorni fa, dunque puoi leggerti questo thread:
    http://www.altervista.org/forum/view...ight=form+post

    Qui vedi molti consigli, chiarimenti e c'è anche un pezzo di codice schematizzato scritto da gve a metà discorso, che riassume la struttura di un file php con questo intento. Dunque metti da parte un attimo la lettura e scrittura da file, e assicurati che nel tuo codice ci sia il corretto passaggio e valutazione dei valori inseriti nel form.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  16. #16
    Guest

    Predefinito

    Quell'esempio nn mi è tanto chiaro o cmq nn rispecchia al 100% il mio problema...non è che avresti un link dove poter dare una sbirciara a degli esempi più semplici che potrebbero fare al caso mio?

Regole di scrittura

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