Php réinitialiser les variables

Résolu/Fermé
bibin Messages postés 10 Date d'inscription dimanche 10 février 2008 Statut Membre Dernière intervention 28 février 2008 - 16 févr. 2008 à 14:55
bibin Messages postés 10 Date d'inscription dimanche 10 février 2008 Statut Membre Dernière intervention 28 février 2008 - 16 févr. 2008 à 19:58
Bonjour tout le monde,
Comme le titre l'indique, je voudrais réinitiliser mes variables php dans mon petit bout de code
ex. :

// Liens pour afficher les formulaires d enregistrement
<a href="javascript:;" onclick="javascript:show('Produit1');javascript:unshow('Produit2');">Produit1</a>  |  
<a href="javascript:;" onclick="javascript:show('Produit2');javascript:unshow('Produit1');">Produit2</a>

// Le formulaire qui enregistre les donnees dans ma bd
<div id="Produit1" style="display:none;">
	<form action="#" method="post">
		Attribut1 <input type="text" name="Attribu1 " size="15" maxlength="100">
                Attribut2 <input type="text" name="Attribu2 " size="15" maxlength="100"> 
                ...
                <input style="margin-top:5px;" name="record" type="submit" value="Enregistrer">
        </form>
</div>


// La partie php :
<?php
			
	if ($_POST['record']=='Enregistrer')
	{	
		if($_POST['Attribut1 ']!=NULL || $_POST['Attribut2']!=NULL)
		{
			$user="qqn";				
			$pass="666";				
			$host="localhost";		
			$id_connexion = mysql_connect($host,$user,$pass);
			mysql_select_db("mabd");
			
			$attribut1= $_POST['Attribut1'];
			$attribut2= $_POST['attribut2'];
		
			$requete="INSERT INTO Produit1(attribut1,attribut2) VALUES ('$attribut1','$attribut2');";
			$result=mysql_query($requete,$id_connexion);						
			
			if(!$result)
				echo "Erreur: ".mysql_error(); 
			else
				echo "Le produit a bien été ajouté ... <br/><br/>";
				mysql_close($id_connexion);
		}
		else
			echo "Veuillez remplir tous les champs<br/><br/>";
	}
?>


Description rapide :
Donc il y a 2 liens : Produit1 et Produit2
Si on clic sur Produit1, un formulaire d'enregistrement apparait
Je remplis les infos de mon produit et je clic sur Record pour enregistrer dans ma bd
Tout se passe bien :), le produit s'est belle et bien mit dans ma bd

Probleme :
Mais malheureusement c'est la ou il y a un hic :(
Si j ai le malheur de recliquer sur mon lien Produit1, mon bout de code enregistre une deuxieme fois le meme produit dans ma bd sans avoir cliqué sur le bouton Record ni meme remplis les champs des Attribut1,Attribut2,...
Ma BD devient donc vite surchargé :(

Remarque :
Mon bouton Record n'est pas réinitilisé et contient tjs la valeur "Enregistrer" apres l'exécution de la requete, ainsi que mes valeurs dans mon formulaire

Tentative :
J ai tenté d'ecrire un :
$_POST['record']=NULL;
a la fin de ma requete PHP, mais cela n'a rien changé

SOS :
Pouvez vous m'eclairer ??

Merci :)
A voir également:

4 réponses

Utilisateur anonyme
16 févr. 2008 à 15:46
Bonjour,
essaies unset($_POST) mais j'ai peur que le contenur reste dans les variables du formulaires
0
bibin Messages postés 10 Date d'inscription dimanche 10 février 2008 Statut Membre Dernière intervention 28 février 2008
16 févr. 2008 à 17:03
Salut :)
Effectivement j ai placé comme ceci :

                if(!$result)
	               echo "Erreur: ".mysql_error(); 
		else
			echo "Le produit a bien été ajouté ... <br/><br/>";
		
                mysql_close($id_connexion);

                unset($_POST);
	}
	else
		echo "Veuillez remplir tous les champs<br/><br/>";
}
?>


Mais cela n'a rien changé :(
0
Utilisateur anonyme
16 févr. 2008 à 17:53
mettre alors une clé primaire en BDD pour éviter les doublons
pu peut être réinitialiser les variables du formulaire en début
0
bibin Messages postés 10 Date d'inscription dimanche 10 février 2008 Statut Membre Dernière intervention 28 février 2008
16 févr. 2008 à 19:58
J'ai changé mes clefs de façon a éviter ce problème
Du coup je dois enlever mes annonces de requêtes erronées
Mais si c'est le prix a payer pour que tout fonctionne, pourquoi pas :)

Merci du conseil
Bonne continuation ;)
0