anfänger problem mit if

also ich find irgendwie den fheler im meinen script nicht das sagt immer das das passwort richtig sei obwohl in den POST arrays nix steht....
hiermal der code:
PHP:
<?php
$log=0;
$datenbank=fopen("Nick.txt","r");
while(!feof($datenbank))
{
$zeile = fgets($datenbank,100);
$mm = explode(" ",$zeile);
if($mm[0]==$_POST['name'] && $mm[1]==$_POST['password'])
{
$log=1;
}
else
{
$log=0;
}
}
fclose ($datenbank);


if($log==1)
{
echo"Passwort richtig";
echo "<a href='javascript:history.back();'>zurück</a>";


}
if($log==0)
{
echo"Passwort falsch";
echo "<a href='javascript:history.back();'>zurück</a>";
}
?>
 
Genau:
bei $mm
array(1) { [0]=> string(0) "" }
bei $mm[0]
string(0) ""

bei der log kommt nur 1 oder 0 das problem is bei dem if der setzt das log=1 ein weil das if (angeblich) stimmt :( :(
 
Dann müsste ja Dein $_POST['name'] und Dein $_POST['password'] auch leer sein. Fragst Du die beiden irgendwo mit REQUEST ab? Das sehe ich nirgends.

Überpüfe mal die beiden, wenn beide leer sind, wäre das ja die Lösung.
 
Das meine ich doch.

$mm
[1]==$_POST['password']
: der Wert gibt Dir ein Array zurück. Wenn in Post Passwort mehrere Sachen drin stehen, gibt Dir var_dump() sowas wie " array(1) { [0]=> string(1) "1" } " zurück. Wenn mehrere Indizes vorhanden sind, müßtest Du ihm sagen, welchen Index er vergleichen soll. Sonst nimmt er immer das Array und stellt es als leer also " " dar.

Hast Du das mal überbrückt? z.B.
PHP:
  $passwort=md5($_POST['password']); #wenn verschlüsselte übertragung
  ODER
   $passwort=$_POST['password'];
   $mm[1]==$passwort[0];
 
:confused: ich kann es besser nachvollziehen, wenn du mal kopierst, was er ausspuckt und was du genau ausgibst. Ob print_r() oder var_dump() und welche Variable
 
ok alles funkt BIS auf das scheiss if wo wir beim anfang waren.......
PHP:
if($_POST['name']==$a[0])
in der variable POST steht 0 nix niente aber in der variable $a steht was..... :(
 
Zuletzt bearbeitet:
bei $_POST['name'] ist genau das gleiche. Auch hier mußt Du ihm genau sagen, welchen Index DU aus "name" haben willst. Denn POST übergibt immer ein Array.

PHP:
 $name=$_POST['name'];
   $mm[0]==$name[0];

Mal 'ne Frage an Dich "&&" ist identisch mit "AND" ?
 
Zurück