Problème de session!!

kami_24 Messages postés 46 Statut Membre -  
 le père -
Bonjour,

j'ai un code qui se composent de plusieurs scripts, j'ai crée une première page pour l'authentification..et après j'ai passé des variables en session a fin de les insérer dans ma base de données
j'ai un menu de type radio qui propose plusieurs propositions..et à chaque fois l'utilisateur choisi une proposition il est insérer dans la base avec un num de référence qui s'incrémente
ms une fois toutes les propositions sont insérés dans la base et quand je voudrai faire un nouveau choix il me donne erreur : c'est que ce choix est déjà inséré avec un tel num de référence!!!
est ce que vous croyez que c'est une question de session??

9 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Pourrions nous caresser l'espoir de savoir avec quel langage ou/et logiciel comptes tu réaliser cette prouesse de l'informatique?
0
kami_24 Messages postés 46 Statut Membre
 
je travail avec le php\mysql donc j'utilise comme logiciel le easyphp
0
kami_24 Messages postés 46 Statut Membre
 
vous n'avez pas de réponses??
le problème vient du fait que j'associe un num de référence et que dans ma base de donnée ce numéro doit être unique, alors quand un utilisateur choisit une proposition déjà dans la base mysql retourne une erreur que ce que ce numéro déjà existe!!!...
est ce que vous n'avez jamais rencontrez ce genre de problème?..
0
le père
 
Bonjour

Non, nous n'avons jamais eu ce genre de problème.
Quand on veut qu'un utilisateur ait un numéro unique, on ne laisse pas l'utilisateur le choisir. On utilise un champ auto-incrémenté et c'est la base elle-même qui attribue le numéro quand on crée l'enregistrement de l'utilisateur.
0
kami_24 Messages postés 46 Statut Membre
 
effectivement le champ num de référence est en auto incrémentation..ms il est associé a des proposition que l'utilisateur doit choisir..donc une fois l'utilisateur choisit une proposition il s'insére dans la base et le champ num de référence s'incrémente..
mais le problème c que quand les proposition sont tous choisit est inséré dans la base..et quand l'utilisateur veut choisir une autre proposition...mysql me renvoi une erreur c que ce cum de réference déja existe!!!!
et je ne sai pa exactement d'ou vient le problème..
0
le père
 
Il doit y avoir un problème de logique dans la définition de tes tables. Peux-tu donner leurs définitions ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kami_24 Messages postés 46 Statut Membre
 
voici la structure de ma table qui contient le num de référence et la proposition:

table 'purpose'
0
le père
 
c'est une peu court :)
0
kami_24 Messages postés 46 Statut Membre
 
est ce que je dois montrer le code?..même ci je vois que c un peut long
0
kami_24 Messages postés 46 Statut Membre
 
donc voici la partie du code qui traite ça:
<form  action="purpose1.php" method="POST">
<input type="radio" name="prop" value="plant to plant">internal transfer(plant to plant)<br/>
<input type="radio" name="prop" value="cc to cc">internal transfer( CC to CC)<br/>
<input type="radio" name="prop" value="intercompany transfer">intercompany transfer<br/>
<input type="radio" name="prop" value="sales">sales<br/> 
<input type="radio" name="prop" value="disposal">disposal<br/>
<input type="radio" name="prop" value="storage">storage<br/>
<input type="radio" name="prop" value="others">others<br/>
<input type="submit" name="valider" value="continue">
</form>


<?php
 session_start(); 
if(isset($_POST['valider'])){ 
$prop=$_POST['prop'];

		mysql_connect('localhost','root','')or die('Erreur de connexion '.mysql_error());
	mysql_select_db('mabase') or die('Erreur de selection '.mysql_error());
	
	
	mysql_query("INSERT INTO purpose(ref_no,prop) VALUES('','$prop')");
	
	$rq=mysql_query("SELECT ref_no FROM purpose WHERE prop='$prop'");
	$data=mysql_fetch_array($rq);
	$ref_no=$data['ref_no'];
	$_SESSION['ref_no']=$ref_no;
	$_SESSION['prop']=$prop;
0
kami_24 Messages postés 46 Statut Membre
 
je croi que le problème vient de cette ligne:
$rq=mysql_query("SELECT ref_no FROM purpose WHERE prop='$prop'");
qu'est ce que vous en pensez?
0
le père
 
Ce n'est pas le code que je te demandais, mais la structure des tables. Leurs champs, les types de ces champs et leurs propriétés
0
kami_24 Messages postés 46 Statut Membre
 
j'ai donné la structure du table concerné..et j'ai découvré que le problème vient bien du:
$rq=mysql_query("SELECT ref_no FROM purpose WHERE prop='$prop'"); 

parcque je lui demande de me recuperer la référence associé à une proposition choisi et c'est normale qu'il me renvoi un msg d'erreur aprés l'insertion de tout les propositions dans la base..
c'est pourquoi j'ai réflichit à passer la proposition en session pour bien précisé ma requete:
$rq=mysql_query("SELECT ref_no FROM purpose WHERE prop='".$_SESSION['prop']."'"); 

qu'est ce que vous en pensez?
0
le père
 
Je n'en pense rien car je ne connais toujours pas la structure de la table. Tu as écrit "j'ai donné la structure du table concerné", je ne vois pas où. Si tu parles du message de 11h39, tu donnes simplement le nom, ce n'est pas la structure
0