Passwortabfrage

Blackmoor

Mitglied
Hi,
Hab ein kleines aber recht simples Problem:
Ich will einen Loginbereich basteln aber nur eine Passwortabfrage einbauen, kein User, nur Passwort und das ganze ohne mysql.
Kann mir da jemand helfen?

Blackmoor
 
das ist Simple!

hier nen beispiel code

der hier ist für username und passwort
Code:
<?
$login[0] = "root";
$pass[0] = "hallo";

for($i=0;$i<count($login);$i++){
   if($login[$i] == $name && $pass == $password){
      header("Location: geschützt.html");
   }
   return;
}

?>
<html>
<body>
<form method="post" action="">
<input type="text" "name="name">
<input type="text" "name="passwort">
</form>
</body>
</html>


und der nur für passwort

Code:
<?
$pass[0] = "hallo";

for($i=0;$i<count($pass);$i++){
   if($pass == $password){
      header("Location: geschützt.html");
   }
   return;
}

?>
<html>
<body>
<form method="post" action="">
<input type="text" "name="passwort">
</form>
</body>
</html>
 
Tag erstmal,
ich würd sagen das ist zwar net praktisch aber schon machbar.
Also so würde ich das angehen:
1. Die Passwörter werden in einer Datei gespeichert(ich setzte mal voraus das du weisst wie man mit php dateien öffnet, liest und schreibt). Die Passwörter müssen durch ein Zeichen getrennt seien. Dukannst zu Beispiel ";" verwenden.
2.Um zu überprüfen ob ein Passwort exsitiert erstmal die passwörter die in der Datei vorhanden sind in ein Array lesen:
PHP:
$pass_array = explode(";", "passwoerter.php");
Dadurch wird die Datei als Array gespeichert, wobei die einzelnen Elemente den Werten Zwischen den Semikolon entsprechen, also den Passwörtern.
3. Jetzt kannst du mit der Funktion inArray in Verbindung mit einer if-Abfrage das bestehen des Passwortes überprüfen:
PHP:
if (in_array($_POST['passwort'], $pass_array))
    {
     //Benutzer wird eingeloogt
     }
Ich hoffe das meintest du sonst hab ich des Umsonst geschrieben :)
MfG Pcnub
 
Pcnub
ist zwar nett von dir gemeint aber ich schätze wenn er das macht was du vorhattest dann kann ich nur davon abraten

das problem ist dann einfach das du mehr zugänge hast und somit ziemlich schnell nen ungewollten login hast!

entweder mit username oder eben nur ein pass ohne username
 
ehh ja *g*
vor lauter code hab ich den submit vergessen *g*

also hier nochmal der richtige code
du kannst wenn du willst das ganze aber auch in ein anderes file auslagern was aber eher unsinnig ist ;)

Code:
<?
// falls passwort richtig dann wird dorthin verwiesen
$relink ="geschützt.html"; 

$login[0] = "root";
$pass[0] = "hallo";

for($i=0;$i<count($login);$i++){
   if($login[$i] == $name && $pass[$i] == $password){
      header("Location: $relink");
   }
}

?>
<html>
<body>
<form method="post" action="<?=$PHP_SELF?>">
<input type="text" "name="name">
<input type="text" "name="passwort">
<input type="submit" value="submit">
</form>
</body>
</html>


und der nur für passwort
Code:
<?
// falls passwort richtig dann wird dorthin verwiesen
$relink ="geschützt.html"; 

$pass[0] = "hallo";

for($i=0;$i<count($pass);$i++){
   if($pass[$i] == $password){
      header("Location: $relink");
   }
}

?>
<html>
<body>
<form method="post" action="<?=$PHP_SELF?>">
<input type="text" "name="passwort">
<input type="submit" value="submit">
</form>
</body>
</html>
 
Zuletzt bearbeitet:
hmm...

läuft besser aber wenn ich passwort eingebe und submit dan passiert rein gar nichts nur die seite wird neu geladen
 
-

Code:
<input type="text" "name="passwort">

Code:
if($login[$i] == $name && $pass[$i] == $password){
Wem fällt was auf?

Vielleicht solltest du nicht einfach nur den Code blind kopieren, sondern versuchen ihn zu verstehen, damit du auch was dabei lernst.
 
hab den code erst gelesen und kapiert wie du das so nett sagst aber dann kopiert da ich zu faul bin um neu zu schreiben.
Danke trozdem
 
Zurück