IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[SQL] Insertion ds Bdd


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 67
    Par défaut [SQL] Insertion ds Bdd
    Bonjour chers développeurs,

    je me permets de poster un message sur le forum car je ne trouve pas la réponse a mon probleme.

    Voici le code, je souhaiterais juste qu il rentre le message ds ma bdd mais il rentre a chaque fois dans le else :s, si vous avez une idéee, n'hésitez pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?php 
     
     
    	if (empty($_POST['nom']))
    		die ("Veuillez remplir le champ nom");
     
    	if (empty($_POST['prenom'])) 
    		die ("Veuillez remplir le champ prenom");
     
    	if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$",$_POST['mail']))
    		die("adresse email non valide");
     
    	if (empty($_POST['message']) )
    		die ("Veuillez remplir le champ message");
     
     
    	$liendb= mysql_connect("localhost","root","");
    	mysql_select_db ("toutetni");
    	$sql ="INSERT INTO contact (nom, prenom, mail, message) VALUES 
    	('".$_REQUEST['nom']."','".$_REQUEST['prenom']."','".$_REQUEST['mail']."','".$_REQUEST['message']."')";
     
     
    	if(mysql_query($sql) !=false)
    		print ("Votre message à bien été envoyé");
    	else
    		print("echec lors de lenvoi du message");
     
    mysql_close($liendb);
     
     
    ?>
    Merci d'avance

  2. #2
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Je ne sais pas si ça un lien mais tu teste que $_POST['nom'] n'est pas vide et tu essaye d'inserer $_REQUEST['nom'], ça ne devrait pas être $_POST['nom']?

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Bonjour

    Il ya des fortes chances pour que guigui ait raison : si tu testes $_POST['nom'] et que tu insères $_REQUEST['nom'], il y a un truc qui cloche.

    Pour plus de précisions sur le problème utilise or die(mysql_error()) à la place de ton if/else :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query($sql) or die ('echec lors de l\'envoi du message : '.$sql.' : '.mysql_error());
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Membre chevronné Avatar de Asmodean
    Profil pro
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Par défaut
    Pourtant c'est étonnant parce que REQUEST c'est une global qui réunit les POST, GET et COOKIE. Donc à moins d'un conflit ça ne devrait pas poser de problème.

    Par contre tu devrais effectivement utilisé après ton mysql_query un or die(mysql_error()) , donc faire quelque chose dans ce genre :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $sql ="INSERT INTO contact (nom, prenom, mail, message) VALUES 
    	('".$_REQUEST['nom']."','".$_REQUEST['prenom']."','".$_REQUEST['mail']."','".$_REQUEST['message']."')";
     
    $ret = mysql_query($sql) or die(mysql_error());
     
    if( $ret )
    	print ("Votre message à bien été envoyé");
    else
    	print("echec lors de lenvoi du message");

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Citation Envoyé par Asmodean
    Pourtant c'est étonnant parce que REQUEST c'est une global qui réunit les POST, GET et COOKIE. Donc à moins d'un conflit ça ne devrait pas poser de problème.
    Je l'ignorais, mais c'est bon à savoir.
    N'empêche, à la place de lynxxx, si les variables sont passées par post, j'utiliserais $_POST dans la requête aussi, juste au cas où
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 67
    Par défaut Merci
    Bonjours tout le monde, tout d'abord je vous remercie pour vos réponses, c'est très aimable d'aider un petit débutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	if(mysql_query($sql) !=false) or die ('echec lors de l\'envoi du message : '.$sql.' : '.mysql_error().');
    J'ai bien mis le or die mais maintenant il me met une parse error... je cherche je cherche. ..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. sql.Date date du jour pour insertion en BDD
    Par vince29 dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 08/06/2012, 11h53
  2. SQL insertion en bdd d'une documentation ou video ?
    Par silverfab34 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 11/05/2010, 09h24
  3. [sql Flash] Lecture BDD dans Flash , INSERT ou UPDATE
    Par Keroik dans le forum Requêtes
    Réponses: 1
    Dernier message: 06/08/2007, 11h20
  4. [VB.NET 2005][SQL SERVER 2005] Pb d'insertion en BdD
    Par jhary07 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 02/01/2006, 08h53
  5. erreur SQL ...INSERT INTO
    Par naidinp dans le forum ASP
    Réponses: 20
    Dernier message: 18/09/2003, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo