Fonction php

Résolu
tsobns Messages postés 33 Statut Membre -  
tsobns Messages postés 33 Statut Membre -
Bonjour,
je voulais savooir si quelqqu'un pouvait m'aider car je suis en train de faire un projet de bataille navale et je voulais saoir si quelqu'un pouvait m'aider a faire la fonction conexion d'un joueurs a savoir si un joueur a deja son pseudo et mot de passe qu'il puisse se connecter .

merci

 
function connexion_joueur ()
{

// On se connecte à MySQL
include("connectionBD.php");

/* s'il n'y a qu'un seul joueur, on n'organise aucun match */
if (count($jpseudo) <= 1)
return array();

//On recupere le contenu de la table pour verifier si le pseudo et le mot de passe appartiennent a la base de donnee

$sql="SELECT pseudo, pwdH FROM Joueur ";



3 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,
    Avant tout ....
    que contient le fichier connectionBD.php ?
    (tu utilises PDO ou mysqli ?? )

    Ensuite... comment (et à quel endroit...) appelles tu la fonction connexion_joueur() ?

    Puis pour finir ... que vient faire, dans ce code (de connexion?), les lignes suivantes :
      /* s'il n'y a qu'un seul joueur, on n'organise aucun match */
        if (count($jpseudo) <= 1)
            return array();
    


    0
    1. tsobns Messages postés 33 Statut Membre
       
      Bonjiur j'utilise mysql
      En faite je l'appel des le debut au cas ou mon joueurs a deja un compte sinon je le renvoie sur la page membre
      Ces lignes sont mal faites autant pour moi ;)
      0
  2. Technoinfo Messages postés 403 Statut Membre 172
     
    Un simple formulaire:
    <?php 
    if(isset($_POST['click'])){//Si le bouton est cliqué.
    
    // Hachage du mot de passe
    $pass_hache = sha1($_POST['pass']);
    
    // Vérification des identifiants
    $req = $bdd->prepare('SELECT id FROM membres WHERE pseudo = :pseudo AND pass = :pass');
    $req->execute(array(
        'pseudo' => $pseudo,
        'pass' => $pass_hache));
    
    $resultat = $req->fetch();
    
    if (!$resultat)
    {
        echo 'Mauvais identifiant ou mot de passe !';
    }
    else
    {
        session_start();
        $_SESSION['id'] = $resultat['id'];
        $_SESSION['pseudo'] = $pseudo;
        echo 'Vous êtes connecté !';
    }
    }

    Tu as juste a réaliser le html,je peux t'aider a le faire(Je suis programmeur amateur).
    Et n'oublie pas de rajouter une ligne de connexion pdo.

    Linux+Windows=Dual boot
    0
    1. Technoinfo Messages postés 403 Statut Membre 172
       
      Voila pour le html:
      <form method="post">
      <input type="text" name="pseudo" placeholder="Votre pseudo">
      <input type="password" name="pass" placeholder="Votre mot de passe">
      <input type="submit" name="click"value="Se Connecter !">
      </form>
      
      
      0
      1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > Technoinfo Messages postés 403 Statut Membre
         
        Bonjour,

        Attention ... l'utilisateur nous a dit :

        Bonjiur j'utilise mysql


        ... donc visiblement pas PDO (même si c'est ce qu'il faudrait pourtant utiliser)...

        De plus... penses à utiliser des blocs TRY/CATCH dans tes requêtes pour intercepter les éventuelles erreurs ...
        Voir ici pour plus d'infos : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

        Pour finir ... le SHA1 n'est plus recommandé pour crypter les password ...
        Il faut désormais utiliser password_verify
        par exemple : https://forums.commentcamarche.net/forum/affich-34340900-login-password-php#7
        0
      2. tsobns Messages postés 33 Statut Membre > Technoinfo Messages postés 403 Statut Membre
         
        superrr merciii mais j'ai un souci
        <?php




        // On se connecte à MySQL
        include("init.php");


        //On recupere le contenu de la table pour verifier si le pseudo et le mot de passe appartiennent a la base de donnee

        $sql="SELECT pseudo, pwdH FROM Joueur";
        ini_set('display_errors', 1);

        echo "connectionJ.php";
        // On envoie la requète
        $results = mysqli_query($connexion, $sql) or die( mysqli_error() ) ;
        if($results)
        {
        $row = mysqli_fetch_array($results);
        //affichage des résultats, pour savoir si l'insertion a marchée:

        while ($row = mysqli_fetch_array($results)) {
        if ($row ["pseudo"] == $_POST["pseudo_input"] )
        {
        if ($row ["pwdH"] == sha1($_POST["pwd"])
        {
        session_start();
        $_SESSION['pseudo'] = $pseudo;
        echo 'Vous êtes connecté !';



        }
        }
        else
        {
        echo "le pseudo et le mot de passe n'existent pas ";
        }

        ce code ne m'affiche rien
        0
  3. Felice_ Messages postés 271 Statut Membre 11
     
    Bonjour tsobns,

    Il faut que tu cherches en premier temps dans quels blocs ça ne passe pas… :

    <?php
    
    // On se connecte à MySQL
    include("init.php");
    
    //On recupere le contenu de la table pour verifier si le pseudo et le mot de passe appartiennent a la base de donnee
    
    $sql="SELECT pseudo, pwdH FROM Joueur";
    
    ini_set('display_errors', 1);
    
    echo "connectionJ.php";
    
    // On envoie la requète
    $results = mysqli_query($connexion, $sql) or die(mysqli_error());
    
    if($results) {
        echo 'Résultat ?';
    
        $row = mysqli_fetch_array($results);
        //affichage des résultats, pour savoir si l'insertion a marchée:
    
        while ($row = mysqli_fetch_array($results)) {
            echo 'Boucle ?';
            
            if ($row ["pseudo"] == $_POST["pseudo_input"] ) {
                if ($row ["pwdH"] == sha1($_POST["pwd"]) {
                    session_start();
                    $_SESSION['pseudo'] = $pseudo;
                    echo 'Vous êtes connecté !';
                } else {
                    echo 'Mot de passe ?';
                }
            } else {
                echo "le pseudo et le mot de passe n'existent pas ";
            }
        }
    }
    
    ?>
    0
    1. tsobns Messages postés 33 Statut Membre
       
      merciii c'est parfait!
      0