Je n'arrive pas a faire ma page de connexion en php
Résolu
ScreamFR
Messages postés
73
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
A voir également:
- Je n'arrive pas a faire ma page de connexion en php
- Gmail connexion - Guide
- Impossible de supprimer une page word - Guide
- Faire de google ma page d'accueil - Guide
- Site inaccessible n'autorise pas la connexion - Guide
- Numéro de page word - Guide
10 réponses
Bonjour,
Le code d'erreur te dis que la fonction execute() a la ligne 13 de darkwebHHHHH.php n'est pas définie. Tu n'as pas oublié d'inclure un fichier php dans lequel cette fonction apparait ? Sinon il te faudra la redéfinir.
Le code d'erreur te dis que la fonction execute() a la ligne 13 de darkwebHHHHH.php n'est pas définie. Tu n'as pas oublié d'inclure un fichier php dans lequel cette fonction apparait ? Sinon il te faudra la redéfinir.
function execute () { //le code qu'elle est sensé exécuter }
Déjà... merci de poster ton code correctement sur le forum !
pour ça il suffit d'utiliser les balises de code ( explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code )
Cela nous permet de faire des copier/coller en cas de besoin....
A savoir que la méthode rowCount n'existe pas en mysqli ...
Pour compter le nombre de lignes retournées par une requête en mysqli il faut utiliser https://www.php.net/manual/fr/mysqli-result.num-rows.php
J'ai l'impression que tu essaies de mélanger du code PDO et du MYSQLI .....
Idem pour la méthode fetchAll qui existe en pdo ... mais en mysqli c'est fetch_all
https://www.php.net/manual/fr/mysqli-result.fetch-all.php
pour ça il suffit d'utiliser les balises de code ( explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code )
Cela nous permet de faire des copier/coller en cas de besoin....
A savoir que la méthode rowCount n'existe pas en mysqli ...
Pour compter le nombre de lignes retournées par une requête en mysqli il faut utiliser https://www.php.net/manual/fr/mysqli-result.num-rows.php
J'ai l'impression que tu essaies de mélanger du code PDO et du MYSQLI .....
Idem pour la méthode fetchAll qui existe en pdo ... mais en mysqli c'est fetch_all
https://www.php.net/manual/fr/mysqli-result.fetch-all.php
je suis totalement perdu , pourrai vous m’écrire le code que vous aurez fait s'il vous plais !
ça fait 3 jours de je cherche
ça fait 3 jours de je cherche
<?php session_start(); if (isset($_POST['BtConnect'])){ $UsernameConnect = $_POST['UsernameConnect']; $PasswordConnect = $_POST['PasswordConnect']; $bdd = mysqli_connect("localhost","id12032413_screamfr","bdd_orlando","id12032413_orlando_bdd"); $sql = "SELECT * FROM users WHERE username = '$UsernameConnect' "; $sql->execute(); $sql->store_result(); $rows = $sql->num_rows; if ($row){ $data = $sql->mysqli_stmt_fetch (); if(password_verify($PasswordConnect, $data[0]['password'])){ $_SESSION['username'] = $UsernameConnect; header('Location: ../Hub/Hub.php'); } } else{ echo "Identifiant incorrect !"; } } ?> <html> <head> <meta charset="utf-8"> <title>DarkWed</title> <link rel="stylesheet" href="css/style.css"> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.css"> </head> <body> <img class="background" src="img/imgback5.jpg"> <img class="logo" src="img/logo.png"> <section> <div class="Interface"> <p class="Title">DarkWeb</p> </div> <div class="MidInterface"> <form method="POST" action=""> <input name="UsernameConnect" class="TxtUsername" placeholder="Identifiants" type="text" required> <span class="incompletU">Champs incomplet</span> <input name="PasswordConnect" class="TxtPassword" placeholder="clé d'activation" type="password" required> <span class="incompletP">Champs incomplet</span> <div class="BtV"> <input class="Bt" type="submit" value="Connexion" name="BtConnect"> </div> </form> </div> </section> </body> </html>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Déjà,
Je t'invite à lire ceci : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Je t'invite à lire ceci : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
<?php session_start(); //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //connexion à la bdd $bdd = mysqli_connect("localhost","id12032413_screamfr","bdd_orlando","id12032413_orlando_bdd"); if (mysqli_connect_errno()) { echo "Souci de connexion à la bdd : " . mysqli_connect_error(); exit(); } if (isset($_POST['BtConnect'])){ $UsernameConnect = !empty($_POST['UsernameConnect']) ? $_POST['UsernameConnect']: NULL; $PasswordConnect = !empty($_POST['PasswordConnect']) ? $_POST['PasswordConnect']: NULL; $sql = "SELECT * FROM users WHERE username = '$UsernameConnect' "; $result = mysqli_query($bdd,$sql); $rows=mysqli_num_rows($result); if ($rows==1){ $data = mysqli_fetch_row($result); /* Fermeture de la connexion à la bdd */ mysqli_close($bdd); if(password_verify($PasswordConnect, $data['password'])){ $_SESSION['username'] = $UsernameConnect; //header('Location: ../Hub/Hub.php'); //le temps de faire tes tests pour voir les éventuelles erreurs on laisse cette ligne en commentaire. exit; //toujours mettre un exit après une redirection. } } else{ echo "Identifiant incorrect !"; } } ?>
Je vien de tester ton code mais ca ne marche toujours pas.
Il y a 2 erreurs qui s'affiche :
- Warning: mysqli_query() expects at least 2 parameters, 1 given in /storage/ssd3/413/12032413/public_html/darkweb/DarkAccueil/darkwebHHHHH.php on line 22
et
- Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in /storage/ssd3/413/12032413/public_html/darkweb/DarkAccueil/darkwebHHHHH.php on line 24
Il y a 2 erreurs qui s'affiche :
- Warning: mysqli_query() expects at least 2 parameters, 1 given in /storage/ssd3/413/12032413/public_html/darkweb/DarkAccueil/darkwebHHHHH.php on line 22
et
- Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in /storage/ssd3/413/12032413/public_html/darkweb/DarkAccueil/darkwebHHHHH.php on line 24
Je les fait ca ma afficher les mot de passe et les identifiants que j'ai entre dans ma base de donne , je peut savoir pourquoi vous m'avez demander de faire ca ?
ah ok , mais ça ne règles pas le problème , et si tu veut savoir ca ma afficher ceci :
Certes le message d'erreur disparaît mais ca ne m’amène toujours pas dans la page espace membre ( et oui j'ai pense à enlever les 2 // devant header(location ...);
username = TEST
password = 1234
Array ( [0] => 1 [1] => TEST [2] => 1234 )
Certes le message d'erreur disparaît mais ca ne m’amène toujours pas dans la page espace membre ( et oui j'ai pense à enlever les 2 // devant header(location ...);
username = TEST
password = 1234
ca n'a rien changer mis a par que maintenant ca un truc qui c ajouter par rapport a la bdd le id et qql element en plus
si tu veut avoir tout sous les yeux tien le code complet
Array ( [id] => 1 [username] => TEST [password] => 1234 )
si tu veut avoir tout sous les yeux tien le code complet
<?php session_start(); //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //connexion à la bdd $bdd = mysqli_connect("localhost","id12032413_screamfr","bdd_orlando","id12032413_orlando_bdd"); if (mysqli_connect_errno()) { echo "Souci de connexion à la bdd : " . mysqli_connect_error(); exit(); } if (isset($_POST['BtConnect'])){ $UsernameConnect = !empty($_POST['UsernameConnect']) ? $_POST['UsernameConnect']: NULL; $PasswordConnect = !empty($_POST['PasswordConnect']) ? $_POST['PasswordConnect']: NULL; $sql = "SELECT * FROM users WHERE username = '$UsernameConnect' "; $result = mysqli_query($bdd,$sql); $rows=mysqli_num_rows($result); if ($rows==1){ $data = mysqli_fetch_assoc($result); /* Fermeture de la connexion à la bdd */ mysqli_close($bdd); if(password_verify($PasswordConnect, Print_r($data)['password'])){ $_SESSION['username'] = $UsernameConnect; header('Location: ../Hub/Hub.php'); //le temps de faire tes tests pour voir les éventuelles erreurs on laisse cette ligne en commentaire. exit; //toujours mettre un exit après une redirection. } } else{ echo "Identifiant incorrect !"; } } ?>
Oulaaa....
Donc... remplaces
par
Donc... remplaces
/* Fermeture de la connexion à la bdd */ mysqli_close($bdd); if(password_verify($PasswordConnect, Print_r($data)['password'])){ $_SESSION['username'] = $UsernameConnect;
par
/* Fermeture de la connexion à la bdd */ mysqli_close($bdd); print_r($data); //ici..ça sert à debuguer... tu pourras le retirer ensuite if(password_verify($PasswordConnect, $data['password'])){ // $data['password'] permet de lire la valeur du password de ta variable $data $_SESSION['username'] = $UsernameConnect;
J'ai fait modifier l'erreur et un nouveau problème surgit encore une fois :')
et le probleme est :
- Notice: Undefined index: password in /storage/ssd3/413/12032413/public_html/darkweb/DarkAccueil/darkwebHHHHH.php on line 32
<?php session_start(); //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //connexion à la bdd $bdd = mysqli_connect("localhost","id12032413_screamfr","bdd_orlando","id12032413_orlando_bdd"); if (mysqli_connect_errno()) { echo "Souci de connexion à la bdd : " . mysqli_connect_error(); exit(); } if (isset($_POST['BtConnect'])){ $UsernameConnect = !empty($_POST['UsernameConnect']) ? $_POST['UsernameConnect']: NULL; $PasswordConnect = !empty($_POST['PasswordConnect']) ? $_POST['PasswordConnect']: NULL; $sql = "SELECT * FROM users WHERE username = '$UsernameConnect' "; $result = mysqli_query($bdd,$sql); $rows=mysqli_num_rows($result); if ($rows==1){ $data = mysqli_fetch_row($result); /* Fermeture de la connexion à la bdd */ mysqli_close($bdd); if(password_verify($PasswordConnect, $data['password'])){ $_SESSION['username'] = $UsernameConnect; //header('Location: ../Hub/Hub.php'); //le temps de faire tes tests pour voir les éventuelles erreurs on laisse cette ligne en commentaire. exit; //toujours mettre un exit après une redirection. } } else{ echo "Identifiant incorrect !"; } } ?>
et le probleme est :
- Notice: Undefined index: password in /storage/ssd3/413/12032413/public_html/darkweb/DarkAccueil/darkwebHHHHH.php on line 32
Jordane45 , j'ai fait ce que vous m'avez dis de faire mais ça ne change rien le bon cote c'est que il n'y a plus de message d'erreur mais par contre la mauvaise nouvelle c'est que il ne se passe rien mis a par que quand j'appui sur le bouton la page s'actualise quand les identifiants sont bon et fait apparaître le message identifiants incorrect quand les identifiants ne correspond pas
<?php session_start(); //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //connexion à la bdd $bdd = mysqli_connect("localhost","id12032413_screamfr","bdd_orlando","id12032413_orlando_bdd"); if (mysqli_connect_errno()) { echo "Souci de connexion à la bdd : " . mysqli_connect_error(); exit(); } if (isset($_POST['BtConnect'])){ $UsernameConnect = !empty($_POST['UsernameConnect']) ? $_POST['UsernameConnect']: NULL; $PasswordConnect = !empty($_POST['PasswordConnect']) ? $_POST['PasswordConnect']: NULL; $sql = "SELECT * FROM users WHERE username = '$UsernameConnect' "; $result = mysqli_query($bdd,$sql); $rows=mysqli_num_rows($result); if ($rows==1){ $data = mysqli_fetch_assoc($result); /* Fermeture de la connexion à la bdd */ mysqli_close($bdd); print_r($data); //ici..ça sert à debuguer... tu pourras le retirer ensuite if(password_verify($PasswordConnect, $data['password'])){ // $data['password'] permet de lire la valeur du password de ta variable $data $_SESSION['username'] = $UsernameConnect; header('Location: ../Hub/Hub.php'); //le temps de faire tes tests pour voir les éventuelles erreurs on laisse cette ligne en commentaire. exit; //toujours mettre un exit après une redirection. } } else{ echo "Identifiant incorrect !"; } } ?>
Salut
euh vous avez vu qu'il essaie de se connecter au localhost?
Avec WAMP on est en local donc il sait ou trouver localhost, par défaut les identifiants et mots de passe sont nuls.
Pour se connecter à la base de donnée distante il faut utiliser les identifiants de connexion: adresse du serveur de BDD, identifiant BDD, mot de passe BDD.
Simplement utilisez la doc si vous ne savez pas:
https://www.php.net/manual/fr/function.mysqli-connect.php
Pour la fonction execute je ne sais pas mais ça ne pourra pas marcher si il n'y a pas de connexion à la base.
euh vous avez vu qu'il essaie de se connecter au localhost?
$bdd = mysqli_connect("localhost","id12032413_screamfr","bdd_orlando","id12032413_orlando_bdd");
Avec WAMP on est en local donc il sait ou trouver localhost, par défaut les identifiants et mots de passe sont nuls.
Pour se connecter à la base de donnée distante il faut utiliser les identifiants de connexion: adresse du serveur de BDD, identifiant BDD, mot de passe BDD.
Simplement utilisez la doc si vous ne savez pas:
https://www.php.net/manual/fr/function.mysqli-connect.php
Pour la fonction execute je ne sais pas mais ça ne pourra pas marcher si il n'y a pas de connexion à la base.