Fonction php
Résolu
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
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
-
ModérateurBonjour,
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();
-
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-
-
Modérateur@TechnoinfoBonjour,
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 -
@Technoinfosuperrr 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
-
-
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 "; } } } ?>