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

Résolu/Fermé
Signaler
Messages postés
39
Date d'inscription
mercredi 4 novembre 2009
Statut
Membre
Dernière intervention
16 novembre 2015
-
Messages postés
39
Date d'inscription
mercredi 4 novembre 2009
Statut
Membre
Dernière intervention
16 novembre 2015
-
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

3 réponses

Messages postés
217
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
11 juillet 2011
31
$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
Messages postés
39
Date d'inscription
mercredi 4 novembre 2009
Statut
Membre
Dernière intervention
16 novembre 2015
9
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.
Messages postés
39
Date d'inscription
mercredi 4 novembre 2009
Statut
Membre
Dernière intervention
16 novembre 2015
9
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.
Messages postés
217
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
11 juillet 2011
31
alors....

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

ton champ s'appelle bien libpdt ?
Messages postés
39
Date d'inscription
mercredi 4 novembre 2009
Statut
Membre
Dernière intervention
16 novembre 2015
9
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 :)