• User Attivo

    non ti converrebbe usare il form in modo più "classico"?

    cioè nell'action metti la pagina 2 e recuperi il valore col $_POST


  • User

    nel momento in cui hai "postato" il form il valore scelto per quella SELECT lo recuperi da
    $_POST['wdswd']
    oppure in
    $_REQUEST['wdswd']


  • Super User

    @nessuno said:

    nel momento in cui hai "postato" il form il valore scelto per quella SELECT lo recuperi da
    $_POST['wdswd']
    oppure in
    $_REQUEST['wdswd']Non userei mai _REQUEST.

    Se ti mando per POST un valore poi lo potrei sostituire aggiungendo dei parametri tramite GET.


  • User

    @PaTeR said:

    Non userei mai _REQUEST.

    illuminami per favore.
    cosa intendi?


  • Super User

    @nessuno said:

    illuminami per favore.
    cosa intendi?
    Non è una variabile sicura: Se ho un form dove passo alcuni tramite POST, e nella pagina PHP uso _REQUEST, basta aggiungere alla fine dell'URL un parametro GET che abbia lo stesso nome del campo interessato per fargli mutare valore. Di conseguenza potrei mandare dati ad una pagina aggiungendo parametri all'URL e potendo quindi inviare in automatico migliaia di informazione ( se qualcuno vuole lamerare 😛 )


  • User

    Ragazzi , io i dati della select li so recuperare, però per ragionare con le options della select e che mi manca qualcosa
    devo creare un if che se il campo della select equivale a Giacomo mi fa un'azione, se p uguale a Giovanni me ne fa un'altra, calcolate che questi dati li devo manipolare con i cookie:
    $option=$_POST['campo_select'];
    $giacomo="giacomo";
    if (COOKIE[giacomo]==$giacomo) {
    echo "sei un idiota";
    capito? 🙂 è qui che mi blocca , devo far capire all' 'if' il valore del cookie rispetto alla variabile $giacomo che indica una stringa'giacomo'
    Ciao e grazie 🙂


  • Super User

    $option=$_POST['campo_select'];
    if ($_COOKIE['giacomo']=='giacomo') echo "sei un idiota";

    non capisco a che serve $option...


  • User

    No perchè avevo provato con diverse variabili facendo stampare il valore del cookie, però stampava sempre la stessa opzione(la prima), ora riprovo come hai detto tu e ti faccio sapere 😄

    Grazie

    Ciao
    Alberto


  • User

    @PaTeR said:

    Non è una variabile sicura: Se ho un form dove passo alcuni tramite POST, e nella pagina PHP uso _REQUEST, basta aggiungere alla fine dell'URL un parametro GET che abbia lo stesso nome del campo interessato per fargli mutare valore.

    Si, ti seguo. A livello tecnico e' perfettamente fattibile, in certi casi desiderabile, ma effettivamente potrebbe avere dei side effects (sto cercando di ipotizzare i casi peggiori)


  • User

    Non so perchè ma sempre la stessa opzione mi prende ora ti faccio vedere, sto cercando 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("Location:palestra.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:/xxxxxxxxxxxxxxxx.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

    Alberto


  • User

    Ragazzi che vuol dire questo messaggio???

    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1

    <?php
    $select=mysql_query("SELECT * FROM elementi WHERE nickname='$_COOKIE[logged]'",$con);
    $result=mysql_fetch_array($select);
    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 , denaro=$tot_denaro WHERE nickname='$_COOKIE[logged]'",$con);

    $up_d=mysql_query($update) or die (mysql_error());

    ?>

    a pesca dell'errore