- Home
- Categorie
- Coding e Sistemistica
- PHP
- distruzione sessioni,mantenimento dati,pag diversa al 2 log
-
Ragazzi , una cosa, se io ho un form con una select, dove ci sono diverse opzioni, e voglio passare i dati tramite un cookie all'altra pagina, affinchè se c'è la prima opzione selezionata faccio un if ed eseguo una determinata istruzione, se invece ho un'altra option faccio un'altra if ed eseguo un'altra istruzione??
tipo:
-----prima pagina-----
<select name=''wdswd">
<option>marco</option>
<option>sdkpsmkdos</option>
<option>antodsdll</option>
<option>aedfeddcio</option>
</select>
poi faccio un setcookie tipo
@setcookie("ciao","$wdswd")
.........------SECONDa pagina
@setcookie("ciao","$wdswd")
if ($wdswd==marco) {
echo "Ciao sei un idiota";
}
else {
echo "Sparati lo stesso";
}Spero abbiate capito cosa intendo
Ciao
-
Qualcuno sa rispondermi ?????
-
non ti converrebbe usare il form in modo più "classico"?
cioè nell'action metti la pagina 2 e recuperi il valore col $_POST
-
nel momento in cui hai "postato" il form il valore scelto per quella SELECT lo recuperi da
$_POST['wdswd']
oppure in
$_REQUEST['wdswd']
-
@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.
-
-
@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 )
-
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
-
$option=$_POST['campo_select'];
if ($_COOKIE['giacomo']=='giacomo') echo "sei un idiota";non capisco a che serve $option...
-
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
-
@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)
-
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
-
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