Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Semplice questionario

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    95

    Semplice questionario

    La mia intenzione è quella di provare a fare una sorta di questionario partendo da una base datami.
    Voglio creare una sessione, salvare pian piano i dati dentro i cookie, fare un riassunto, salvarli in un db e poi distruggere la sessione.
    Il mio problema è che non so dove scrivere setcookie ("cookie_regione","Lazio",time()+60,"/"); per salvare i cookie momentaneamente e scriverli successivamente. Grazie in anticipo! In Allegato c'è il progettino.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    I cookie per salvare molti dati non sono una grande idea, contengono massimo 4Kb, poi basta.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    95
    Magari confondo i cookie con informazione di sessione, può essere? O sono sinomini?
    Devo aggiungere il codice necessario affinché al termine della compilazione vengano mostrate le risposte date dall'utente...

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Non sono sinonimi e se non sai di cosa stai parlando la vedo difficile riuscire a fare qualcosa.
    Comunque per tua informazione, in questa sezione non si fanno "i compiti" per gli altri, se hai problemi con del codice che stai scrivendo è un conto (per esempio se ti viene fuori un errore e non sai come correggere o vuoi consigli su come procedere), se vuoi che qualcuno scriva codice per te, devi rivolgerti alla sezione "offro lavoro/collaborazione".

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    95
    No Alhazred, probabilmente non si sono spiegato bene se hai risposto così. Non voglio che mi facciate "i compiti" perchè secondo me non ha senso! Ho postato le pagine perché se inserivo molto codice il post diventava illeggibile. Volevo solo un consiglio su come fare e se stavo sbagliando con i cookie perchè non sapendo dove settarlo probabilmente sbagliavo qualcosa.

    ---

    Ho fatto un po' di prove con la _SESSION e la prima volta funziona ma se volessi tornare indietro rimane salvata la regione precedente

    Codice PHP:
    function generaRegioni() {
    $conn myconnect();
    $sql "SELECT id FROM regioni";
    $risposta mysql_query($sql);
    while (
    $riga mysql_fetch_array($risposta)) {
    $nome=$riga["id"];
    echo 
    "<option value=\"$nome\"";
    if (
    $nome == $_SESSION["regione"])
    echo 
    " selected ";
    echo 
    ">$nome</option>\n";
    }
    mysql_close($conn);

    e prima di <html>

    Codice PHP:
    if (!isset($_SESSION["regione"])) $_SESSION["regione"] = $_POST['regione'];elseecho "regione: ".$_SESSION["regione"]; 
    partendo da

    Codice PHP:
    <select name="regione">
    <?php generaRegioni(); ?>
    </select>
    Ultima modifica di Rudie; 13-12-2014 a 00:02

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    95
    Ora sono riuscito a tenere in memoria la regione ma appare il messaggio Notice: Undefined index: regione ​e non so rimediare

  7. #7
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Ciao, la volontà di aiutare c'è, non ti preoccupare. Ma la domanda qual'è? Sii specifico quando chiedi aiuto. Inizia sempre con "il mio problema è..." o "quello che non riesco a capire è...", "come faccio a ottenere..", etc. Aiuta chi ti aiuta, facendo delle domande dirette sul problema. "è meglio questo o quello nel caso a,b e c?". Ricordati che chi ti risponde sul forum non ha idea di cosa ti voglia fare. Tranne Alhazred, lui ha la palla di vetro magica che non condivide con nessuno.
    Ultima modifica di .Kurt; 13-12-2014 a 00:50

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    95
    Codice PHP:
    if (!isset($_SESSION["regione"]))
       
    $_SESSION["regione"] = $_POST['regione'];
    if (isset(
    $_SESSION["regione"]))
       echo 
    "regione1: ".$_SESSION["regione"]; 
    mettendo questo prima dell'html dell'index e questo

    Codice PHP:
    <?php
    if (!isset($_SESSION["regione"]))
       
    $_SESSION["regione"] = $_POST['regione'];
    else { 
       
    $_SESSION["regione"];
       
    $_SESSION["regione"] = $_POST['regione'];
    }
    ?>
    sotto il form in pagina_1, all'avvio del progetto mi compare l'errore Notice: Undefined index: regione in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\my portable files\myphp\questionario\index.php on line 49 ($_SESSION["regione"] = $_POST['regione'] e sotto il form Notice: Undefined index: regione in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\my portable files\myphp\questionario\pagina_1.php on line 24 ($_SESSION["regione"] = $_POST['regione'].

    Quello che deve fare lo fa (ovvero salvare in sessione la regione selezionata nella select e nel caso in cui volessi tornare indietro nella select viene selezionata la riga giusta) ma sotto la form continua ad apparire Notice: Undefined index: regione in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\my portable files\myphp\questionario\pagina_1.php on line 27 ($_SESSION["regione"] = $_POST['regione'] probabilmente faccio un uso scorretto di dichiarazione della sessione regione
    Ultima modifica di Rudie; 13-12-2014 a 11:43

  9. #9
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Notice: Undefined index: regione , nel tuo caso, indica che $_POST non contiene nessuna chiave 'regione'. Risolvi modificando
    codice:
    if (!isset($_SESSION["regione"]))            $_SESSION["regione"] = $_POST['regione'];
    in
    codice:
    if (!isset($_SESSION["regione"])) {
        $_SESSION["regione"] = isset($_POST['regione']) ? $_POST['regione'] : null;
    }

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    95
    Quello prima dell'html che uso per vedere se e cosa salva funziona ma quando torno indietro per modificare la regione sotto la form compare ancora Notice: Undefined index: regione in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\my portable files\myphp\questionario\pagina_1.php on line 35 ($_SESSION["regione"] = $_POST['regione'])

    PS: ho notato che a furia di scrivere e fare prove metto apici e doppi apici in modo misto, cambia qualcosa?
    Ultima modifica di Rudie; 13-12-2014 a 11:59

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.