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

Résolu
03audrey03 Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   -  
03audrey03 Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   -
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 221 Date d'inscription   Statut Membre Dernière intervention   30
 
$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   Statut Membre Dernière intervention   8
 
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   Statut Membre Dernière intervention   8
 
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 221 Date d'inscription   Statut Membre Dernière intervention   30
 
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   Statut Membre Dernière intervention   8
 
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