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 :

probleme enregistrement dans la bdd [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Par défaut probleme enregistrement dans la bdd
    Bonjour,

    je suis nouveau sur ce forum, et espère avoir une réponse a mon problème qui est le suivant :

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link type="text/css" rel="stylesheet" href="feuillecss.css"/>
     <title>P2M</title>
     </head>
     
    <body>
     
     
    			<?php
     
    $user="root"; 
    $passwrd=""; 
    $host="localhost"; 
    $db="sitecana"; 
     
     
    	if (isset($_POST['ID']) AND isset($_POST['motDePasse']) and isset($_POST['adresseMail']))
    		{
    	if ($_POST['ID'] != NULL AND $_POST['motDePasse'] != NULL AND $_POST['adresseMail'] != NULL)
    	{
    mysql_connect("localhost", "root", "");
    mysql_select_db("siteWeb");
     
    		$motDePasse = mysql_real_escape_string(htmlspecialchars($_POST['motDePasse']));
            $ID = mysql_real_escape_string(htmlspecialchars($_POST['ID']));
    		$adresseMail = mysql_real_escape_string(htmlspecialchars($_POST['adresseMail']));
     
    mysql_query("INSERT INTO registre VALUES('$ID', '$adresseMail', '$motDePasse')") or die (mysql_error()) ;
     
    mysql_close();
    	}
    		}
    			?>
     
    </p>	
     
     
    		<form action = "acceuil.php" method="post"> 
     
    	<a href ="enregistrer.htm">inscrivez vous</a>
    <p>
    	ID : <input type="text" name="ID " /><br />
    	motDePasse : 	  <input type="password" name="motDePasse"/><br />
    	adresse mail : <input type="text" name="adresseMail " /><br />
    		<input type ="submit" value = "enregistrer"/><br/>
    </p>
    		</form>
     
    <p>
    La page web s'affiche correctement, j'entre les informations dans le formulaire j'exécute, et je vais voir dans ma bdd (mysql : phpmyadmin), et je n'y trouve aucune nouvelle insertion !
    je dois realiser ce site web dans le cadre de ma formation.
    Si vous avez des suggestions je suis preneur .

    Merci .

  2. #2
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    affiche la requête SQL pour voir si elle est correcte

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Par défaut
    c'est a dire "affiche la requete SQl ?,
    si tu veux j'ai pas mis tout le code, j'ai aussi sa :

    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
    <?php
     
    mysql_connect("localhost", "root", "mysql");
    mysql_select_db("siteweb");
     
    $reponse = mysql_query("SELECT * FROM registre LIMIT 0,10") or die (mysql_error()) ;
    mysql_close();
    if(mysql_num_rows($reponse) == 0)
    {
    echo "il n'y a rien dans la bdd !<br/>";
    }
    else
    {
    while ($donnees = mysql_fetch_array($reponse))
    {
    ?>
    <p><?php echo $donnees['ID']; ?> : <?php echo $donnees['motDePasse']; ?></p>

    <?php
    }
    }
    ?>

    cela n'affiche rien du tout !

  4. #4
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    Citation Envoyé par nusdo Voir le message
    c'est a dire "affiche la requete SQl ?,
    affiche la requête d'insertion juste avant d'appeler la fonction "mysql_query" pour vérifier que la bonne requête est envoyée au serveur

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Par défaut
    salut, excuse moi de te répondre si tard, mais j'ai essayer de faire ce que tu m'a dit, est, ou je le fais mal ou cela ne change rien, rien ne s'affiche en plus du formulaire !

    ps : je suis encore débutant.

  6. #6
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    ça veut dire les tests des "if" ne sont pas à TRUE et donc la requête d'insertion ne se fait pas

    c'est peut-être à cause d'un champ de ton formulaire, tu as un espace en trop là çà la fin du nom :

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Par défaut
    je viens de vérifier si il n'y avait pas de ("motdepasse ") ce type d'erreur, et effectivement il y avais une erreur, cependant cela n'a pas résolu mon problème ! je comprend vraiment pas.
    De plus j'ai plusieurs nouvelle erreur maintenant me disant :

    Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in C:\Program Files\EasyPHP 3.0\www\siteCana\enregistrer.php on line 34.

    Warning: mysql_connect() [function.mysql-connect]: Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: NON) in C:\Program Files\EasyPHP 3.0\www\siteCana\enregistrer.php on line 31

    je penses qu'il y a des réglages de privilège a faire sur (phpmyadmin), mais je ne sais pas lesquelles.

  8. #8
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Warning: mysql_connect() [function.mysql-connect]: Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: NON) in C:\Program Files\EasyPHP 3.0\www\siteCana\enregistrer.php on line 31
    Depuis EasyPhp version 3.0 il y a un mot de passe qui est mysql.
    Donc rajoute le ici : $passwrd="mysql";

    Pourtant, tu l'avais bien juste avant avec :mysql_connect("localhost", "root", "mysql");

    Juste comme ça.
    Il est inutile de lancer plusieurs fois mysql_connect(), une fois suffit.
    Prends exemple dans la doc Php :

    Exemple avec mysql_connect


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $link = mysql_connect("localhost", "mysql_user", "mysql_password")
        or die("Impossible de se connecter : " . mysql_error());
    echo 'Connexion réussie';
    mysql_close($link);
    ?>
    Exemple avec mysql_connect en utilisant la syntaxe hostname:port
    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
    // on se connecte à example.com et au port 3307
    $link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
    if (!$link) {
        die('Connexion impossible : ' . mysql_error());
    }
    echo 'Connecté correctement';
    mysql_close($link);
     
    // on se connect à localhost au port 3307
    $link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
    if (!$link) {
        die('Connexion impossible : ' . mysql_error());
    }
    echo 'Connecté correctement';
    mysql_close($link);
    ?>
    Exemple avec mysql_connect en utilisant la syntaxe ":/path/to/socket"

    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
     
    <?php
    // on se connect à localhost et à l'interface de connexion, par exemple /tmp/mysql.sock
     
    //variante 1 : oublie de localhost
    $link = mysql_connect('/tmp/mysql', 'mysql_user', 'mysql_password');
    if (!$link) {
        die('Connexion impossible : ' . mysql_error());
    }
    echo 'Connecté correctement';
    mysql_close($link);
     
     
    // variante 2 : avec localhost
    $link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');
    if (!$link) {
        die('Connexion impossible : ' . mysql_error());
    }
    echo 'Connecté correctement';
    mysql_close($link);
    ?>

  9. #9
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Accès refusé pour l'utilisateur: 'root'@'@localhost'
    si je me rappel bien cet erreur est dû à easyphp, peux installer une version plus récente ?

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Par défaut
    merci beaucoup a vous tous, sa marche ! c'était belle et bien a cause du mot de passe 'mysql' , et d'un écart de guillemet ( "kjnojn "), vos réponse m'ont était très utile.

    merci beaucoup.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/04/2007, 11h44
  2. [MySQL] Savoir le nombre d'enregistrements dans la BDD
    Par achos dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 14/02/2007, 12h55
  3. probleme enregistrement dans base
    Par charlie2709 dans le forum PostgreSQL
    Réponses: 10
    Dernier message: 15/01/2007, 13h45
  4. [C#] Supprimer un enregistrement dans une BDD
    Par Filippo dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/07/2006, 12h02

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