Je n'arrive pas a faire ma page de connexion en php

Résolu/Fermé
ScreamFR Messages postés 73 Date d'inscription lundi 30 décembre 2019 Statut Membre Dernière intervention 19 mai 2022 - 30 déc. 2019 à 00:31
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 31 déc. 2019 à 05:07
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 !

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 
}
1
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
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > ScreamFR
30 déc. 2019 à 14:28
Regarde plutôt ma réponse...
hypo n'a pas bien vu de quoi il s'agissait....
Là tu essaies de faire appel à la méthode execute de ta connexion à la bdd.
https://www.php.net/manual/fr/mysqli-stmt.execute.php
0
ScreamFR Messages postés 73 Date d'inscription lundi 30 décembre 2019 Statut Membre Dernière intervention 19 mai 2022 3 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
Modifié le 30 déc. 2019 à 16:21
Je suis vraiment désole je suis pas doué , je ne c'est pas si c'est ca ? mais une nouvelle erreur est survenu.

0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > ScreamFR Messages postés 73 Date d'inscription lundi 30 décembre 2019 Statut Membre Dernière intervention 19 mai 2022
30 déc. 2019 à 16:28
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
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
Modifié le 30 déc. 2019 à 14:28
Tu as oublié d'indiquer la variable $bdd...
$result->execute();


1
ScreamFR Messages postés 73 Date d'inscription lundi 30 décembre 2019 Statut Membre Dernière intervention 19 mai 2022 3
30 déc. 2019 à 16:42
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>

1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
Modifié le 30 déc. 2019 à 17:48
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 !";
    }
}


?>
 



1
ScreamFR Messages postés 73 Date d'inscription lundi 30 décembre 2019 Statut Membre Dernière intervention 19 mai 2022 3
30 déc. 2019 à 17:23
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
1
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
30 déc. 2019 à 17:49
j'ai édité mon code
il a une erreur de copier/coller...
il faut avoir
$result = mysqli_query($bdd,$sql);
0
ScreamFR Messages postés 73 Date d'inscription lundi 30 décembre 2019 Statut Membre Dernière intervention 19 mai 2022 3
30 déc. 2019 à 19:50
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 ?
1
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
30 déc. 2019 à 21:32
Pour voir le format des données qui s'y trouvent.
Et dans l'idéal...pour que tu nous montres ce que ça donne....
0
ScreamFR Messages postés 73 Date d'inscription lundi 30 décembre 2019 Statut Membre Dernière intervention 19 mai 2022 3 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
Modifié le 30 déc. 2019 à 22:13
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
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > ScreamFR Messages postés 73 Date d'inscription lundi 30 décembre 2019 Statut Membre Dernière intervention 19 mai 2022
30 déc. 2019 à 22:13
Ok
Donc remplace le fetch par un mysqli_fetch_assoc
0
ScreamFR Messages postés 73 Date d'inscription lundi 30 décembre 2019 Statut Membre Dernière intervention 19 mai 2022 3 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
Modifié le 30 déc. 2019 à 22:17
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 !";
    }
}


?>

0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > ScreamFR Messages postés 73 Date d'inscription lundi 30 décembre 2019 Statut Membre Dernière intervention 19 mai 2022
30 déc. 2019 à 23:04
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;
0
ScreamFR Messages postés 73 Date d'inscription lundi 30 décembre 2019 Statut Membre Dernière intervention 19 mai 2022 3
30 déc. 2019 à 18:39
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
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
30 déc. 2019 à 19:12
Fais un print_r de ta variable $data
0
ScreamFR Messages postés 73 Date d'inscription lundi 30 décembre 2019 Statut Membre Dernière intervention 19 mai 2022 3
31 déc. 2019 à 00:13
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 !";
    }
}


?>

0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
31 déc. 2019 à 05:07
Faut retirer le print_r. Sinon ton instruction header ne marchera pas
0
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.
-1
ScreamFR Messages postés 73 Date d'inscription lundi 30 décembre 2019 Statut Membre Dernière intervention 19 mai 2022 3
Modifié le 30 déc. 2019 à 23:10
Si il y a une connexion regard le code ya un if au depart qui prouve la connexion a bdd ,je ne suis pas sur le serveur WAMP , le site et héberger
0