Aller au contenu


Photo

Probleme Variable De Session..


11 réponses à ce sujet

#1 the_saigneur

the_saigneur

    Diplômé

  • Membres
  • PipPipPip
  • 102 messages
  • Location:la rochelle

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 chinese.gif



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 yoda

yoda

    ce n'est que moi ...

  • Membres
  • PipPipPipPipPipPipPip
  • 3 865 messages
  • Location:Waterloo

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 :
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

#3 the_saigneur

the_saigneur

    Diplômé

  • Membres
  • PipPipPip
  • 102 messages
  • Location:la rochelle

Posté 04 octobre 2003 - 22:25

ok merci du conseil chinese.gif

#4 the_saigneur

the_saigneur

    Diplômé

  • Membres
  • PipPipPip
  • 102 messages
  • Location:la rochelle

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...

#5 yoda

yoda

    ce n'est que moi ...

  • Membres
  • PipPipPipPipPipPipPip
  • 3 865 messages
  • Location:Waterloo

Posté 05 octobre 2003 - 08:47

ya pas que des sesson ds ton truc, ya des cookies auss .. pett coqun va ...

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

#6 yoda

yoda

    ce n'est que moi ...

  • Membres
  • PipPipPipPipPipPipPip
  • 3 865 messages
  • Location:Waterloo

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

#7 the_saigneur

the_saigneur

    Diplômé

  • Membres
  • PipPipPip
  • 102 messages
  • Location:la rochelle

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é .... icon_cry.gif



#8 yoda

yoda

    ce n'est que moi ...

  • Membres
  • PipPipPipPipPipPipPip
  • 3 865 messages
  • Location:Waterloo

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

#9 the_saigneur

the_saigneur

    Diplômé

  • Membres
  • PipPipPip
  • 102 messages
  • Location:la rochelle

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:

#10 yoda

yoda

    ce n'est que moi ...

  • Membres
  • PipPipPipPipPipPipPip
  • 3 865 messages
  • Location:Waterloo

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

#11 the_saigneur

the_saigneur

    Diplômé

  • Membres
  • PipPipPip
  • 102 messages
  • Location:la rochelle

Posté 05 octobre 2003 - 20:28

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 70


??

#12 rider

rider

    Maître Forumeur

  • Membres
  • PipPipPipPipPip
  • 608 messages

Posté 10 novembre 2003 - 01:56

tu peux pas mettre un endroit avec les fichiers sources, car c difficile de t'aider avec le seul message d'erreur. Visiblement t'as un prog de ; ou de parentheses, ou encore d'arguments passes a une fonction.



Répondre à ce sujet



  


2 utilisateur(s) li(sen)t ce sujet

0 membre(s), 2 invité(s), 0 utilisateur(s) anonyme(s)