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 :

insertion dans la base


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 21
    Par défaut insertion dans la base
    Bonjour.
    Pour un cours de programmation, on réalise un site ou l'on doit gérer une inscription. Donc cette inscription est relié à phpMyAdmin, la base est crée mais l'insertion ne se réalise pas quand je regarde sous phpMyAdmin voir si l'utilisateur a été enregistré.

    Voici le code et peut-être que quelqu'un poura m'aider :
    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
    <?php
    					$connexionMYSQL = mysql_connect("localhost");
    					if (! $connexionMYSQL)//Connexion au serveur manqué
    						echo "Echec de la connexion au serveur MYSQL.<br/>";
    					else//Connexion au serveur réussie
    						{
    						echo "Connexion au serveur MYSQL &eacute;tablie.<br/>";
    						$activationBD = mysql_select_db("utilisateur_partadoc", $connexionMYSQL);
    						if (! $activationBD)//Activation de la base de données raté
    							echo "Connexion au serveur MYSQL r&eacute;ussie mais impossible d'accéder à la base de données.<br/>";
    						else//activation réussie
    						{
    							echo "Connexion au serveur MYSQL ok. Activation de la base de données des utilisateurs réussite.<br/>";
    						$requete = mysql_query("insert into 'utilisateur_partadoc' values('".$_POST['nom']."', '".$_POST['prenom']."', '".$_POST['login']."', '".md5($_POST['motdepasse'])."'", $connexionMYSQL);
    						//test de l'execution de la requete
    						if (requete) echo "Execution de la requete réussie.<br/>";
    						}
    						}
    				?>

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 194
    Par défaut
    Bonjour,

    qu'ententu par relié a PhpMyAdmin?

    essaye ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    $connexionMYSQL = mysql_connect(HOST,NAME,PASS) or die("Echec de la connexion au serveur MYSQL.");
    $activationBD = mysql_select_db("utilisateur_partadoc", $connexionMYSQL) or die("Connexion au serveur MYSQL r&eacute;ussie mais impossible d'accéder à la base de données.");
     
    $sql = "insert into 'utilisateur_partadoc' values('".$_POST['nom']."', '".$_POST['prenom']."', '".$_POST['login']."', '".md5($_POST['motdepasse'])."')" ;
    $requete = mysql_query($sql) or die("Erreur de requete");
    ?>
    bien remplace HOST, NAME, PASS par les valeurs qui vont bien.

    Yasen

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 21
    Par défaut
    Alors avec ton code ça me met : Erreur de requete.

    et quand je dis relié à phpMyAdmin, ça veut juste dire que je l'utilise et que je fais le lien avec mes bases de donnés avec ça.

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 194
    Par défaut
    remplace cette ligne, pour voir l'erreur sql.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $requete = mysql_query($sql) or die(mysql_error());

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 21
    Par défaut
    you have an error in your sql syntax; check the manual that corresponds to your mysql server version for the right syntax to use near "utiliosateur_partadoc' values ('Calmels', 'guillaume', 'chipou', '6a5b4d7eaecee4d' at line 1

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 194
    Par défaut
    ok essaye ceci alors:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = "insert into utilisateur_partadoc values(\"".$_POST['nom']."\", \"".$_POST['prenom']."\", \"".$_POST['login']."\", \"".md5($_POST['motdepasse'])."\")" ;

  7. #7
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 21
    Par défaut
    alors avec ça ça me dit que :
    Table'utilisateur_partadoc.utilisateur_partadoc' does'ny exist

  8. #8
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 21
    Par défaut
    En fait c'ets bon j'ai trouvé, fallair faire :
    insert into 'utilisateurs' values(....);

    Maintenant je réalise une connexion afin qu'il me dise style bienvenue Mr 'login'. Mais je ne sais pas trop cvomment m'y prendre et avec le code de dessous ça me dit toujours erreur : Login et/ou mot de passe incorrects.

    Voici le code
    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
    <?php
    		session_start();	
    		$connexionMYSQL = mysql_connect("localhost");
    					if (! $connexionMYSQL)//Connexion au serveur manqué
    						echo "Echec de la connexion au serveur MYSQL.<br/>";
    					else//Connexion au serveur réussie
    						{
    						echo "Connexion au serveur MYSQL &eacute;tablie.<br/>";
    						$activationBD = mysql_select_db("utilisateur_partadoc", $connexionMYSQL);
    						if (! $activationBD)//Activation de la base de données raté
    							echo "Connexion au serveur MYSQL r&eacute;ussie mais impossible d'accéder à la base de données.<br/>";
    						else//activation réussie
    						{
    							echo "Connexion au serveur MYSQL ok. Activation de la base de données des utilisateurs réussite.<br/>";
    							if ((utilisateur_partadoc.utilisateurs.login == ($_POST['login'])) && (utilisateur_partadoc.utilisateurs.mdp == (md5($_REQUEST['motdepasse']))))
    							{
    								$_SESSION['login'] = $_POST['login'];
    								echo "Bienvenue ".$_SESSION['login'];
    							}
    							else 
    								{
    								echo "Erreur : Login et/ou mot de passe incorrects.";
     
    								}
    						}
    						}
     
    ?>

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ((utilisateur_partadoc.utilisateurs.login == ($_POST['login']))
    on ne melange pas des notations SQL et du PHP.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $login = mysql_real_escape_string($_POST['login']);
    $pass = mysql_real_escape_string($_POST['pass']);
    $sql = 'SELECT count(*) FROM table WHERE login= ' . $login . ' AND password = ' . $pass;
    et tu regardes si tu obtiens un resultat de la requete.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 21
    Par défaut
    ok ok. et ensuite je fais quoi comme condition pour pouvoir soit afficher bienvenue Mr l'utilisateur ou Mauvais mot de passe et/ ou login ?

    ok j'ai mis if ($sql)
    echo "Bienvenue ".$_POST['login'];
    else
    echo "Mauvais mot de passe";


    Le problèm est que avec tout ça quoi que je mette, cela me permet pas de vérifier s'il est bien contenu dans la base afin de pouvoir souhaiter la bienvenue si il est dans la base et lui dire qu'il a fait une mauvaise saisie à contrario.
    Merci encore de votre aide

  11. #11
    zesavantfou
    Invité(e)
    Par défaut
    Moi, je n'ai pas vraiment compris ta dernière question, mais si tu fait avec le dernier code que tu as mis, cela ne rique jamais de marcher, il manque les accolades et toute la friandise PHPtique

    Mais en gros pour voir si un utilisateur est dans la base, il faut faire un petit :

    $verif = mysql_query("SELECT nom_de_mon_utilisateur FROM ma_table");

    Ensuite tu fait un:

    if ($verif){ print "bonjour".$nom_utilsateur;}
    else { //Tu l'engueule quoi ! }

    Voilou

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    chipou, ca te conseille de lire un peu de documentation pour comprendre PHP plutot que d'ecrire des lignes comme cela te vient.
    par exemple :
    http://fr.php.net/manual/fr/function.mysql-num-rows.php

    zesavantfou, ce que tu ecris n'est pas bon. mysql_query ne renvoit pas FALSE quand il n'y a pas d'enregistrement.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 21
    Par défaut
    Voici le code entier que j'ai :
    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
    		session_start();	
    		$connexionMYSQL = mysql_connect("localhost");
    					if (! $connexionMYSQL)//Connexion au serveur manqué
    						echo "Echec de la connexion au serveur MYSQL.<br/>";
    					else//Connexion au serveur réussie
    						{
    						echo "Connexion au serveur MYSQL &eacute;tablie.<br/>";
    						$activationBD = mysql_select_db("utilisateur_partadoc", $connexionMYSQL);
    						if (! $activationBD)//Activation de la base de données raté
    							echo "Connexion au serveur MYSQL r&eacute;ussie mais impossible d'accéder à la base de données.<br/>";
    						else//activation réussie
    						{
    							echo "Connexion au serveur MYSQL ok. Activation de la base de données des utilisateurs réussite.<br/>";
    							$login = mysql_real_escape_string($_POST['login']);
    							$mdp = mysql_real_escape_string($_POST['mdp']);
    							$sql = 'select count(*) from utilisateur where login = '.$login. 'and mdp = '.$mdp;
    							if ($sql)
    							{
    								$_SESSION['login'] = $_POST['login'];
    								echo "Bienvenue ".$_SESSION['login'];
    							}
    							else 
    								{
    								echo "Erreur : Login et/ou mot de passe incorrects.";
    								echo md5($_POST['motdepasse']);
    								}
    						}
    						}
     
    ?>

  14. #14
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    $sql est une chaine de caractere que tu viens de définir donc if($sql) est forcemment vrai.

    utilise la fonction que je t'ai indiqué.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    zesavantfou
    Invité(e)
    Par défaut
    Si si, avec le code que j'ai mis, on vérifie que $verif à bien été exécutée avec succès.

    Comme tu m'a mis le doute j'ai vérifié vite fait, et ca marche nikel !

    Pour que tu en ai la conscience tranquille fait un tour sur le manuel de php: http://fr.php.net/mysql_query

    C'est marqué noir sur blanc que mysql_query retourn Flase en cas d'erreur !

    Donc chipous64, tu peux utiliser mon code, il est fiable à 100%.

  16. #16
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 21
    Par défaut
    mais la fonction que tu me donne renvoie juste le nombre de tables dans ma base non ?

    Moi ça m'affiche 3 (le nombre d'utilisateurs enregistrés).
    Et avec le mysql_query, même si je rentre un maivais login, ça me met bienvenue "mauvais login"...

  17. #17
    zesavantfou
    Invité(e)
    Par défaut
    dans ton code il y a ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = 'select count(*) from utilisateur where login = '.$login. 'and mdp = '.$mdp;
    Remplace le par ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $sql = "SELECT * FROM utilisateur where login=".$login."and mdp=".$mdp";
    essaye.

  18. #18
    zesavantfou
    Invité(e)
    Par défaut
    dans ton code il y a ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = 'select count(*) from utilisateur where login = '.$login. 'and mdp = '.$mdp;
    Remplace le par ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $sql = mysql_query("SELECT * FROM utilisateur where login=".$login."and mdp=".$mdp);
    essaye.

  19. #19
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est marqué noir sur blanc que mysql_query retourn Flase en cas d'erreur !
    une requete qui ne retourne aucun enregistrement n'est pas une erreur.
    comme tu le dis toi même "on vérifie que la requete a été executé avec succès" pas qu'elle contient ou ne contient pas un resultat.
    ton code est faux et ne doit pas être utilisé

    il manque partout les guillemets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    where login = "'.$login. '" and mdp = "'.$mdp . '"';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  20. #20
    zesavantfou
    Invité(e)
    Par défaut
    Euh, je ne sais pas trop si le fait que ce qu'on demande n'existe pas est considéré comme étant une erreur, mais en tout cas, je viens de ressayer, et ca marche bien! quand il n'y a pas d'enregistrement, et bien ca me met ce que j'ai mis dans le else !

Discussions similaires

  1. Requête d'insertion dans une base ACCESS
    Par kurul1 dans le forum C++Builder
    Réponses: 5
    Dernier message: 02/11/2006, 17h41
  2. [C#] Insertion dans une base Access .mdb
    Par borgfabr dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/03/2005, 15h30
  3. Réponses: 10
    Dernier message: 24/02/2005, 14h57
  4. Problème d'insertion dans la base.
    Par roots_man dans le forum ASP
    Réponses: 2
    Dernier message: 14/09/2004, 12h56
  5. Probleme d'insertion dans la base de données
    Par PrinceMaster77 dans le forum ASP
    Réponses: 5
    Dernier message: 11/06/2004, 16h21

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