Problème de validation formulaire

Résolu
aureb09 Messages postés 44 Statut Membre -  
aureb09 Messages postés 44 Statut Membre -
Bonjour,

J'ai crée un formulaire pour modifier des données d'une base de donnée. Je rempli les champs du formulaire avec une requette pour récolter les données. Jusque là tout fonctionne. Ensuite, l'utilisateur peut modifier les donnée afficher. Problème, lorsqu'une donnée est modifier ou non et que je valide le formulaire, il ne se passe rien et il n'y a aucune erreur qui s'affiche.
Voici le code du formulaire et du remplissage des champs avec la requette pour récolter les données :

<?php
include('connexion-bdd.php');

$data = $bdd->query("SELECT * FROM table WHERE id = '".$_GET['id']."' ");

while ($donnees = $data->fetch())
{
?>

<form method="POST" action="" enctype="multipart/form-data" >
<input type="hidden" name="id" value="<?php echo $_GET["id"]?>" >
<p>Titre:<br>
<input class="champ" type="text" name="titre" required value="<?php echo $donnees["titre"]?>">
<br><br>
URL Image :<br>
<input class="champ" type="text" name="image" value="<?php echo $donnees["image"]?>" required >
<br><br>
Prix :<br>
<input class="champ" type="text" name="prix" value="<?php echo $donnees["prix"]?>" >
<br><br>
Caractéristiques :<br>
<textarea class="champ" name="caracteristiques"><?php echo $donnees["caracteristiques"]?></textarea><br><br>
>

<input type="submit" name="valider" value="Valider les modifications" class="btn-val">
</p>
</form>
<?php
$data->closeCursor();
}

?>


Le code PHP pour la validation du formulaire :


<?php
include('connexion-bdd.php');

if(isset($_POST['valider']))
{

$req = $bdd->query("UPDATE table SET titre = '".$_POST['titre']."', image= '".$_POST['image']."', prix = '".$_POST['prix']."', caracteristiques= '".$_POST['caracteristiques']." WHERE id = '". $_POST['id']."' ");

if($req) {
header('Location: index.php');
}
}
?>


Merci d'avance pour vos réponses !

1 réponse

aureb09 Messages postés 44 Statut Membre 2
 
J'ai finalement trouvé le problème : Les apostrophes contenu dans les champs bloqué la requette. Pour y remédier, j'ai utiliser la fonction PHP addslashes() qui ajoute des "\" avant chaque apostrophes.
0