Anewone Posted August 22, 2017 Report Share Posted August 22, 2017 (edited) Bonjours les melinyien, J'ai créé un formulaire que j'ai tout-à-fait bien lié à une page de traitement, mais rien ne s'enregistre dans ma bbd. Je précise qu'aucune erreur ne s'affiche, tout se déroule parfaitement bien... Visiblement. Mais secrètement, les infos transmises via le formulaire ne sont pas du tout enregistrées dans la base de données... Je vous mets le code de la page de traitement : <?php if(isset($_POST['Envoyer'])) { try { $bdd = new PDO('mysql:host=localhost;dbname=essai;charset=utf8', 'root', ''); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } $req = $bdd->prepare('INSERT INTO codef(Greffier, Noloi, Loi, Adoptio, Pour, Contre, Oblatusab, Fonction, Submandatumde, Principioregni, Ultimregni) VALUES("'.$_POST['Greffier'].'", "'.$_POST['Noloi'].'", "'.$_POST['Loi'].'", "'.$_POST['Adoptio'].'", "'.$_POST['Pour'].'", "'.$_POST['Contre'].'", "'.$_POST['Oblatusab'].'", "'.$_POST['Fonction'].'", "'.$_POST['Submandatumde'].'", "'.$_POST['Principioregni'].'", "'.$_POST['Ultimregni'].'")'); $req->execute(array( $_POST['Greffier'], $_POST['Noloi'], $_POST['Loi'], $_POST['Adoptio'], $_POST['Pour'], $_POST['Contre'], $_POST['Oblatusab'], $_POST['Fonction'], $_POST['Submandatumde'], $_POST['Principioregni'], $_POST['Ultimregni'] )); header('Location: afloiscodef.php'); /*echo '<span class="accesblock"><p>Loi ajoutée avec succès !</p></span>';*/ } ?> Merci de votre aide, d'avance ! P.S : Je ne sais pas comment mettre l'affichage de programmation, désolé. Edited August 22, 2017 by Anewone Changement d'un fichier Quote Link to comment Share on other sites More sharing options...
Soulalex Posted August 23, 2017 Report Share Posted August 23, 2017 Regarde si $_POST['Envoyer'] est bien défini après avoir envoyer ton formulaire (et donc à l'exécution de la requête). Tu peux utiliser TamperData ou un autre module de ce genre. Quote Link to comment Share on other sites More sharing options...
Anewone Posted August 24, 2017 Author Report Share Posted August 24, 2017 Tu veux dire si mon bouton dans ma page formulaire a bien l'attribut 'Envoyer' ? Si c'est ça dans ce cas alors oui il l'a bien. Merci de bien vouloir m'aider ! Quote Link to comment Share on other sites More sharing options...
Soulalex Posted August 25, 2017 Report Share Posted August 25, 2017 Alors oui si ton champ "Envoyer" est du type "submit", c'est normal qu'il n'existe pas. Du coup effectue ton test avec un autre champ, par exemple, sur ton premier champ if(isset($_POST['Greffier'])) { ... } Aussi chose que je n'avais pas vu : tu ne respectes pas les normes d'une requête préparée. En effet, tu ne dois jamais concaténer des variables à ta requête préparée, la PDO s'occupera de lier les variables passées à l'exécution (comme tu as commencé à le faire) avec les variables spécifiques de la requête. Ainsi, tu dois remplacer ta requête par : $req = $bdd->prepare("INSERT INTO codef(Greffier, Noloi, Loi, Adoptio, Pour, Contre, Oblatusab, Fonction, Submandatumde, Principioregni, Ultimregni) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); Quote Link to comment Share on other sites More sharing options...
Anewone Posted August 25, 2017 Author Report Share Posted August 25, 2017 Donc je dois laisser les points 'interrogations ? Quote Link to comment Share on other sites More sharing options...
Anewone Posted August 29, 2017 Author Report Share Posted August 29, 2017 Sujet résolu ! Ce n'est pas à cause (ou grâce) à ce que tu m'as dit, c'était simplement un problème venant de WAMP64. Lorsque j'ai mis en ligne mon site, le formulaire fonctionnait très bien, une fois complété et envoyé, les infos saisies se retrouvaient bien dans ma base de données phpmyadmin. Merci quand même ! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.