Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    29

    rileggere un cookie da html

    salve ragazzi ho un problema, vorrei creare un cookie da un file html e mandarlo ad un file php, a questo punto vorrei rimandarlo indietro al file html precedente, credo di aver creato correttamente il cookie dal file html però quando viene mandato al file php la prima volta da errore, la seconda volta visualizza correttamente il cookie, a questo punto non sò come a rimandarlo al file html, vi linko il codice creato grazie mille:-)
    html
    codice:
    <!DOCTYPE HTML>
    <HTML>
        <HEAD>
        <BASE HREF="http://localhost:8080/"/>
        
        </HEAD>
            <body>
                <form action="cookie.php" method="post" style="text/plain">
                    <fieldset>
                        inserisci il nome utente:<input autofocus type="text" name="nomeCooke"id="nome">
                        <input type="submit" value="invia dati!"
                    </fieldset>
                </form>
            </body>
    </HTML>
    php
    codice:
    <HTML>
        <HEAD>
        
            <BASE HREF="HTTP://LOCALHOST:8080/"/>
            <?PHP
            $valore = $_POST["nomeCooke"];
            setcookie("nome", $valore);
            ?>
        
        </HEAD>
            <BODY>
            <?php
            $variabile=$_COOKIE['nome'];
            echo $variabile;
            ?>
            </BODY>
    </HTML>

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ti da errore dicendo che il cookie non è definito?

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    29
    la prima volta che lo eseguo mi da questo errore:
    Notice: Undefined index: nome in D:\xampp\htdocs\cookie.php on line 13
    se faccio indietro e ripremo il tasto per l'invio dati vengono visualizzati correttamente, e questo per me è già inspiegabile, ma non riesco nemmeno a rimandarlo al client html modificato con una stringa di risposta. ES. dovrebbe essere che html invia un nome sottoforma di cookie, iphp lo legge lo modifica e lo rimanda indietro e html lo stampa, credo di essere vicino alla soluzione ma non riesco ad andare avanti

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    il comportamento è normale, il cookie appena generato non lo puoi mica rileggere durante l'esecuzione dello script

    se tu fai
    form.php --> script.php --redirect tramite header location--> altra pagina php (anche form.php, con i dovuti controlli)

    mettendo la stampa del cookie dopo il redirect, otterrai il risultato che vuoi

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    29
    Perdonami io ora sto studiando php se potresti spiegarti in maniera più "facile" mi faresti un grande piacere

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    hai già un form in html, cambiagli l'estensione e inserisci una cosa tipo questa
    Codice PHP:
    $variabile = isset($_COOKIE['nome']) ? $_COOKIE['nome'] : "non esiste il cookie"
    // questo sopra si chiama operatore ternario corrisponde a 
    // if(issetisset($_COOKIE['nome']) {
    //    $variabile = isset($_COOKIE['nome']);    
    // }
    // else {
    //    $variabile = "non esiste il cookie";
    // }
    echo "il valore del cookie: $variabile"
    nel tuo file php, modifica facendo una cosa tipo questa:
    Codice PHP:
    <?php
    // tutto l'html va tolto, o il redirect non funziona
    $valore $_POST["nomeCooke"];
    setcookie("nome"$valore);
    header("Location: form.php"); // questo ti riporta al form
    ?>
    in teoria potresti anche fare anche tutto nella pagina form.php, ma così mi sembra più "didattico"

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    29
    Quote Originariamente inviata da clasku Visualizza il messaggio
    hai già un form in html, cambiagli l'estensione e inserisci una cosa tipo questa
    Codice PHP:
    $variabile = isset($_COOKIE['nome']) ? $_COOKIE['nome'] : "non esiste il cookie"
    // questo sopra si chiama operatore ternario corrisponde a 
    // if(issetisset($_COOKIE['nome']) {
    //    $variabile = isset($_COOKIE['nome']);    
    // }
    // else {
    //    $variabile = "non esiste il cookie";
    // }
    echo "il valore del cookie: $variabile"
    nel tuo file php, modifica facendo una cosa tipo questa:
    Codice PHP:
    <?php
    // tutto l'html va tolto, o il redirect non funziona
    $valore $_POST["nomeCooke"];
    setcookie("nome"$valore);
    header("Location: form.php"); // questo ti riporta al form
    ?>
    in teoria potresti anche fare anche tutto nella pagina form.php, ma così mi sembra più "didattico"
    grazie mille sei stato gentilissimo mille grazie per tutti i commenti messi :-)

  8. #8
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Questo non dovrebbe essere cosi ?

    $variabile = $_COOKIE['nome'];

    invece di

    $variabile = isset($_COOKIE['nome']);

  9. #9
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    si, errore di copia e incolla...

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.