webForumDet fria alternativet

inloggningsproblem

4 svar · 178 visningar · startad av ps

psMedlem sedan juni 2000841 inlägg
#1

Får inte detta att fungera.

<html>
<head><title></title>

</head>

<body>

<?
if($REQUEST_METHOD == "POST")
{
	$fp=fopen("medlem.txt", "r");
	$hittat=0;
	
	while(!feof($fp))
	{
		$s=fgets($fp, 32768);
		$s=explode("&#0124;",$s);
		if (($s[0]==$anvandarnamn) && ($s[1]==$losenord))
		{
			$hittat++;
			echo "Välkommen $s[1] !";
			break;
		}
	}
	
	
	fclose($fp);
	if ($hittat=="0")
	{
		?>
		Fel användarnamn och/eller lösenord. V.g. försök igen!<br><br>
		<FORM METHOD="POST" ACTION="index.php">
		Användarnamn:<br>
		<INPUT TYPE="TEXT" NAME="anvandarnamn" VALUE=""><BR>
		Lösenord:<br>
		<INPUT TYPE="PASSWORD" NAME="losenord" VALUE=""><BR>
		<INPUT TYPE="SUBMIT" VALUE="Logga in"><BR>
		</FORM>
		<?
			echo $anvandarnamn;
			echo $losenord;
			echo $s[0];
			echo $s[1];
	}
	else
	{
		?>
		<FORM METHOD="POST" ACTION="index.php">
		Användarnamn:<br>
		<INPUT TYPE="TEXT" NAME="anvandarnamn" VALUE=""><BR>
		Lösenord:<br>
		<INPUT TYPE="PASSWORD" NAME="losenord" VALUE=""><BR>
		<INPUT TYPE="SUBMIT" VALUE="Logga in"><BR>
		</FORM>
		<?
	}
}
?>

</body>
</html>

Jag har en fil som heter medlem.txt också.
innehållet ser ut så här:

pelle|pelle
kalle|kalle
nisse|nisse

r
kan tillägga att den kollar alltid mot det namnet som står sist i listan, i detta fall blir det nisse|nisse.
------------------
ps » Email » wF framed! :e

[Redigerat av ps den 25 jan 2001]

nicclasMedlem sedan feb. 20001 050 inlägg
#2

Flera buggar, men värst var problemet att när du läser textfilen så kommer $s[1] att innehålla \r\n (eller bara \n, beroende på operativ, tror jag). Detta gör att din jämförelse aldrig(?) blir sann.

Prova:

<html>
<head><title></title>

</head>

<body>

<?
if($REQUEST_METHOD == "POST")
{
	$fp=fopen("medlem.txt", "r");
	$hittat=0;
	
	while(!feof($fp))
	{
		$s=fgets($fp, 32768);
		$s=explode("&#0124;",$s);
		$s[1]=str_replace("\r","",$s[1]);
		$s[1]=str_replace("\n","",$s[1]);
		if (($s[0]==$anvandarnamn) && ($s[1]==$losenord))
		{
			$hittat++;
			echo "Välkommen $s[0] !";
			break;
		}
	}
	
	
	fclose($fp);
	if ($hittat=="0")
	{
		?>
		Fel användarnamn och/eller lösenord. V.g. försök igen!<br><br>
		<FORM METHOD="POST" ACTION="index.php">
		Användarnamn:<br>
		<INPUT TYPE="TEXT" NAME="anvandarnamn" VALUE=""><BR>
		Lösenord:<br>
		<INPUT TYPE="PASSWORD" NAME="losenord" VALUE=""><BR>
		<INPUT TYPE="SUBMIT" VALUE="Logga in"><BR>
		</FORM>
		<?
			echo $anvandarnamn;
			echo $losenord;
			echo $s[0];
			echo $s[1];
	}
}
else
{
	?>
	<FORM METHOD="POST" ACTION="index.php">
	Användarnamn:<br>
	<INPUT TYPE="TEXT" NAME="anvandarnamn" VALUE=""><BR>
	Lösenord:<br>
	<INPUT TYPE="PASSWORD" NAME="losenord" VALUE=""><BR>
	<INPUT TYPE="SUBMIT" VALUE="Logga in"><BR>
	</FORM>
	<?
}
?>

</body>
</html>

/nicclas - www.nic-sys.se

BatboyMedlem sedan jan. 20001 006 inlägg
#3

Detta script har redan diskuterats, http://cgi.webforum.nu/wf/Forum12/HTML/000601.html , http://cgi.webforum.nu/wf/Forum12/HTML/000574.html

/j

------------------
R6

nicclasMedlem sedan feb. 20001 050 inlägg
#4

Ja, att det skall vara så svårt ;) ;) :e

psMedlem sedan juni 2000841 inlägg
#5

Jag vet att det diskuterats innan.. det var där jag kopierade det ;)

Men det ville inte fungera det var därför som jag modifierade det.

Ska kolla om det fungerar när jag kommer hem. Tackar för hjälpen! :)

r
Kan ju tillägga att jag bara har hållt på med php lite grann.. kanske märks ;)

------------------
ps » Email » wF framed! :e

[Redigerat av ps den 25 jan 2001]

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)