Rechercher : dans
Par :

Php réinitialiser les variables

Dernière réponse le 16 fév 2008 à 19:58:31 bibin, le 16 fév 2008 à 14:55:53 
 Signaler ce message aux modérateurs

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 :)
Configuration: Windows XP
Firefox 2.0.0.12

Meilleures réponses pour « php réinitialiser les variables » dans :
PHP - Les variables Voir Concept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...
PHP - Les variables d'environnement Voir Notion de variable d'environnement Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas du script...
[PHP] Les ressemblances à ne pas confondre VoirIntroduction Concaténation ou paramètres ? Guillemets/Apostrophe Structure require/include isset vs empty htmlentities ou htmlspecialchars ? Nombre de signes égal Introduction Cette astuce présente plusieurs fonction ou astuces en...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
PHP - Les opérateurs VoirQu'est-ce qu'un opérateur? Les opérateurs sont des symboles qui permettent de manipuler des variables, c'est-à-dire effectuer des opérations, les évaluer, ... On distingue plusieurs types d'opérateurs : les opérateurs de calcul les opérateurs...
PHP - Parser du XML VoirIntroduction à XML PHP permet l'analyse syntaxique (parsage ou parsing en anglais) d'un document XML. Le langage XML (eXtensible Markup Language, traduisez Langage à balises extensibles) est un métalangage, c'est-à-dire un langage permettant de...

1

giheller, le 16 fév 2008 à 15:46:28

Bonjour,
essaies unset($_POST) mais j'ai peur que le contenur reste dans les variables du formulaires
JL,  m'enfin c'est juste mon avis @+

Répondre à giheller

2

bibin, le 16 fév 2008 à 17:03:06

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

Répondre à bibin

3

giheller, le 16 fév 2008 à 17:53:10

Mettre alors une clé primaire en BDD pour éviter les doublons
pu peut être réinitialiser les variables du formulaire en début
JL,  m'enfin c'est juste mon avis @+

Répondre à giheller

4

 bibin, le 16 fév 2008 à 19:58:31

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 ;)

Répondre à bibin