• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

php login

inkognito88

New member
Kann mir jmd sagen, warum er aus der txt datei nur den 2.Datensatz als richtig erkennt und nicht den ersten?

login.php:
PHP:
<?php
session_start();
if (isset($_REQUEST['einloggen']))
{
	$user = $_REQUEST['user'];
	$pass = $_REQUEST['pass'];

	if (empty($user) OR empty($pass))
	{
		echo "Bitte Benutzername und Passwort eingeben";
	}
	else
	{
		if ($fp = fopen("login.txt", "r"))
		{
			while ($zeile = fgets($fp))
			{
				$arr = explode( ";", $zeile );
				$txt_user = $arr[0];
				$txt_pass = trim($arr[1]);
				if ($user == $txt_user && $pass == $txt_pass)
				{
					$_SESSION['log'] = 1;
				}
				else
				{
					$_SESSION['log'] = 0;
				}	
			}
			fclose ($fp);
		}
	}
}
?>

login.txt

im;test
mi;probe
 
habs:

login.php

PHP:
<?php
session_start();
if (isset($_REQUEST['einloggen']))
{
	if (empty($_REQUEST['user']) OR empty($_REQUEST['pass']))
	{
		echo "Bitte Benutzername UND Passwort eingeben!";
	}
	else
	{
		$user = $_REQUEST['user'];
		$pass = $_REQUEST['pass'];
	
	if ($fp = fopen("login.txt", "r"))
	{
		while($zeile = fgets($fp))
		{
			$arr = explode( ";", $zeile );
			$txt_user = $arr[0];
			$txt_pass = trim($arr[1]);

			if ($user == $txt_user && $pass == $txt_pass)
			{
				$_SESSION['log'] = 1;
			}
		}
	}
		fclose($fp);
	}

}
?>
 
ein break; nach dem $_SESSION[..] würde dazu führen dass der Rest der Datei nicht mehr durchsucht wird, was ja auch nicht Sinnvoll ist, da der Benutzer sich schon angemeldet hat. Warum also weiter Benutzer betrachten. Alternativ eine zusätzliche Abbruchbedingung ins while
 
Zurück
Oben