INSERT depuis form qui fonctionne mal
Résolu
nestor94
Messages postés
74
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, je viens vous demander de l'aide car je sèche depuis deux jours. Ce script insère systématiquement en table 1 1 1.................... Et je ne vois pas où se situe la source du problème.
J'ai testé TOUTES les variables une à une. Elles sont toutes OK.
<?php session_start(); header( 'content-type: text/html; charset=utf-8' ); error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); require_once 'config.php'; $id = !empty($_SESSION['id']) ? $_SESSION['id'] : NULL; $sql = "SELECT contenant, usure_contenant FROM membres WHERE id = :id"; $pdostat = $bdd->prepare($sql); $pdostat->bindvalue(':id',$id ,PDO::PARAM_INT); $pdostat->execute(); $resultat = $pdostat->fetch(); if (!empty($resultat )) { $contenant = $resultat['contenant']; $usure_contenant = $resultat['usure_contenant']; } if(isset($_POST['vendre_contenant'])) { $produit = !empty($_POST['produit']); $usure = !empty($_POST['usure']); $prix = !empty($_POST['prix']); } if(!empty($_POST['produit']) && !empty($_POST['usure']) && !empty($_POST['prix'])) { try { $pdostat = $bdd->prepare("INSERT INTO market (produit, usure, prix) VALUES (:produit, :usure, :prix)"); //$pdostat = $bdd->prepare("INSERT INTO market (produit, usure, prix) VALUES ( ?; ?; ?)"); //$pdostat = $bdd->prepare("INSERT INTO market (produit, usure, prix) VALUES ('$produit', '$usure', '$prix')"); $pdostat->bindParam(':produit', $produit,PDO::PARAM_STR); $pdostat->bindParam(':usure', $usure,PDO::PARAM_INT); $pdostat->bindParam(':prix', $prix,PDO::PARAM_INT); $pdostat->execute(); } catch(Exception $e){ echo "Erreur " . $e->getMessage(); } header('Location:page_membre.php'); } ?> <html> <head> <meta http-equiv="Content-Type" content=\"text/html; charset=UTF-8\"> bla bla bla bla bla bla <table> <form name="form" method="post" action=" " enctype="multipart/form-data"> <fieldset><b>VENDRE</b></fieldset> <p> <label for="produit"><img src="<?php echo $contenant; ?>"/></label> <input type="hidden" name="produit" id="produit" value="<?php echo $contenant; ?>"/> </p> <p> <label for="usure"><b>USURE <?php echo $usure_contenant; ?>%</b></label> <input type="hidden" name="usure" id="usure" value="<?php echo $usure_contenant;?>"/> </p> <p> <label for="prix"><b>PRIX:</b></label> <input type="number" min="1" max="9999" name="prix" id="prix" size="4" value="prix"/> </p> </select></p> <div align="center"><br> <input type="submit" name="vendre_contenant" value="VALIDER" /> </td> </div> </form> </table>
J'ai testé TOUTES les variables une à une. Elles sont toutes OK.
Configuration: Windows / Firefox 88.0
A voir également:
- INSERT depuis form qui fonctionne mal
- Touche insert - Guide
- Disk boot failure insert system disk and press enter - Guide
- Pourquoi la tnt fonctionne mal en ce moment - Guide
- Touche insert sur clavier portable hp ✓ - Forum Clavier
- Accéder à la fonction secondaire "insert" de ma touche "Delete" - Forum PC portable
1 réponse
Oups, je crois avoir trouver...
J'avais viré les trim les jugeant inutiles?!
$produit = !empty($_POST['produit']) ? trim($_POST['produit']) : NULL;
Ca marche mieux ainsi.
Comme quoi !!
J'avais viré les trim les jugeant inutiles?!
$produit = !empty($_POST['produit']) ? trim($_POST['produit']) : NULL;
Ca marche mieux ainsi.
Comme quoi !!
jordane45
Messages postés
38486
Date d'inscription
Statut
Modérateur
Dernière intervention
4 752
Le souci c'est que tes lignes 20 21 22 étaient surtout incomplètes... Rien à voir avec le trim à proprement parlé.