Probleme Variable De Session..
Débuté par the_saigneur, 04 oct. 2003 16:42
11 réponses à ce sujet
#1
Posté 04 octobre 2003 - 16:42
voila j'utilise easy php 1.6 et je fais un site en php ou je voudrais que mes listes déroulantes(bdd mysql) soit MAJ en fct° du choix de la précedente...
g donc sauvegardé le 1er résultat dans une varaible de session mais ca marche pas...ca plante
on m'a dit que fallait pas mettre de HTML avant mais je vois pas comment on peut faire car la var de session recup les resultat du formulaire html...
merci de votre aide
PS : le but du site c de faire une config informatique en choisissant les composants au fur et a mesure mais compatible entre eux
g donc sauvegardé le 1er résultat dans une varaible de session mais ca marche pas...ca plante
on m'a dit que fallait pas mettre de HTML avant mais je vois pas comment on peut faire car la var de session recup les resultat du formulaire html...
merci de votre aide
PS : le but du site c de faire une config informatique en choisissant les composants au fur et a mesure mais compatible entre eux
#2
Posté 04 octobre 2003 - 18:05
le seul truc qui doit etre en tout premier sur ta page, c'est le session_start() (enfin, juste apres le "<?php" bien sur ...)
ensuite, pour assigner une valeur a une variable de session, utilise le tableau global $_SESSION[], donc pour mettre par example ati de la varible de session cg, tu fais sa :
ensuite, pour assigner une valeur a une variable de session, utilise le tableau global $_SESSION[], donc pour mettre par example ati de la varible de session cg, tu fais sa :
CODE |
$_SESSION['cg'] = 'ati'; |
comprendo ?
une dernière chose, pour les info que tu recupere de ton formulaire, travailme avec $_POST[] et $_GET[] pour les param transmis via l'url !
quelle galere pour installer sa souris sous linux, alors que sous
windows, on double-clique sur un .exe et c'est fini ...
des howto's en tout genre, traduit et pas traduit : The Linux Documentation Project
windows, on double-clique sur un .exe et c'est fini ...
des howto's en tout genre, traduit et pas traduit : The Linux Documentation Project
#4
Posté 04 octobre 2003 - 22:38
Warning: Cannot send session cookie - headers already sent by (output started at c:\program files\easyphp\www\projet2\index.php:4) in c:\program files\easyphp\www\projet2\index.php on line 6
Warning: Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp\www\projet2\index.php:4) in c:\program files\easyphp\www\projet2\index.php on line 6
g ce message des que je met en place mes variables de sessions...
Warning: Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp\www\projet2\index.php:4) in c:\program files\easyphp\www\projet2\index.php on line 6
g ce message des que je met en place mes variables de sessions...
#5
Posté 05 octobre 2003 - 08:47
ya pas que des sesson ds ton truc, ya des cookies auss .. pett coqun va ...
donne ton code !
donne ton code !
quelle galere pour installer sa souris sous linux, alors que sous
windows, on double-clique sur un .exe et c'est fini ...
des howto's en tout genre, traduit et pas traduit : The Linux Documentation Project
windows, on double-clique sur un .exe et c'est fini ...
des howto's en tout genre, traduit et pas traduit : The Linux Documentation Project
#6
Posté 05 octobre 2003 - 10:33
ya pas de sessioin ds ton truc ... mets ton session_start() juste avant le include !!! et ya quo dans ton _connection.php ?
CODE |
<? include("_connexion.php"); //appel des parametres de connexion a la base $query = "SELECT * FROM processeurs"; //cherche les champes de la base $result = mysql_query($query); $e=" "; ?> <form name="Proc" method="post" action="index.php" > <select name="LtProc" > <? while ($val = mysql_fetch_array($result)) { ?> <option value="<? echo $val["code"] ?>" <? if($LtProc==$val["code"]) { ?> SELECTED <? } ?> ><? echo $val["marque"],$e,$val["support"],$e,$val["désignation"],$e,$val["remarque"],$e,$val["prixproc TTC"]; ?> </option> <? } ?> </select> <? $query = "SELECT * FROM processeurs where code ='$LtProc'"; $result = mysql_query($query); $val = mysql_fetch_array($result); $compt = $val["support"]; ?> <br><input type = "Submit" value="Valider"> </form> Total TTC = <? echo $val["prixproc TTC"]; ?> <? //-------------------------cartes mères---------------------------------------------------------------------------?> <? $query = "SELECT * FROM cartesmères where support = '$compt'"; $result2 = mysql_query($query); //cherche les champes de la base ?> <form name="CM" method="post" action="index.php"> <select name="listecm"> <? while ($val2 = mysql_fetch_array($result2)) { ?> <option <? if($listecm==$val2["code"]) { ?> SELECTED <? } ?> ><? echo $val2["désignation"],$val2["chipset"],$e,$val2["support"],$e,$val2["remarque"],$e,$val2["prixcm TTC"]; ?> </option> <? } ?> </select> <? $query = "SELECT * FROM cartesmères where code ='$Listecm'"; $result = mysql_query($query); $val = mysql_fetch_array($result2); $compt2 = $val["support"]; ?> <input type="submit" value="Valider"> </form> <? //-------------------------------Ventilos--------------------------------------------?> <? $query = "SELECT * FROM ventiloscpu where support = '$compt2'"; $result3 = mysql_query($query); //cherche les champes de la base ?> <form name="FanCPU" method="post" action="index.php"> <select name="listevent"> <? while ($val3 = mysql_fetch_array($result3)) { ?> <option <? if($listevent==$val3["code"]) { ?> SELECTED <? } ?> ><? echo $val3["désignation"],$e,$val3["support"],$e,$val3["divers"],$e,$val3["prixvent TTC"]; ?> </option> <? } ?> </select> <? $query = "SELECT * FROM ventiloscpu where code ='$Listevent'"; $result = mysql_query($query); $val = mysql_fetch_array($result3); $compt3 = $val["support"]; ?> <input type="submit" value="Valider"> </form> <? mysql_close(); ?> |
quelle galere pour installer sa souris sous linux, alors que sous
windows, on double-clique sur un .exe et c'est fini ...
des howto's en tout genre, traduit et pas traduit : The Linux Documentation Project
windows, on double-clique sur un .exe et c'est fini ...
des howto's en tout genre, traduit et pas traduit : The Linux Documentation Project
#7
Posté 05 octobre 2003 - 13:33
ok alors vla le code avec les sessions...
<?
session_start();
include("_connexion.php"); //appel des parametres de connexion a la base
$query = "SELECT * FROM processeurs"; //cherche les champes de la base
$result = mysql_query($query);
$e=" ";
?>
<form name="Proc" method="post"
action="index.php" >
<select name="LtProc" >
<? while ($val = mysql_fetch_array($result)) { ?>
<option value="<? echo $val["code"] ?>"
<? if($LtProc==$val["code"]) { ?>
SELECTED
<? } ?>
><? echo $val["marque"],$e,$val["support"],$e,$val["désignation"],$e,$val["remarque"],$e,$val["prixproc TTC"]; ?>
</option>
<? } ?>
</select>
<? $query = "SELECT * FROM processeurs where code ='$LtProc'";
$result = mysql_query($query);
$val = mysql_fetch_array($result);
$_session['compt'] = $val["support"];
?>
<br><input type = "Submit" value="Valider">
</form>
Total TTC = <? echo $val["prixproc TTC"]; ?>
<? //-------------------------cartes mères---------------------------------------------------------------------------?>
<?
$query = "SELECT * FROM cartesmères where support = '$_session['compt']'";
$result2 = mysql_query($query);
//cherche les champes de la base
?>
<form name="CM" method="post"
action="index.php">
<select name="listecm">
<? while ($val2 = mysql_fetch_array($result2)) { ?>
<option
<? if($listecm==$val2["code"]) { ?>
SELECTED
<? } ?>
><? echo $val2["désignation"],$val2["chipset"],$e,$val2["support"],$e,$val2["remarque"],$e,$val2["prixcm TTC"]; ?>
</option>
<? } ?>
</select>
<? $query = "SELECT * FROM cartesmères where code ='$Listecm'";
$result = mysql_query($query);
$val = mysql_fetch_array($result2);
$_session['compt2'] = $val["support"];
?>
<input type="submit" value="Valider">
</form>
<? //-------------------------------Ventilos--------------------------------------------?>
<? $query = "SELECT * FROM ventiloscpu where support = '$_session['compt2']'";
$result3 = mysql_query($query); //cherche les champes de la base
?>
<form name="FanCPU" method="post"
action="index.php">
<select name="listevent">
<? while ($val3 = mysql_fetch_array($result3)) { ?>
<option
<? if($listevent==$val3["code"]) { ?>
SELECTED
<? } ?>
><? echo $val3["désignation"],$e,$val3["support"],$e,$val3["divers"],$e,$val3["prixvent TTC"]; ?>
</option>
<? } ?>
</select>
<? $query = "SELECT * FROM ventiloscpu where code ='$Listevent'";
$result = mysql_query($query);
$val = mysql_fetch_array($result3);
$_session['compt3'] = $val["support"];
?>
<input type="submit" value="Valider">
</form>
<? mysql_close(); ?>
pis dans _connection.php ya:
<?
// Paramètres persos
$host = "localhost"; // voir hébergeur
$user = "root"; // vide ou "root" en local
$pass = ""; // vide en local
$bdd = "informatique"; // nom de la BD
// connexion
@mysql_connect($host,$user,$pass)
or die("Impossible de se connecter");
@mysql_select_db("$bdd")
or die("Impossible de se connecter");
?>
avec ca ca plante sur $query = "SELECT * FROM cartesmères where support = '$_session['compt']'";
avec ce message d'erreur : Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\program files\easyphp\www\projet2\index.php on line 68
oui je sais je suis pas doué ....
<?
session_start();
include("_connexion.php"); //appel des parametres de connexion a la base
$query = "SELECT * FROM processeurs"; //cherche les champes de la base
$result = mysql_query($query);
$e=" ";
?>
<form name="Proc" method="post"
action="index.php" >
<select name="LtProc" >
<? while ($val = mysql_fetch_array($result)) { ?>
<option value="<? echo $val["code"] ?>"
<? if($LtProc==$val["code"]) { ?>
SELECTED
<? } ?>
><? echo $val["marque"],$e,$val["support"],$e,$val["désignation"],$e,$val["remarque"],$e,$val["prixproc TTC"]; ?>
</option>
<? } ?>
</select>
<? $query = "SELECT * FROM processeurs where code ='$LtProc'";
$result = mysql_query($query);
$val = mysql_fetch_array($result);
$_session['compt'] = $val["support"];
?>
<br><input type = "Submit" value="Valider">
</form>
Total TTC = <? echo $val["prixproc TTC"]; ?>
<? //-------------------------cartes mères---------------------------------------------------------------------------?>
<?
$query = "SELECT * FROM cartesmères where support = '$_session['compt']'";
$result2 = mysql_query($query);
//cherche les champes de la base
?>
<form name="CM" method="post"
action="index.php">
<select name="listecm">
<? while ($val2 = mysql_fetch_array($result2)) { ?>
<option
<? if($listecm==$val2["code"]) { ?>
SELECTED
<? } ?>
><? echo $val2["désignation"],$val2["chipset"],$e,$val2["support"],$e,$val2["remarque"],$e,$val2["prixcm TTC"]; ?>
</option>
<? } ?>
</select>
<? $query = "SELECT * FROM cartesmères where code ='$Listecm'";
$result = mysql_query($query);
$val = mysql_fetch_array($result2);
$_session['compt2'] = $val["support"];
?>
<input type="submit" value="Valider">
</form>
<? //-------------------------------Ventilos--------------------------------------------?>
<? $query = "SELECT * FROM ventiloscpu where support = '$_session['compt2']'";
$result3 = mysql_query($query); //cherche les champes de la base
?>
<form name="FanCPU" method="post"
action="index.php">
<select name="listevent">
<? while ($val3 = mysql_fetch_array($result3)) { ?>
<option
<? if($listevent==$val3["code"]) { ?>
SELECTED
<? } ?>
><? echo $val3["désignation"],$e,$val3["support"],$e,$val3["divers"],$e,$val3["prixvent TTC"]; ?>
</option>
<? } ?>
</select>
<? $query = "SELECT * FROM ventiloscpu where code ='$Listevent'";
$result = mysql_query($query);
$val = mysql_fetch_array($result3);
$_session['compt3'] = $val["support"];
?>
<input type="submit" value="Valider">
</form>
<? mysql_close(); ?>
pis dans _connection.php ya:
<?
// Paramètres persos
$host = "localhost"; // voir hébergeur
$user = "root"; // vide ou "root" en local
$pass = ""; // vide en local
$bdd = "informatique"; // nom de la BD
// connexion
@mysql_connect($host,$user,$pass)
or die("Impossible de se connecter");
@mysql_select_db("$bdd")
or die("Impossible de se connecter");
?>
avec ca ca plante sur $query = "SELECT * FROM cartesmères where support = '$_session['compt']'";
avec ce message d'erreur : Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\program files\easyphp\www\projet2\index.php on line 68
oui je sais je suis pas doué ....
#8
Posté 05 octobre 2003 - 17:39
deja une première chose, c'est $_SESSION[] et pas $_session[] ... le php est case sentive est les tableaux globaux sont tj en majuscule (comme _get, _post _serveur etc ...)
quelle galere pour installer sa souris sous linux, alors que sous
windows, on double-clique sur un .exe et c'est fini ...
des howto's en tout genre, traduit et pas traduit : The Linux Documentation Project
windows, on double-clique sur un .exe et c'est fini ...
des howto's en tout genre, traduit et pas traduit : The Linux Documentation Project
#9
Posté 05 octobre 2003 - 18:09
bon c corrigé mais g tjs
Warning: Cannot send session cookie - headers already sent by (output started at c:\program files\easyphp\www\projet2\index.php:4) in c:\program files\easyphp\www\projet2\index.php on line 6
Warning: Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp\www\projet2\index.php:4) in c:\program files\easyphp\www\projet2\index.php on line 6
au fait dans mes requete SQL je met '$compt' ou '$_SESSION['compt']' ?
:jap:
Warning: Cannot send session cookie - headers already sent by (output started at c:\program files\easyphp\www\projet2\index.php:4) in c:\program files\easyphp\www\projet2\index.php on line 6
Warning: Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp\www\projet2\index.php:4) in c:\program files\easyphp\www\projet2\index.php on line 6
au fait dans mes requete SQL je met '$compt' ou '$_SESSION['compt']' ?
:jap:
#10
Posté 05 octobre 2003 - 20:00
$_SESSION['compt'] s c'est une variable de session bien sur ...
quelle galere pour installer sa souris sous linux, alors que sous
windows, on double-clique sur un .exe et c'est fini ...
des howto's en tout genre, traduit et pas traduit : The Linux Documentation Project
windows, on double-clique sur un .exe et c'est fini ...
des howto's en tout genre, traduit et pas traduit : The Linux Documentation Project
Répondre à ce sujet
2 utilisateur(s) li(sen)t ce sujet
0 membre(s), 2 invité(s), 0 utilisateur(s) anonyme(s)