Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

erweiterung eine PHP Passwort Scripts

Abend

Ich habe ein prima PHP Script gefunden welches prima funktioniert nun leider kenne ich mich aber nicht mit PHP aus.

  if ($username == 'Name' && $passwort == 'PQ')

Hier das Passwort und der Username. Wie erweitere ich das auf vieleicht 10 User mit Passwort. Ich habe cht keine Ahnung

  if ($username == 'Name, Name2' && $passwort == 'PQ, PQ2')

habe ich einmal probiert doch das geht alles nicht.

könnt ihr mir da bitte helfen.


Besten Dank.

Jimmy


Antworten zu erweiterung eine PHP Passwort Scripts:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Ich würde das mit einer Schleife machen, wenn du die Passwörter und Usernamen nicht aus einer Datenbank auslesen willst sondern "statisch", dann würde ich das mit einem Array lösen:

<?php

  $username 
= array(&#39;Name1&#39;, &#39;Name2&#39;, &#39;Name3&#39;, &#39;Name4&#39;, &#39;Name5&#39;);

  
$passwort = array(&#39;PW1&#39;, &#39;PW2&#39;, &#39;PW3&#39;, &#39;PW4&#39;, &#39;PW5&#39;);

  
$richtig false;

  for(
$a 0$a count($username); $a++)
  {

     if((
$_POST[&#39;user&#39;] == $username[$a]) && $_POST[&#39;pw&#39;] == $passwort[$a]))
     
{
         
$richtig true;
      }
   }

   if(
$richtig == true)
   {

      
// Ausgabe des passwortgeschützen Inhalts
    
}
?>


Vielleicht nicht die Beste Lösung, aber zumindest einfach realisierbar für mehrere User.

Hmmmm... so wie ich dich verstanden habe sieht es dann nachher so aus:

 

Zitat
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
 <head>
  <title>Geschützter Bereich</title>
 </head>
 <body>
  <?php
     if ($_SERVER['REQUEST_METHOD'] == 'POST') {
      session_start();

      $username = $_POST['username'];
      $passwort = $_POST['passwort'];

      $hostname = $_SERVER['HTTP_HOST'];
      $path = dirname($_SERVER['PHP_SELF']);
     
      $username = array('Name1', 'Name2', 'Name3', 'Name4', 'Name5');

  $passwort = array('PW1', 'PW2', 'PW3', 'PW4', 'PW5');

  $richtig = false;

  for($a = 0; $a < count($username); $a++)
  {


      // Benutzername und Passwort werden überprüft
      if ($username == $username[$a]) && $passwort == $passwort[$a])) {
       $_SESSION['angemeldet'] = true;

       // Weiterleitung zur geschützten Startseite
       if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') {
        if (php_sapi_name() == 'cgi') {
         header('Status: 303 See Other');
         }
        else {
         header('HTTP/1.1 303 See Other');
         }
        }

       header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/index.php');
       exit;
       }
      }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  <form action="login.php" method="post">
   Username: <input type="text" name="username" /><br />
   Passwort: <input type="password" name="passwort" /><br />
   <input type="submit" value="Anmelden" />
  </form>
 </body>
</html>

 

aber das geht nicht.

Wie gesagt ich habe echt keine ahnung von PHP. was ist denn hier ran falsch??

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Hm.. ich weiß ja nicht, woher du die anderen Codeschnipsel hast, aber probier lieber das hier:

<?php

	
if(isset(
$_POST[&#39;submit&#39;]))
	
{

	
	
$username $_POST[&#39;username&#39;];
	
	
$passwort $_POST[&#39;passwort&#39;];

	
	
$hostname $_SERVER[&#39;HTTP_HOST&#39;];
	
	
$path dirname($_SERVER[&#39;PHP_SELF&#39;]);
     
	
	
$usernames = array(&#39;Name1&#39;, &#39;Name2&#39;, &#39;Name3&#39;, &#39;Name4&#39;, &#39;Name5&#39;);
	
	
$passworts = array(&#39;PW1&#39;, &#39;PW2&#39;, &#39;PW3&#39;, &#39;PW4&#39;, &#39;PW5&#39;);
	
	
$richtig false;

	
	
for(
$a 0$a count($usernames); $a++)
	
	
{
	
	
	
if ((
$username == $usernames[$a]) and ($passwort == $passworts[$a]))
	
	
	
{
	
	
	
	
$richtig true;
	
	
	
}
	
	
}
	
	

	
	
if(
$richtig == true)
	
	
{
	
	
	
session_start();
	
	
	
$angemeldet true;
	
	
	
session_register(&#39;angemeldet&#39;);
	
	
	

	
	
	
if (
$_SERVER[&#39;SERVER_PROTOCOL&#39;] == &#39;HTTP/1.1&#39;)
	
	
	
{
	
	
	
	
if (
php_sapi_name() == &#39;cgi&#39;)
	
	
	
	
{
	
	
	
	
	
header(&#39;Status: 303 See Other&#39;);
	
	
	
	
}
	
	
	
	
else
	
	
	
	
{
	
	
	
	
	
header(&#39;HTTP/1.1 303 See Other&#39;);
	
	
	
	
}
	
	
	
}
	
	
	

	
	
	
header(&#39;Location: http://&#39;.$hostname.($path == &#39;/&#39; ? &#39;&#39; : $path).&#39;/index.php&#39;);
	
	
	
exit;
	
	
}
	
}

?>
<!DOCTYPE [url=http://www.computerhilfen.de/fachbegriffe-h-HTML.html][b]html [/b][/url] PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
	
<title>Geschützter Bereich</title>
</head>
<body>  

	
<form action="login.php" method="post">
	
	
Username: <input type="text" name="username" /><br />
	
	
Passwort: <input type="password" name="passwort" /><br />
	
	
<input type="submit" name="submit" value="Anmelden" />
	
</form>
	

</body>
</html>


Erstens hast du die Variabel $username und $passwort später wieder mit dem Array der Zugangsdaten überschrieben, deswegen kann es gar nicht gehen.

Andererseits verstehe ich nicht, warum alle PHP-Anfänger den $_POST[] Variablen noch eigene Variablen zuordnen wollen, das kann man doch direkt benutzen?

   $username = $_POST['username'];
   $passwort = $_POST['passwort'];

Da ich nicht weiß, was dahintersteckt hab ich das einfach mal übernommen, ich wollte nur mal darauf hinweisen, dass es eigentlich unnötig ist.

Weiterhin kannst du nicht den header() Befehl anwenden, wenn du vorher schon etwas im Code mit echo ausgegeben hast oder vorher schon irgendwas anderes stand (und sei es ein Leerzeichen oder eine Leerzeile).

Aber wenn du keine Ahnung von PHP hast und dann schon gleich mit Session anfängst, dann wäre ich ein bisschen "langsamer", dieses eigentlich einfache Codebeispiel zeigt wirklich, dass du dich vielleicht erstmal ein bisschen mit der Materie beschäftigen solltest, es bringt wenig einfach nur Codes zu kopieren  :-\
« Letzte Änderung: 16.12.06, 13:44:04 von Der olle Schwoebel »

Naja hast wohl recht. Aber wenn man so was braucht dasnn braucht amns halt und habe in diesem Fall echt keine Zeit um noch alles zuerst zu lernen.:-X

Deine Angaben haben leider wider nicht funktioniert. Damit du das ganze Script mal noch sehen kannst ich hab es von hier:  http://aktuell.de.selfhtml.org/artikel/php/loginsystem/

Trozdem vielen Dank für die bemühungen und einen schönen Tag.

Jimmy

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Ach, mir ist eben noch ein Fehler aufgefallen, so sollte es funktionieren.. (siehe oben)

« MyBBoard: Smiliey, Renommee-Funktion und noch mehr .. [Suche] PHP-Passwort-Script »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
PHP
PHP steht für Personal Home Page und ist eine Skriptsprache die meist verwendet wird zur dynamischen Erzeugen von Internetseiten. PHP zeichnet sich durch die weite D...

AppleScript
AppleScript ist eine Programmiersprache von Apple für Skripte und Programme auf Systemebene. Im Gegensatz zu den Unix-Shellscripts, die seit OS X ebenfalls mögl...

Javascript
Javascript ist eine von Netscape entwickelte Skriptsprache für den Einsatz für DOM-Scripting auf Webseiten. Nahezu alle Browser- und Webseiten-Elemente lassen s...