Pages :
(reprise du message précédent)

JENCAL a écrit :


Tu dois de ce fait faire une condition de "comparaison". Là ta condition sert uniquement à savoir si le login ET le mot de passe ne sont pas vide !.. c'est une bonne condition mais elle est incomplete.
Il faut que tu compare le résultat des variables login et pass avec ce que tu as en base !

 if(false!==strpos($ligne,$login)&&false!==strpos($ligne,$pass))

avec cette condition tu compare cherche ton login et ton pass sur la ligne. Mais si la ligne contient également ton adresse ou autre.. alors la condition te renverra true également. il faut cibler un peu plus dans la ligne.


je croit avoir compris

 while(!feof($fic))
          {
              $ligne= fgets($fic,1024);
              if(false!==strpos($ligne,$login)&&false!==strpos($ligne,$pass))
              {
				  
					$contenu_du_fichier = file_get_contents('fichier.txt');
 
					/* La ligne suivante n'est pas absolument indispensable, mais si on se retrouve avec
						le nom dans l'adresse, mais que le client lui-même n'existe pas...on est le bec dans l'eau */
					$noms = preg_replace('`[0-9]{8};([a-zA-Z0-9. ]+);(.+)`', '$1', $contenu_du_fichier);
					$mdp = preg_replace('`[0-9]{8};([a-zA-Z0-9. ]+);(.+)`', '$1', $contenu_du_fichier);
 
					if(stripos($noms, $identifiant))
						{
							  if(stripos($mdp, $code))
								{
									$auth=true;break;
								}
						
							else
								{
									$auth=false;break;}
								}
					else
						{
							  $auth=false;break;}
						}
				  
				
         $i++;
          }


marcherais non ?
<?php

// Récupération des informations du fichier blocnote (fichier txt).
$data[] = array();                        // Tableau qui contiendra les données de façon structurée.
$fileHandle = fopen("../txt/Fichiers_user.txt", "r+");   // Ouverture du fichier "blocnote.txt"
if ($fileHandle) {
    while (($buffer = fgets($fileHandle, 4096)) !== false) {    // Lecture des lignes du fichier, une par une.
        list($nom,  $prenom, $adresse, $bday, $mail, $mot_de_passe,  $liste, $sexe) = explode(';', $buffer);     // Séparation des données de la ligne en cours en fonction du caractère "|".
        $data[] = array('nom'=>$nom, 'prenom' => $prenom,'bday' => $bday, 'mail' => $mail,'mot_de_passe' => $mot_de_passe, 'liste' =>$liste, 'sexe' =>$sexe);  // Ajout d'un tableau dans notre tableau de données contenant le joueur et les preprenom.
    }
    fclose($fileHandle);                    // fermeture du fichier
}
?>

<?php


 $nb_elements = count($data);
 $nb_lignes= $nb_elements;

for ($i = 1; $i <= $nb_lignes; $i ++) 
{  // On veut afficher 
	$position = $i;         // Définition de la position à afficher

	// On définit un login et un mot de passe de base pour tester notre exemple. Cependant, vous pouvez très bien interroger votre base de données afin de savoir si le visiteur qui se connecte est bien membre de votre site
$login_valide = $data[$i]['nom'];
$mdp_valide = $data[$i]['mot_de_passe'];

// on teste si nos variables sont définies
if (isset($_POST['login']) && isset($_POST['pass'])) {

	// on vérifie les informations du formulaire, à savoir si le pseudo saisi est bien un pseudo autorisé, de même pour le mot de passe
	if ($login_valide == $_POST['login'] && $pass_valide == $_POST['pass']) {
		// dans ce cas, tout est ok, on peut démarrer notre session

		// on la démarre [smile]
		session_start ();
		// on enregistre les paramètres de notre visiteur comme variables de session ($login et $pass) (notez bien que l'on utilise pas le $ pour enregistrer ces variables)
		$_SESSION['login'] = $_POST['login'];
		$_SESSION['pass'] = $_POST['pass'];

		// on redirige notre visiteur vers une page de notre section membre
		header ('location: page_membre.php');
	}
	else {
		// Le visiteur n'a pas été reconnu comme étant membre de notre site. On utilise alors un petit javascript lui signalant ce fait
		echo '<body onLoad="alert(\'Membre non reconnu...\')">';
		// puis on le redirige vers la page d'accueil
		echo '<meta http-equiv="refresh" content="0;URL=index.htm">';
	}
}
else {
	echo 'Les variables du formulaire ne sont pas déclarées.';
}




} // Fin de la boucle for
?>



d'apres vous cela peut être correct ?
Modifié par joe0703 (08 Apr 2016 - 02:14)
Pages :