Script d'enregistrement dans base de donnée ne marche pas
ghisloy
Messages postés
89
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
j'essaye d enregistrer des infos dans une bd mais ca refuse peut importe comment j'ecris la requête et je ne vois pas l'erreur. veuillez m aider
merci pour votre coup de main. il me sera très utile. Pub supprimée Modération CCM
j'essaye d enregistrer des infos dans une bd mais ca refuse peut importe comment j'ecris la requête et je ne vois pas l'erreur. veuillez m aider
<?php //connexion a la bd mysql_connect("127.0.0.1", "root", "") or die ("Erreur de connexion au serveur."); mysql_select_db("estabat") or die ("Erreur. la base de donnée n’existe pas"); ?> <?php if(isset($_POST['button'])){ // $identite = $_POST["identite"]; // $email = $_POST["email"]; // $objet = $_POST["objet"]; // $message = $_POST["message"]; //création de la requête SQL: $insertion = "INSERT INTO contacter SET nom='".$_POST['identite']."', mail='".$_POST['email']."', objet='".$_POST['objet']."', message='".$_POST['message']."' "; //exécution de la requête SQL: $resultat = mysql_query($insertion); } ;?>
<link rel="stylesheet" type="text/css" href="../../jscss/css/formulaire.css"/> <style type="text/css"> @font-face { font-family: 'FontAwesome'; src: url('../../jscss/fonts/fontawesome-webfont78ce.eot?v=4.2.0'); src: url('../../jscss/fonts/fontawesome-webfontd41d.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../../jscss/fonts/fontawesome-webfont78ce.woff?v=4.2.0') format('woff'), url('../../jscss/fonts/fontawesome-webfont78ce.ttf?v=4.2.0') format('truetype'), url('../../jscss/fonts/fontawesome-webfont78ce.svg?v=4.2.0#fontawesomeregular') format('svg'); font-weight: normal; font-style: normal; } </style> <div style="background:#FFF; z-index: 9999;"><div class="clearfix" style="width:680px; padding:0px 5px; margin-top:0px; text-align:left;"> <div class="table centre" style="width:680px;"><div class="table-row"> <div class="table-cell" style="width:675px; padding-top:5px;"><div style="width:inherit; display:block; clear:both"> <div style="border:1px solid red; margin-right:65px;"><form name="ref_form" id="ref_form" class="formulaire" action="../../htdocs/Contact/index.php" enctype="application/x-www-form-urlencoded" method="POST" style="padding:0 3px 0 0px;"> <input type="hidden" name="from" value="contacts" /> <ul><li style="padding:12px 0 12px 5px;"><h2 style="font-size:21px; font-weight: bold;">Contactez-nous</h2> <span class="required_notification">* Champs requis</span> </li></ul> <ul> <li> <label class="label1" for="identite">Identité</label> <input style="width:380px; min-width:380px; max-width:380px; text-transform: uppercase;" name="identite" id="identite" value="" type="text" placeholder="Noms Prénoms" required /> </li> <li> <label class="label1" for="email">E-mail</label> <input style="width:380px; min-width:380px; max-width:380px; text-transform: lowercase;" name="email" id="email" value="" type="email" placeholder="Adresse e-mail" required /> </li> <li> <label class="label1" for="objet">Objet</label> <input style="width:380px; min-width:380px; max-width:380px;" name="objet" id="objet" value="" type="text" placeholder="Objet du message" required /> </li> </ul> <div style="display:block; clear:both;"><table border="0" cellpadding="0" cellspacing="0"> <tr><td width="590" valign="top" style="padding-left:5px; font-size:14px; padding-top:10px;"><b>Message à envoyer</b><br> <textarea name="message" style="margin-left:0px; overflow:auto; width:590px; min-width:590px; max-width:590px; min-height:250px; max-height:250px; height:250px;" placeholder="Saisissez ici votre message" ></textarea></td></tr></table> </div> <ul style=" margin-top:10px;"> <li style="display:inline; margin-left:200px;"><button class="submit" type="submit" style="width:200px; margin-bottom:10px;">Envoyez le message</button></li> </ul> </form>
merci pour votre coup de main. il me sera très utile. Pub supprimée Modération CCM
A voir également:
- Script d'enregistrement dans base de donnée ne marche pas
- Base de registre - Guide
- Script vidéo youtube - Guide
- Enregistrement mp3 gratuit - Télécharger - Streaming audio
- Formules mathématiques de base - Télécharger - Études & Formations
- Mas script - Accueil - Windows
2 réponses
Bonjour,
Ne confond pas la requête UPDATE et la requête INSERT
De façon "propre" une requete INSERT s'écrit :
de plus, il est préférable de récupérer proprement les variables AVANT de les utiliser
et enfin, ajoutes du debug en cas d'erreur (avec un or die)
Bref, ça devrait donner un truc du genre :
NB: Attention toutefois.. tu utilises une vielles syntaxes (et extension..) de mysql.
Je t'invite à lire ceci :
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
$insertion = "INSERT INTO contacter SET nom='".$_POST['identite']."', mail='".$_POST['email']."', objet='".$_POST['objet']."', message='".$_POST['message']."' ";
Ne confond pas la requête UPDATE et la requête INSERT
De façon "propre" une requete INSERT s'écrit :
INSERT INTO matable (champ1,champx) VALUE('toto','titi')
de plus, il est préférable de récupérer proprement les variables AVANT de les utiliser
et enfin, ajoutes du debug en cas d'erreur (avec un or die)
Bref, ça devrait donner un truc du genre :
$identite = !empty($_POST['identite']) ? $_POST['identite']: ''; $email = !empty($_POST['email']) ? $_POST['email']: ''; $objet = !empty($_POST['objet']) ? $_POST['objet']: ''; $message = !empty($_POST['message']) ? $_POST['message']: ''; $sql = "INSERT INTO contacter (nom,mail,objet,message) VALUE('$identite','$email','$objet','$message')"; /exécution de la requête SQL: $resultat = mysql_query($sql) or die("<br><b>ERREUR !</b><br>".mysql_error(). "<br><b>Requete :</b><br>".$sql);
NB: Attention toutefois.. tu utilises une vielles syntaxes (et extension..) de mysql.
Je t'invite à lire ceci :
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
Bonjour
La syntaxe INSERT INTO table SET champ1=valeur1, champ2=valeur2 est parfaitement valide. Pas besoin de la changer.
Par contre, tu testes
La syntaxe INSERT INTO table SET champ1=valeur1, champ2=valeur2 est parfaitement valide. Pas besoin de la changer.
Par contre, tu testes
if(isset($_POST['button']))mais aucun champ ne s'appelle 'button'. Tu devrais tester un champ qui existe réellement dans ton formulaire.
La syntaxe INSERT INTO table SET champ1=valeur1, champ2=valeur2 est parfaitement valide. Pas besoin de la changer.
Il n’empêche que cette syntaxe est "propre" à Mysql contrairement à celle que je donne qui est "standard" à SQL.
Autant prendre les bonnes habitudes.
Pour le reste, au niveau perf elles sont identiques.