Version complète: sur le forum Webmaster Hub : Erreur de script (formulaire)
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
goldrazor06
Bonjour,

J'ai un petit problème avec mon formulaire.

Le probleme est le suivant, lorsque je clique sur une annonce pour la modifier, les formulaires se remplissent de leur données anciennes mais lorsque je fais une modifications, l'erreur "veuillez saisir une description s'affiche" et les champs sont vide alors que les données ont été modifié dans la bdd.

Si une âme charitable peut y jeter un coup d'oeil, j'implorerai le ciel pour que joie et volupté lui soit apporté :

CODE
<?php

$titre = $_POST["titre"];
$categorie = $_POST["categorie"];
$prix = $_POST["prix"];
$quantite = $_POST["quantite"];
$description = $_POST["description"];
$photo = $_POST["photo"];
$session_id2 = $_SESSION["id"];
$id = $_GET["act"];
$session_id = $utilisateurs->id;

$affichform=true;

if($_GET['act']){

$affichform=false;

//test titre
if($_POST['titre']<>""){
//test categorie
if($_POST['categorie']<>""){
//test prix
if($_POST['prix']<>""){
//test quantite
if($_POST['quantite']<>""){
//test description
if($_POST['description']<>"");


$query= "UPDATE annonces SET titre='$titre', categorie='$categorie', prix=$prix, quantite=$quantite, description='$description', photo='$photo' WHERE id=$id AND nomembre=$utilisateurs->id";

mysql_query ($query);

if($utilisateur=mysql_fetch_object(mysql_query("SELECT * FROM `membres` WHERE `email`='".$_SESSION['email']."'"))){

$erreur="<center>F&eacute;licitation, votre annonce a bien &eacute;t&eacute; modifi&eacute;e.</center>";


// fin test description
} else {$erreur="Erreur : Veuillez saisir une description";$affichform=true;}
// fin test quantite
} else {$erreur="Erreur : Veuillez saisir la quantite";$affichform=true;}
// fin test prix
} else {$erreur="Erreur : Veuillez saisir le prix";$affichform=true;}
// fin categorie
} else {$erreur="Erreur : Veuillez saisir la catégorie";$affichform=true;}
// fin test titre
} else {$erreur="Erreur : Veuillez saisir un titre d'annonce";$affichform=true;}

}

?>

<?php
echo $erreur;
if($affichform==true){
?>

<?php
$lot=mysql_fetch_object(mysql_query("SELECT * FROM annonces WHERE id='".$_GET['id']."' AND nomembre=$utilisateurs->id"));
?>

<form action="modif_annonces.php?act=<?php echo $lot->id; ?>" method="post" name="form1" id="form1"> ....


Si jamais vous voyez une explication, n'hésitez pas, merci. :regarder_boulet:
Anonymus
Tu devrais détailler ,ici :

CODE
if($utilisateur=mysql_fetch_object(mysql_query("SELECT * FROM `membres` WHERE `email`='".$_SESSION['email']."'"))){

Mets plutot :

CODE
$q = "SELECT * FROM `membres` WHERE `email`='".$_SESSION['email']."'";
echo "<br>q : ".$q;
$r = mysql_query($q);
echo "<br>q : ".$r;
if($utilisateur=mysql_fetch_object($r)){
// bla bla;
}


Ca t'en dira déjà plus sur le problème rencontré.


Là >
CODE
if($_POST['description']<>"");

T'as un pb. T'as mis un ";" alors qu'il faudrait très certainement une accolade.

Nico.
goldrazor06
OK merci beaucoup nico pour ses réponses rapides.

Je vais essayer de faire ce que tu m'as dit.

Merci
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.