Problème transfert script php -base de donnée

Résolu/Fermé
03audrey03 Messages postés 39 Date d'inscription mercredi 4 novembre 2009 Statut Membre Dernière intervention 16 novembre 2015 - 1 juin 2010 à 13:39
03audrey03 Messages postés 39 Date d'inscription mercredi 4 novembre 2009 Statut Membre Dernière intervention 16 novembre 2015 - 6 juin 2010 à 21:05
Bonjour,
je dois créer un site pour mes études et il faut que je crée un formulaire html et php permettant de modifier un produit existant dans ma base de données, le script php me dit que mes modifications ont bien été effectuées mais dans ma base de données il ne se passe rien. Pouvez-vous m'aider?
Voici le formulaire html :
<html>
<head>
<title> Modifier un produit</title>
</head>
<body>
<form method=POST action="modifpdt.php">
<LINK href="image/princip.css" rel=stylesheet>
<META content="MSHTML 6.00.2800.1476" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff>

(==>ici j'ai effacé la mise en forme pour ce forum<==)

<b>Référence du produit : </b>
   
<input type="text" name="ref" value=""maxlength="32">
<br>
<br>
<b>Nouveau nom :</b>
   
<input type="text" name="libpdt" value=""maxlength="32">
<br>
<br>
<b>Nouveau prix :</b>
   
<input type="text" name="prix" size="2" maxlength="32">
<br>
<p>
<br>
<br>
<td> <input type="submit" value="Confirmer"> </a>
</TD>
<br />
</body>
</html>

Voici le script php:
<?php
$ref=$_POST['ref'];
$libpdt=$_POST['libpdt'];
$prix=$_POST['prix'];

$db=mysql_connect("localhost","root","") or die ("erreur de connexion".mysql_erreur());
mysql_select_db("aspaa",$db) or die ("erreur de connexion à la base de données aspaa");
$sql = 'UPDATE produit SET libpdt="'.$_POST['libpdt'].'" WHERE ref="'.$_POST['ref'].'';
mysql_query($sql);
echo"Vos modifications ont été prises en compte";
mysql_close();
?>

Merci
A voir également:

3 réponses

kickers37000 Messages postés 217 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 11 juillet 2011 30
Modifié par kickers37000 le 1/06/2010 à 14:32
$sql = 'UPDATE produit SET libpdt="'.$_POST['libpdt'].'" WHERE ref="'.$_POST['ref'].'';
mysql_query($sql);

Pourquoi remettre $_POST['libpdt'] alors que tu la deja initialiser dans une variable que tu a appelai $libpdt :p soit tu utilise tes variables, soit c'est pas la peine de les initialiser :p

ta connexion devrai egalement etre dans un autre fichier php (c'est plus propre et ca evite des erreurs)

essaye d'affiche tes differentes variable tel que ref libpdt etc... pour savoir si elle sont bien rempli
0
03audrey03 Messages postés 39 Date d'inscription mercredi 4 novembre 2009 Statut Membre Dernière intervention 16 novembre 2015 8
1 juin 2010 à 16:04
Merci c'est aussi ce que ma prof m'a dit, et pour déclarer mes variables je voudrais garder la partie $ref=$_POST['ref'];
$libpdt=$_POST['libpdt'];
$prix=$_POST['prix'];
mais je ne vois pas comment écrire cette requête (cette requête je l'ai prise sur un autre site), mais je ne comprend pas trop son fonctionnement comme par exemple : WHERE ref="'.$_POST['ref'].'' ce morceau de requête veut bien dire que l'utilisateur saisit la référence du produit pour en modifier le libellé et le prix? (car c'est ce que je cherche à faire :) ) Merci pour vos réponses.
0
03audrey03 Messages postés 39 Date d'inscription mercredi 4 novembre 2009 Statut Membre Dernière intervention 16 novembre 2015 8
2 juin 2010 à 11:40
besoin d'aide s'il vous plait, là mon script php est :
<?php
$ref=$_POST['ref'];
$libpdt=$_POST['libpdt'];
$prix=$_POST['prix'];

$db=mysql_connect("localhost","root","") or die ("erreur de connexion".mysql_erreur());
mysql_select_db("aspaa",$db) or die ("erreur de connexion à la base de données aspaa");
$sql = 'UPDATE produit SET libpdt="libpdt" WHERE ref=""';
mysql_query($sql);
echo"Vos modifications ont été prises en compte";
mysql_close();
?>

et lorsque je teste le formulaire lié à ce script ça marque bien "vos modifications ont été prises en compte" mais il ne se passe toujours rien dans ma base de données. Quelqu'un peut m'aider s'il vous plait? Merci.
0
kickers37000 Messages postés 217 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 11 juillet 2011 30
6 juin 2010 à 12:46
alors....

essaye ca :
$sql = 'UPDATE produit SET libpdt="$libpdt" WHERE ref="$ref"';

ton champ s'appelle bien libpdt ?
0
03audrey03 Messages postés 39 Date d'inscription mercredi 4 novembre 2009 Statut Membre Dernière intervention 16 novembre 2015 8
6 juin 2010 à 21:05
Bonjour, c'est bon j'ai résolu mon problème et ce script fonctionne :
<?php
$ref=$_POST['ref'];
$libpdt=$_POST['libpdt'];
$prix=$_POST['prix'];

$db=mysql_connect("localhost","root","") or die ("erreur de connexion".mysql_erreur());
mysql_select_db("aspaa",$db) or die ("erreur de connexion à la base de données aspaa");
$sql = 'UPDATE produit SET libpdt=$libpdt, prix=$prix WHERE ref=$ref';
mysql_query($sql);
echo"Vos modifications ont été prises en compte";
mysql_close();
?>

Merci quand même :)
0