Fonction php

Résolu/Fermé
tsobns Messages postés 29 Date d'inscription mardi 2 février 2016 Statut Membre Dernière intervention 23 septembre 2021 - Modifié le 3 mai 2017 à 11:09
tsobns Messages postés 29 Date d'inscription mardi 2 février 2016 Statut Membre Dernière intervention 23 septembre 2021 - 3 mai 2017 à 23:21
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

jordane45 Messages postés 36573 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 novembre 2022 4 398
3 mai 2017 à 11:16
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
tsobns Messages postés 29 Date d'inscription mardi 2 février 2016 Statut Membre Dernière intervention 23 septembre 2021
3 mai 2017 à 11:18
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
Technoinfo Messages postés 353 Date d'inscription jeudi 6 octobre 2016 Statut Membre Dernière intervention 17 avril 2021 170
Modifié le 3 mai 2017 à 11:26
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
Technoinfo Messages postés 353 Date d'inscription jeudi 6 octobre 2016 Statut Membre Dernière intervention 17 avril 2021 170
3 mai 2017 à 11:24
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
jordane45 Messages postés 36573 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 novembre 2022 4 398 > Technoinfo Messages postés 353 Date d'inscription jeudi 6 octobre 2016 Statut Membre Dernière intervention 17 avril 2021
3 mai 2017 à 12:08
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
tsobns Messages postés 29 Date d'inscription mardi 2 février 2016 Statut Membre Dernière intervention 23 septembre 2021 > Technoinfo Messages postés 353 Date d'inscription jeudi 6 octobre 2016 Statut Membre Dernière intervention 17 avril 2021
3 mai 2017 à 12:10
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
Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
Modifié le 3 mai 2017 à 13: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
tsobns Messages postés 29 Date d'inscription mardi 2 février 2016 Statut Membre Dernière intervention 23 septembre 2021
3 mai 2017 à 23:21
merciii c'est parfait!
0