Problème avec PHP

Fermé
ayy Messages postés 42 Date d'inscription samedi 6 mars 2010 Statut Membre Dernière intervention 12 septembre 2013 - Modifié par ayy le 3/06/2012 à 12:41
ayy Messages postés 42 Date d'inscription samedi 6 mars 2010 Statut Membre Dernière intervention 12 septembre 2013 - 3 juin 2012 à 15:09
Bonjour,


Je suis débutant en php et je veut réaliser une application web qui me permet de gérer des clients (ajouter,modifier,..), et je veux exploiter les champs de mon formulaire principal plusieurs fois dans mes différents script php c'est-à-dire que le résultat récupéré par $v1=$POST[t1] où t1= matricule du client du script ajouter.php soit la même dans modifier.php.
Voici mon formulaire principal :
__________________________________________
<html>
<head><title> Gestion des clients</title>
</head>
<body>
<?php
$db="base1";
$conn=mysql_connect("localhost","root","");
$db_conn=mysql_select_db($db,$conn);

$req="select * from test";
$resultat=mysql_query($req);
$ligne=mysql_fetch_array($resultat);

?>
formulaire pricipal
____________________
<form name="f1">
Mat: <input type="text" name="t1" value="<?php echo $ligne["mat"]; ?>"><br><br>
Nom: <input type="text" name="t2" value="<?php echo $ligne["nom"]; ?>"><br><br>
Prenom: <input type="text" name="t3" value="<?php echo $ligne["prenom"]; ?>"><br><br>
Ville: <input type="text" name="t4" value="<?php echo $ligne["ville"]; ?>"><br><br>
Categorie: <input type="text" name="t5" value="<?php echo $ligne["catg"]; ?>"><br><br>
</form>

<form name="f1" method="POST" action="ajouter.php">
<input type="submit" value="ajouter">
</form>

<form name="f1" method="POST" action="modifier.php">
<input type="submit" value="Modifier">
</form>
</body>
</html>
__________________________

"Ajouter.php"
_________________

<?php
$db="base1";
$conn=mysql_connect("localhost","root","");
$db_conn=mysql_select_db($db,$conn);

$v1=$_POST["t1"];
$v2=$_POST["t2"];
$v3=$_POST["t3"];
$v4=$_POST["t4"];
$v5=$_POST["t5"];

$req="insert into test values ($v1,'$v2','$v3','$v4','$v5')";
$resultat=mysql_query($req);
if($resultat==true)
echo "Enregistrement bien ajouter";
else
echo"Erreur d'ajout";
?>
___________________________


"Modifier.php"
_____________________________
<?php
$db="base1";
$conn=mysql_connect("localhost","root","");
$db_conn=mysql_select_db($db,$conn);

$v1=$_POST["t1"];
$v2=$_POST["t2"];
$v3=$_POST["t3"];
$v4=$_POST["t4"];
$v5=$_POST["t5"];

$req="UPDATE test set (nom='$v2',prenom='$v3',ville='$v4',catg='$v5' where mat='$v1')";
$resultat=mysql_query($req);
if($resultat==true)
echo "modification bien ajouter";
else
echo "erreur";
?>
_________________________________________

Merci.

A voir également:

1 réponse

Utilisateur anonyme
3 juin 2012 à 12:51
Si tu vois ?t1=124&t2=hssani&t3=said&t4=rabat&t5=c2 c'est parce que ton formulaire est transmis en GET et non en POST. Tu as oublié le method="post" sur ton 1er form.

Je suis très étonné de voir plusieurs <form avec le même 'name'
1
ayy Messages postés 42 Date d'inscription samedi 6 mars 2010 Statut Membre Dernière intervention 12 septembre 2013 2
3 juin 2012 à 13:14
Non mais moi j'ai crée le formulaire principal sans la méthode POST pour que tout les champs qui ce trouvent dans ce dernier soient accessible via tout mes script PHP..
par ce que mon but c'est de créer un formulaire avec des champs qui s'affichent au lancement du formulaire avec des bouton en bas qui permet de gérer les même champs dans le même formulaire :).
0
ayy Messages postés 42 Date d'inscription samedi 6 mars 2010 Statut Membre Dernière intervention 12 septembre 2013 2
3 juin 2012 à 13:15
oui c'est pour ré exploiter les champs de mon formulaire plusieurs fois et je sais pas et ce que c'est juste ou non
0
Bonjour,
Ton projet est mal pensé, il suffit de rajouter 2 boutons radio dans le formulaire ayant comme valeur ajouter et le second, modifier et dans un script unique PHP, tu traites dans une condition en fonction de la valeur du bouton radio activé si c'est un ajout de données ou bien une modification des données. Tu vois c'est simple alors pourquoi faire compliqué...?
0
ayy Messages postés 42 Date d'inscription samedi 6 mars 2010 Statut Membre Dernière intervention 12 septembre 2013 2
3 juin 2012 à 13:48
Oui mais je veux des boutons
0
Pas besoin de 2 boutons et pas besoin de 2 fichiers de traitement différents, tu t'obstines pour rien, enfin si, pour faire compliqué! Donc je te laisse dans ton obstination, si un helper veut bien prendre la relève, tant mieux pour toi...
Juste pour valider ma proposition :
<?php
$db="base1";
$conn=mysql_connect("localhost","root","");
$db_conn=mysql_select_db($db,$conn);
$req="select * from test";
$resultat=mysql_query($req) or die(mysql_erro());
$ligne=mysql_fetch_array($resultat);
?>
<html>
<head>
	<title>Gestion des clients</title>
</head>

<body>
<form id="f1" method="post" action="traitement.php">
	<p>Mat: <input type="text" name="t1" value="<?php echo $ligne["mat"]; ?>" /></p>
	<p>Nom: <input type="text" name="t2" value="<?php echo $ligne["nom"]; ?>" /></p>
	<p>Prenom: <input type="text" name="t3" value="<?php echo $ligne["prenom"]; ?>" /></p>
	<p>Ville: <input type="text" name="t4" value="<?php echo $ligne["ville"]; ?>" /></p>
	<p>Categorie: <input type="text" name="t5" value="<?php echo $ligne["catg"]; ?>" /></p>
	<p>
		<input type="radio" name="selection" value="ajouter" /> Ajouter les données<br />
		<input type="radio" name="selection" value="modifier" /> Modifier les données
	</p>
	<p><input type="submit" name="send" value="Exécuter" /></p>
</form>
</body>
</html>

Fichier traitement.php :
<?php
if(isset($_POST['send']) && $_POST['send'] == 'Exécuter') {
	$db="base1";
	$conn=mysql_connect("localhost","root","");
	$db_conn=mysql_select_db($db,$conn);
	$v1=$_POST["t1"];
	$v2=$_POST["t2"];
	$v3=$_POST["t3"];
	$v4=$_POST["t4"];
	$v5=$_POST["t5"];

	if($_POST['selection'] == 'ajouter') {
		// Ici on ajoute les données dans la table 'test'
		$req="INSERT INTO test VALUES ($v1,'$v2','$v3','$v4','$v5')";
		$resultat=mysql_query($req) or die(mysql_error());
		if($resultat==true)
			echo "Ajout des données effectué avec succès.";
		else
			echo "Erreur d'ajout des données.";
	} else {
		// Ici on modifie les données dans la table 'test'
		$req="UPDATE test SET nom='$v2', prenom='$v3', ville='$v4', catg='$v5' WHERE mat='$v1'";
		$resultat=mysql_query($req) or die(mysql_error());
		if($resultat==true)
			echo "Modification des données effectuée avec succès.";
		else
			echo "Erreur dans la modification des données.";
	}
}
?>
0