• User Newbie

    form php

    sto seguendo il il corso di giorgiotave su PHP.
    nel capitolo "form", il modulo "visualizza" funziona correttamente, ma premendo "invia", lo script verifica.php mi genera una riga di errore per ogni variabile:
    Notice: Undefined variable: nome in c:\programmi\easyphp1-

    8\www\esempi\verifica.php on line 5

    Notice: Undefined variable: cognome in c:\programmi\easyphp1-8\www\esempi\verifica.php on line 5

    Da cosa dipende??

    grazie


  • Super User

    @casellea said:

    sto seguendo il il corso di giorgiotave su PHP.
    nel capitolo "form", il modulo "visualizza" funziona correttamente, ma premendo "invia", lo script verifica.php mi genera una riga di errore per ogni variabile:
    Notice: Undefined variable: nome in c:\programmi\easyphp1-

    8\www\esempi\verifica.php on line 5

    Notice: Undefined variable: cognome in c:\programmi\easyphp1-8\www\esempi\verifica.php on line 5

    Da cosa dipende??

    grazieMi puoi mandare i sorgenti di tutte le pagine coinvolte?

    Comunque penso di aver capito da cosa dipende l'errore: sostituisci $nome e $cognome con $_POST['nome']e $_POST['cognome']

    FOOooooooorse è così, non so... mi servono i sorgenti 😄


  • User Attivo

    Per la precisione direi che quello che ti viene segnalato non è un errore ma una "notifica" (cioè una sorta di avviso)

    Per maggiori info ti rimando [url=http://it2.php.net/manual/it/function.error-reporting.php]qua

    :ciauz:


  • Super User

    @riky78 said:

    Per la precisione direi che quello che ti viene segnalato non è un errore ma una "notifica" (cioè una sorta di avviso)

    Per maggiori info ti rimando [url=http://it2.php.net/manual/it/function.error-reporting.php]qua

    :ciauz:In quel caso è un errore nelle operazioni... Lo script richiama variabili non inizializzate...


  • User Newbie

    con l'istruzione print_r($_GET) vedo che i valori vengono passati
    però non visualizzati.

    Ti fornisco il codice che segue per la verifica:

    questo il codice del modulo visualizza.php:

    <html>
    <body>
    <form action=VERIFICA.php metod=GET>
    <center>
    Inserisci il tuo nome:<input type="text" name="nome" size="30">

    Inserisci il tuo cognome:<input type="text" name ="cognome" size="30">

    Inserisci la tua e-mail:<input type="text" name ="email" size="30">

    Scegli quale sezione vorresti che ci fosse nel sito:

    <input type="checkbox" name="sport" value="sport">sport
    <input type="checkbox" name="cinema" value="cinema">cinema
    <input type="checkbox" name="donne" value="donne">donne
    <input type="checkbox" name="forum" value="forum" checked>forum

    Scegli la connessione che usi

    <input type="radio" name="linea" value="56k" checked>56k
    <input type="radio" name="linea" value="isdn">isdn
    <input type="radio" name="linea" value="adsl">adsl
    <input type="radio" name="linea" value="56k">fastweb

    Inserisci ora i tuoi commenti

    <textarea name="commenti" rows="7" cols="70">
    </textarea>

    <input type="submit" value="invia i dati">
    <input type="reset" value="cancella">
    </form>
    <hr>
    </body>
    </html>

    =======script VERIFICA.PHP==========
    <html>
    <body>
    <center>Riepilogo</center>
    <?php
    echo "Ciao $nome $cognome
    ";
    echo "Questa e la tua email $email
    ";
    echo "
    Sezioni che vorresti(puoi anche non sceglierne):
    ";
    echo "$sport $cinema $donne $forum
    ";
    echo"
    Tu navighi con la seguente connessione :$linea
    ";
    echo "
    ecco i tuoi commenti:
    $commenti";
    ?>
    </body>
    </html>

    ti ringrazio e attendo notizie
    ciao


  • Super User

    ciao casellea

    prova

    
    echo $_post&#91;"nome"&#93;;
    echo $_post&#91;"cognome"&#93;;
    
    

    🙂


  • User Attivo

    piccoloa correzione al codice di rinzi 🙂

    echo $_GET["nome"];
    echo $_GET["cognome"];

    :ciauz:


  • Super User

    @riky78 said:

    piccoloa correzione al codice di rinzi 🙂

    echo $_GET["nome"];
    echo $_GET["cognome"];

    :ciauz:esatto, a parte che $_post non è quello superglobale!

    PS: per questioni di lunghezze massime degli URL ( che non ricordo quale sia ) e per questione di visibilità, sicurezza ed estetica, meglio passare certi dati per POST. Ciao!


  • User Newbie

    sì in questo modo non ho nessun errore, però solo se vado a fleggare su tutte e 4 le caselle di tipo checkbox : "sport" ,"cinema","donne" ,"forum".
    Se non spunto ad esempio "sport", ottengo il seguente messaggio di errore: "Notice: Undefined index: sport".

    ma come mai l'esempio del form sulla guida PHP di giorgiotave funziona perfettamente e a me no?
    sarà qualche configurazione del php.ini o del webserver? io ho insallato il pacchetto EasyPHP1.8.0.

    attendo altri suggerimenti.
    grazie ciao


  • Super User

    @riky78 said:

    piccoloa correzione al codice di rinzi 🙂

    echo $_GET["nome"];
    echo $_GET["cognome"];

    :ciauz:

    vero riky.. non avevo visto l'impostazione a GET del metod

    :ciauz:


  • Super User

    @casellea said:

    sì in questo modo non ho nessun errore, però solo se vado a fleggare su tutte e 4 le caselle di tipo checkbox : "sport" ,"cinema","donne" ,"forum".
    Se non spunto ad esempio "sport", ottengo il seguente messaggio di errore: "Notice: Undefined index: sport".funziona così con le checkbox ehehehe!

    Però mi sembra che se fai

    
    
    <input type="checkbox" name="sezioni" value="sport">sport
    <input type="checkbox" name="sezioni" value="cinema">cinema
    <input type="checkbox" name="sezioni" value="donne">donne
    <input type="checkbox" name="sezioni" value="forum" checked>forum
     
    
    
    

    dovresti ottenere in POST un array chiamato sezioni contenenti le caselle spuntate... non lavoro da tempo con le checkbox, prova un pò!

    http://freephp.html.it/guide/lezione.asp?id=197


  • User Newbie

    grazie pater, ma non funziona lo stesso.
    Ho risolto però scrivendo nello script verifica.php questo codice:

    if (empty($_GET["cinema"])) {
    $cinema=" ";
    } else {
    $cinema="cinema";
    }

    Se non fleggato, la variabile $cinema viene riconosciuta come non definita e la definisco memorizzando uno spazio.
    Se invece viene fleggata, gli memorizzo il valore cinema.

    Mi resta comunque il dubbio di come abbia fatto giorgiotave, nel suo esempio della guida PHP, a farlo funzionare senza questo stratagemma.
    ciao :arrabbiato: