Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Problema con una select

    Ciao a tutti, sono nuovo, ho 15 anni e mi chiamo Alberto, ho un problema....


    Non so perchè da una "select" mi prende sempre la stessa opzione ora vi faccio vedere, sto cercando di creare un gioco gestionale da fare con i miei amici, ecco lo script della prima pagina dopo il login :
    <?php
    session_start();




    $PHPSESSID=session_id();


    require("check1.php");
    require("connect.php");
    echo "<a href=\"logout1.php?$PHPSESSID\">LOGOUT</a>

    ";
    echo "Ciao\t";
    echo ($_COOKIE['logged']);
    echo "
    La tua città è\t";
    echo ($_COOKIE['paese']);

    echo"<form method='post' action=\"luogo.php?sid=$PHPSESSID /$luogo \">";
    echo "Dove vuoi andare?
    ";
    echo "<select name=\"luogo\">
    <option>Seleziona...</option>
    <option>palestra</option>
    <option>casa</option>
    <option>ristorante</option>
    <option>lavoro</option>
    </select>
    ";
    echo "<input type='submit' name='submit'>";


    echo "</form>";



    @setcookie("luogo","$luogo");



    $sel=mysql_query("SELECT * FROM elementi WHERE nickname='$_COOKIE[logged]'",$con);
    $result=mysql_fetch_array($sel);
    echo "Punti:"."$result[punti]". "
    ";
    echo "Intelligenza:"."$result[intelligenza]" . "
    ";
    echo "Forza:"."$result[forza]" ."
    ";
    echo "Energia:"."$result[energia]" ."
    ";
    echo "Denaro:"."$result[denaro]" ."
    ";
    @mysql_close();


    echo "


    Invia messaggio a un giocatore :";
    echo "<form method='post' action='messaggio.php?$PHPSESSID'>";
    echo "Nickname destinatario<input type='text' name='destinatario'>
    ";
    echo "Messaggio:<textarea name='messaggio' cols=40 rows=20>Scrivi...</textarea>
    ";
    echo "<input type='submit' name='submit' value='Invia messaggio'>";
    echo "</form>";

    ?>
    ecco ora la pagina di controllo di questo script:

    <?php
    session_start();
    $PHPSESSID=session_id();

    require("check1.php"); #contiene il controllo cookie 'logged'


    if ($_COOKIE['luogo']=='palestra'){
    HEADER("Locationalestra.php?$PHPSESSID");
    }


    if ($_COOKIE['luogo']=='casa'){
    HEADER("Location:casa.php?$PHPSESSID");

    }

    ?>
    ora la pagina palestra.php :

    <?php
    session_start();
    require("connect.php");


    require("check1.php");






    $sel=mysql_query("SELECT * FROM elementi WHERE nickname='$_COOKIE[logged]'",$con);
    $result=mysql_fetch_array($sel);
    echo "
    Punti:"."$result[punti]". "
    ";
    echo "Intelligenza:"."$result[intelligenza]" . "
    ";
    echo "Forza:"."$result[forza]" ."
    ";
    echo "Energia:"."$result[energia]" ."
    ";
    echo "Denaro:"."$result[denaro]" ."
    ";


    $forza=$result[forza];
    $tot_forza=$forza +20;

    $denaro=$result[denaro];
    $tot_denaro=$denaro -100;


    $update=mysql_query("UPDATE elementi SET forza='$tot_forza' AND denaro='$tot_denaro' WHERE nickname='$_COOKIE[logged]'",$con);



    $redirect="<meta http-equiv=REFRESH content=\"5; url=http://axxxxxxx.xxxxxxxxxxxxxxx\">";
    echo "$redirect";
    ?>

    Il problema è che o metti casa o palestra, la pagina dopo è sempre casa.php, che è questa, che posso fare??
    casa.php$PHPSESSID:



    <?php
    session_start();
    require("connect.php");

    require("check1.php");

    $sel=mysql_query("SELECT * FROM elementi WHERE nickname='$_COOKIE[logged]'",$con);
    $result=mysql_fetch_array($sel);
    echo "
    Punti:"."$result[punti]". "
    ";
    echo "Intelligenza:"."$result[intelligenza]" . "
    ";
    echo "Forza:"."$result[forza]" ."
    ";
    echo "Energia:"."$result[energia]" ."
    ";
    echo "Denaro:"."$result[denaro]" ."
    ";


    $energia=$result[energia]; $tot_energia=$energia + 10;



    $update=mysql_query("UPDATE elementi SET energia='$tot_energia' WHERE nickname='$_COOKIE[logged]'",$con);



    $redirect="<meta http-equiv=REFRESH content=\"5; url=http://albertorrr.altervista.org/scarti/login1.php\">";
    echo "$redirect";
    ?>
    E poi , come se ci fosse interferenza, anche se vado manualmente in palestra cliccando sulla pagina sua, mi cambia sempre il valore energia, invece della forza e del denaro, nn capisco perchè.

    Ciao e grazie per un' eventuale risposta

    Alberto

  2. #2
    Prima di

    codice:
    @setcookie("luogo","$luogo");
    Stampi a video (echo()) perciò non puoi impostare il cookie.

    Secondo, nel cookie imposti la variabile $luogo, mai creata.

    Se vuoi prendere il dato del form allora devi usare $_POST['luogo'] e lo stesso nella stampa dell'action del form,:

    codice:
    echo"<form method='post' action=\"luogo.php?sid=$PHPSESSID /$luogo \">";
    $luogo non è definita.

    Inoltre il cookie deve essere settato solo se vieni da un form, e non sempre. Basta che vai a quella pagina solo con l'url e viene settato un cookie vuoto.


    Un'altra cosa é:
    Se usi le sessioni i cookie non servono, quindi dovresti impostare $luogo nella sessione e non in un cookie...
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  3. #3
    Scusa nn ho capito questo :Stampi a video (echo()) perciò non puoi impostare il cookie. quale intendi??
    Quando l'ho messo sull'url ho sbagliato, lo so ,intendi quello??

  4. #4
    Quando stampi a video invii alla pagina gli header, e i cookie sono inviati tramite gli header, perciò una volta stampato a video qualcosa non puoi più impostare i cookie.
    Nella prima pagina lo fai, e mettendo l'operatore di silence (@) non ti restituisce errore, ma se lo togli l'errore vedi che compare.
    L'unico modo è prima impostare il cookie e poi usare echo, altrimenti usare un flush (http://it2.php.net/ob_start)
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  5. #5
    ok allora devo cambiare solo quello
    ora provo e ti dico , intanto grazie

    ciao

  6. #6
    Ora mi si ferma in luogo.php (già un passo è stato fatto):

    <?php
    session_start();
    $PHPSESSID=session_id();

    require("check1.php"); #contiene il controllo cookie 'logged'


    if ($_COOKIE['luogo']=='palestra'){
    HEADER("Locationalestra.php?$PHPSESSID");
    }


    if ($_COOKIE['luogo']=='casa'){
    HEADER("Location:casa.php?$PHPSESSID");

    }

    ?>

  7. #7
    Sinceramente non ho capito XD
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  8. #8
    luogo.php è la pagina di transizione tra roma.php e palestra o casa in base alla select, ma mi si blocca lì e non mi fa gli headers

  9. #9
    Dopo la chiusura del secondo if ( con la }) prova a mettere

    codice:
    echo "Errore";
    Se stampa Errore allora nessuno dei due if viene riconosciuto...
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  10. #10
    Si mi da errore, quindi nn riconosce le if, che se può fare?

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.