Problème phpmyyadmin
Résolu/Fermé
Jwandle
Messages postés
52
Date d'inscription
samedi 22 août 2020
Statut
Membre
Dernière intervention
15 octobre 2020
-
Modifié le 5 sept. 2020 à 09:32
jordane45 Messages postés 38312 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 - 8 sept. 2020 à 21:23
jordane45 Messages postés 38312 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 - 8 sept. 2020 à 21:23
8 réponses
jordane45
Messages postés
38312
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
3 sept. 2020 à 17:36
3 sept. 2020 à 17:36
Bonjour,
Déjà... non... ce n'est pas un souci avec phpmyadmin.
Phpmyadmin est "juste" un "logiciel" qui te permet d'administrer tes bases de données.
Base de données... de type : mysql.
Une fois cette parenthèse terminée... ton souci vient donc de ton code php.
En effet, pour établir la connexion à ta bdd et faire tes requêtes... tu as utilisé l'ancienne extension mysql_*
Sauf que désormais elle est obsolète !
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
Tu dois modifier ton code en utilisant au choix mysqli ou PDO (que je préfère).
par exemple, en PDO
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
.
Je note également que tu as utilisé le MD5 pour "crypter" ( hasher...) tes mots de passe ...... ça ne se fait plus !
A la place, tourne toi vers la fonction password_hash et password_verify
Déjà... non... ce n'est pas un souci avec phpmyadmin.
Phpmyadmin est "juste" un "logiciel" qui te permet d'administrer tes bases de données.
Base de données... de type : mysql.
Une fois cette parenthèse terminée... ton souci vient donc de ton code php.
En effet, pour établir la connexion à ta bdd et faire tes requêtes... tu as utilisé l'ancienne extension mysql_*
Sauf que désormais elle est obsolète !
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
Tu dois modifier ton code en utilisant au choix mysqli ou PDO (que je préfère).
par exemple, en PDO
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
.
Je note également que tu as utilisé le MD5 pour "crypter" ( hasher...) tes mots de passe ...... ça ne se fait plus !
A la place, tourne toi vers la fonction password_hash et password_verify
Jwandle
Messages postés
52
Date d'inscription
samedi 22 août 2020
Statut
Membre
Dernière intervention
15 octobre 2020
6
Modifié le 5 sept. 2020 à 09:33
Modifié le 5 sept. 2020 à 09:33
Salut!voila, j'ai modifier mon code mais mon code erreur est le suivant:
Erreur : SQLSTATE[HY000] [1049] Unknown database 'contact'
N° : 1049Veuillez saisir tous les champs
(la 1049 est normale)
mon code html
code php
J'ai bien créer une Pdo, mais le message d'erreur dit que base de données non reconnu, donc ou est stocker la base de donnée...
Le message d'erreur est:
Notice: Undefined variable: db in C:\laragon\www\Test\code.php on line 35
Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\laragon\www\Test\code.php:35 Stack trace: #0 {main} thrown in C:\laragon\www\Test\code.php on line 35
la 1049 est normale...
Merci!
--
Erreur : SQLSTATE[HY000] [1049] Unknown database 'contact'
N° : 1049Veuillez saisir tous les champs
(la 1049 est normale)
mon code html
<form action="code.php" method="POST" class="reg-form input-blocks clearfix" id="reg-form"> <div class="clearfix"> <div class="grid_4 alpha mobile-nomargin"> <!-- First Name --> <div class="field clearfix"> <label for="">Nom </label> <input type="text" name="nom" id="nom"> <span class="error-message"></span> </div> <!-- First Name / End --> <!-- Last Name --> <div class="field clearfix"> <label for="">Prenom </label> <input type="text" name="prenom" id="prenom"> <span class="error-message"></span> </div> <!-- Last Name / End --> <!-- Address --> <div class="field clearfix"> <label for="">Adresse </label> <input type="text" name="adresse" id="adresse" placeholder=""> <span class="error-message"></span> </div> <!-- Address / End --> <!-- City --> <div class="field clearfix"> <label for="">Ville </label> <input type="text" name="city" id="city" placeholder=""> <span class="error-message"></span> </div> <!-- City / End --> <!-- Email --> <div class="field clearfix"> <label for="">Email </label> <input type="email" name="email" id="email"> <span class="error-message"></span> </div> <!-- Email / End --> <!-- Telephone 1 --> <div class="field clearfix"> <label for="">Telephone 1 </label> <input type="text" name="tel1" id="tel1" placeholder=""> <span class="error-message"></span> </div> <!-- Telephone 1 / End --> <!-- Telephone 2 --> <div class="field clearfix"> <label for="">Telephone 2 </label> <input type="text" name="tel2" id="tel2" placeholder=""> <span class="error-message"></span> </div> <!-- Telephone 2 / End --> <!-- Password --> <div class="field clearfix"> <label for="">Mots de Passe </label> <input type="password" name="password" id="password"> <span class="error-message"></span> </div> <!-- Password / End --> <!-- Re-Password --> <div class="field clearfix"> <label for="">Retapez votre Mot de Passe </label> <input type="password" name="repassword" id="repassword"> <span class="error-message"></span> </div> <!-- Re-Password / End --> <!-- -child --> <div class="field clearfix"> <label for="">Nombre d'enfant(s) </label> <input type="text" name="child" id="child"> <span class="error-message"></span> </div> <!-- -child / End --> <!-- -age --> <div class="field clearfix"> <label for="">Age du ou des Enfants </label> <input type="text" name="age" id="age" placeholder="Exemple : 10 ans, 4 ans, 6mois"> <span class="error-message"></span> </div> <!-- -age / End --> <div class="field clearfix"> <b><label for="">Information Suplemantaire *: </label></b> <br/><br/> <textarea name="info" id="info" style="width:200px;height:120px;" placeholder="Vos information"></textarea> <span class="error-message"></span> </div> </div> </div> <input type="submit" value="S'inscrire!" class="button__large" name="submit" id="submit"> </form>
code php
<?php try{ $db = new PDO('mysql:host=localhost;dbname=contact', 'root', ''); } catch(Exception $e) { echo 'Erreur : '.$e->getMessage().'<br />'; echo 'N° : '.$e->getCode(); } $nom = $_POST['nom']; $prenom = $_POST['prenom']; $adresse = $_POST['adresse']; $city = $_POST['city']; $email = $_POST['email']; $tel1 = $_POST['tel1']; $tel2 = $_POST['tel2']; $password = $_POST['password']; $repassword= $_POST['repassword']; $child = $_POST['child']; $age = $_POST['age']; $info = $_POST['info']; if(isset($_POST['nom'],$_POST['prenom'],$_POST['adresse'],$_POST['city'],$_POST['email'],$_POST['tel1'],$_POST['tel2'],$_POST['password'],$_POST['repassword'],$_POST['child'],$_POST['age'],$_POST['info'])) { if($nom&&$prenom&&$adresse&&$city&&$email&&$tel1&&$password&&$repassword&&$child&&$age){ if($password==$repassword){ $query = $db->prepare( 'INSERT INTO users ( id,nom,prenom,adresse,ville,email,telephone1,telephone2,password,child,age,info ) VALUES (NULL, :nom, :prenom, :adresse, :city, :email, :tel1, :tel2, :password, :child, :info ' ); $query->bindValue('nom', $_POST['nom'], PDO::PARAM_STR); $query->bindValue('prenom', $_POST['prenom'], PDO::PARAM_STR); $query->bindValue('adresse', $_POST['adresse'], PDO::PARAM_STR); $query->bindValue('city', $_POST['city'], PDO::PARAM_STR); $query->bindValue('email', $_POST['email'], PDO::PARAM_STR); $query->bindValue('tel1', $_POST['tel1'], PDO::PARAM_STR); $query->bindValue('tel2', $_POST['tel2'], PDO::PARAM_STR); $query->bindValue('password', $_POST['password'], PDO::PARAM_STR); $query->bindValue('child', $_POST['child'], PDO::PARAM_STR); $query->bindValue('info', $_POST['info'], PDO::PARAM_STR); $query->execute(); }else echo"les 2 password doivent etre identique"; } else echo"Veuillez saisir tous les champs"; } ?>
J'ai bien créer une Pdo, mais le message d'erreur dit que base de données non reconnu, donc ou est stocker la base de donnée...
Le message d'erreur est:
Notice: Undefined variable: db in C:\laragon\www\Test\code.php on line 35
Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\laragon\www\Test\code.php:35 Stack trace: #0 {main} thrown in C:\laragon\www\Test\code.php on line 35
la 1049 est normale...
Merci!
--
jordane45
Messages postés
38312
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
3 sept. 2020 à 18:05
3 sept. 2020 à 18:05
Déjà.. le message d'erreur indique
cela signifie donc... ben que tu n'as aucune base de données nommée 'contact' .....
l'as tu créées dans ta bdd ?? (ça, tu peux le faire via phpmyadmin... )
Dans ton code précédent.. la bdd se nommait membre ...
Je suppose donc que tu as copié/collé bêtement un code trouvé sur le net.... sans chercher à le comprendre !!
Erreur : SQLSTATE[HY000] [1049] Unknown database 'contact'
cela signifie donc... ben que tu n'as aucune base de données nommée 'contact' .....
l'as tu créées dans ta bdd ?? (ça, tu peux le faire via phpmyadmin... )
Dans ton code précédent.. la bdd se nommait membre ...
Je suppose donc que tu as copié/collé bêtement un code trouvé sur le net.... sans chercher à le comprendre !!
Jwandle
Messages postés
52
Date d'inscription
samedi 22 août 2020
Statut
Membre
Dernière intervention
15 octobre 2020
6
3 sept. 2020 à 18:09
3 sept. 2020 à 18:09
Salut, Si, je l'ai fait moi même, mais sauf que je l'ai fait vite fait...
Mais j'avais regardé un tuto, mais c'était pas marqué "créer sa bdd" ducoup toute les erreurs viennent de ca... Mais la bdd, Ou peut on la créer et comment???
Merci!
Mais j'avais regardé un tuto, mais c'était pas marqué "créer sa bdd" ducoup toute les erreurs viennent de ca... Mais la bdd, Ou peut on la créer et comment???
Merci!
jordane45
Messages postés
38312
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
3 sept. 2020 à 19:03
3 sept. 2020 à 19:03
Vu tes questions... Tu ferais mieux de commencer par suivre des tutos...
Jwandle
Messages postés
52
Date d'inscription
samedi 22 août 2020
Statut
Membre
Dernière intervention
15 octobre 2020
6
3 sept. 2020 à 19:22
3 sept. 2020 à 19:22
Voila, dbb créer...
CREATE DATABASE contact CHARACTER SET 'utf8';
maintenant, l'erreur c'est:
Parse error: syntax error, unexpected 'DATABASE' (T_STRING) in C:\laragon\www\Test\code.php on line 2
...
CREATE DATABASE contact CHARACTER SET 'utf8';
maintenant, l'erreur c'est:
Parse error: syntax error, unexpected 'DATABASE' (T_STRING) in C:\laragon\www\Test\code.php on line 2
...
jordane45
Messages postés
38312
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
3 sept. 2020 à 20:52
3 sept. 2020 à 20:52
Montre ton code.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Jwandle
Messages postés
52
Date d'inscription
samedi 22 août 2020
Statut
Membre
Dernière intervention
15 octobre 2020
6
Modifié le 5 sept. 2020 à 09:34
Modifié le 5 sept. 2020 à 09:34
Désolé d'avoir répondu si tard, mais j'avais école...
Voici le code:
Merci!
Voici le code:
<?php CREATE DATABASE contact CHARACTER SET 'utf8'; try{ $db = new PDO('mysql:host=localhost;dbname=contact', 'root', ''); } catch(Exception $e) { echo 'Erreur : '.$e->getMessage().'<br />'; echo 'N° : '.$e->getCode(); } $nom = $_POST['nom']; $prenom = $_POST['prenom']; $adresse = $_POST['adresse']; $city = $_POST['city']; $email = $_POST['email']; $tel1 = $_POST['tel1']; $tel2 = $_POST['tel2']; $password = $_POST['password']; $repassword= $_POST['repassword']; $child = $_POST['child']; $age = $_POST['age']; $info = $_POST['info']; if(isset($_POST['nom'],$_POST['prenom'],$_POST['adresse'],$_POST['city'],$_POST['email'],$_POST['tel1'],$_POST['tel2'],$_POST['password'],$_POST['repassword'],$_POST['child'],$_POST['age'],$_POST['info'])) { if($nom&&$prenom&&$adresse&&$city&&$email&&$tel1&&$password&&$repassword&&$child&&$age){ if($password==$repassword){ $query = $db->prepare( 'INSERT INTO users ( id,nom,prenom,adresse,ville,email,telephone1,telephone2,password,child,age,info ) VALUES (NULL, :nom, :prenom, :adresse, :city, :email, :tel1, :tel2, :password, :child, :info ' ); $query->bindValue('nom', $_POST['nom'], PDO::PARAM_STR); $query->bindValue('prenom', $_POST['prenom'], PDO::PARAM_STR); $query->bindValue('adresse', $_POST['adresse'], PDO::PARAM_STR); $query->bindValue('city', $_POST['city'], PDO::PARAM_STR); $query->bindValue('email', $_POST['email'], PDO::PARAM_STR); $query->bindValue('tel1', $_POST['tel1'], PDO::PARAM_STR); $query->bindValue('tel2', $_POST['tel2'], PDO::PARAM_STR); $query->bindValue('password', $_POST['password'], PDO::PARAM_STR); $query->bindValue('child', $_POST['child'], PDO::PARAM_STR); $query->bindValue('info', $_POST['info'], PDO::PARAM_STR); $query->execute(); }else echo"les 2 password doivent etre identique"; } else echo"Veuillez saisir tous les champs"; } ?>
Merci!
jordane45
Messages postés
38312
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
4 sept. 2020 à 22:12
4 sept. 2020 à 22:12
Tu ne peux pas créer ta base de donnée à l'arrache juste en écrivant une ligne de code dans ton PHP...
Cette ligne de code est à exécuter soit via une requête SQL en mode console soit en utilisant l'interface de phpMyAdmin.
de plus la création de la base elle-même ne suffit pas il faut également créer la table qui correspond en définissant les champs nécessaire
je suis désolé d'insister là-dessus mais essayer d'écrire du code PHP sans avoir la moindre connaissance du fonctionnement d'une base de données est strictement inutile...
Commence par te former sur l'utilisation d'une base de données l'utilisation du logiciel phpMyAdmin
comment on concoit une base de données ... il faut te former pour ça sur les bases de données relationnelles...
Tu essaies de sauter trop d'étapes ....tu ne pourras jamais t'en sortir comme ça
Cette ligne de code est à exécuter soit via une requête SQL en mode console soit en utilisant l'interface de phpMyAdmin.
de plus la création de la base elle-même ne suffit pas il faut également créer la table qui correspond en définissant les champs nécessaire
je suis désolé d'insister là-dessus mais essayer d'écrire du code PHP sans avoir la moindre connaissance du fonctionnement d'une base de données est strictement inutile...
Commence par te former sur l'utilisation d'une base de données l'utilisation du logiciel phpMyAdmin
comment on concoit une base de données ... il faut te former pour ça sur les bases de données relationnelles...
Tu essaies de sauter trop d'étapes ....tu ne pourras jamais t'en sortir comme ça
Jwandle
Messages postés
52
Date d'inscription
samedi 22 août 2020
Statut
Membre
Dernière intervention
15 octobre 2020
6
5 sept. 2020 à 09:05
5 sept. 2020 à 09:05
Ok!
Ducoup, tu sais comment installer phpMyAdmin dans laragon?
Ducoup, tu sais comment installer phpMyAdmin dans laragon?
jordane45
Messages postés
38312
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
Modifié le 5 sept. 2020 à 09:33
Modifié le 5 sept. 2020 à 09:33
Dans laragon tu as déjà un logiciel qui permet d'accéder aux bases de données il s'appelle heidisql.
Jwandle
Messages postés
52
Date d'inscription
samedi 22 août 2020
Statut
Membre
Dernière intervention
15 octobre 2020
6
5 sept. 2020 à 20:57
5 sept. 2020 à 20:57
Salut!merci de ta réponse! c'est bon, ma base de donnée "contact" est créer, mais après remplir ce formulaire, ca me mais sa...
avec ce code tout en bas: USE `contact`;
/* Erreur SQL (1049) : Unknown database 'contact' */
SHOW /*!50002 GLOBAL */ STATUS;
SHOW FULL PROCESSLIST;
SHOW /*!50002 GLOBAL */ STATUS LIKE 'Com\_%';
.
Mais quand je rempli le formulaire ca me met l'erreur la haut ...
Parse error: syntax error, unexpected 'DATABASE' (T_STRING) in C:\laragon\www\Test\code.php on line 2
avec ce code tout en bas: USE `contact`;
/* Erreur SQL (1049) : Unknown database 'contact' */
SHOW /*!50002 GLOBAL */ STATUS;
SHOW FULL PROCESSLIST;
SHOW /*!50002 GLOBAL */ STATUS LIKE 'Com\_%';
.
Mais quand je rempli le formulaire ca me met l'erreur la haut ...
jordane45
Messages postés
38312
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
5 sept. 2020 à 21:48
5 sept. 2020 à 21:48
Il faut tout simplement que tu supprime la ligne 2 qui n'a rien à faire ici
Jwandle
Messages postés
52
Date d'inscription
samedi 22 août 2020
Statut
Membre
Dernière intervention
15 octobre 2020
6
Modifié le 6 sept. 2020 à 08:24
Modifié le 6 sept. 2020 à 08:24
J'ai supprimé la ligne 2, mais maintenant ca me mais ca:
ducoup, ca ne cherche pas dans heidisql la base de donnée "contact" automatiquement?
(ma bdd est créer dans heidisql)
Erreur : SQLSTATE[HY000] [1049] Unknown database 'contact'
N° : 1049
Notice: Undefined variable: db in C:\laragon\www\Test\code.php on line 38
Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\laragon\www\Test\code.php:38 Stack trace: #0 {main} thrown in C:\laragon\www\Test\code.php on line 38
ducoup, ca ne cherche pas dans heidisql la base de donnée "contact" automatiquement?
(ma bdd est créer dans heidisql)
jordane45
Messages postés
38312
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
8 sept. 2020 à 21:23
8 sept. 2020 à 21:23
Question...
As-tu créer la table user dans ta base de données contact ?
Seconde question...
Depuis l'interface heidisql, fais un clic droit sur la base de données contact et tu choisis dans le menu exporter.
renseigne les différents champs de façon à générer un export de ta base de données... École nous c'est export dans la discussion.
As-tu créer la table user dans ta base de données contact ?
Seconde question...
Depuis l'interface heidisql, fais un clic droit sur la base de données contact et tu choisis dans le menu exporter.
renseigne les différents champs de façon à générer un export de ta base de données... École nous c'est export dans la discussion.