Je n'arrive pas a faire ma page de connexion en php
Résolu
ScreamFR
Messages postés
73
Statut
Membre
-
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour , voila je vous explique , je souhaite faire une page de connexion pour un projet en , le petit problème c'est que quand j'ai crée mon programme en local sur le serveur WAMP ça marche , par contre quand j'ai essayer de le mettre sur 000webhost ( un hébergeur] ça ne marcher plus et m'afficher le problème


suivant :
Fatal error: Uncaught Error: Call to undefined function execute() in /storage/ssd3/413/12032413/public_html/darkweb/DarkAccueil/darkwebHHHHH.php:13 Stack trace: #0 {main} thrown in /storage/ssd3/413/12032413/public_html/darkweb/DarkAccueil/darkwebHHHHH.php on line 13
ne faite pas attention au nom du fichier c'est pour un projet !



Fatal error: Uncaught Error: Call to undefined function execute() in /storage/ssd3/413/12032413/public_html/darkweb/DarkAccueil/darkwebHHHHH.php:13 Stack trace: #0 {main} thrown in /storage/ssd3/413/12032413/public_html/darkweb/DarkAccueil/darkwebHHHHH.php on line 13
ne faite pas attention au nom du fichier c'est pour un projet !
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.
function execute () { //le code qu'elle est sensé exécuter }-
Re bonjour , desole mais je suis debutant , si j'ai bien compris je dois redefinir la fuction execute ,mais sur la mme ligne ? Tu pourrai si ca te derange pas de m'ecrire comment tu ferai avec mes valeur merci d'avance
- 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
-
-
Tu as oublié d'indiquer la variable $bdd...
$result->execute();
-
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<?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<?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 -
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 :
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
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/* 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 :')
<?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?
$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.

