variabeln aus datei auslesen

Chris Kurt

Erfahrenes Mitglied
holá,

ich will ne 'billige' passwortabfrage mit php realisiern bei der die namen und p-wörter in ner datei gespeichert werden.

den inhalt der datei hat ich mir in etwa so vorgestellt:
$name1 = "hans";
$pwort1 = "pssst";
$name2 = "hubert";
$pwort2 = "geheim";
[..]

das script zum auslesen würd ich mir etwa so vorstellen:
<?
$fp = @fopen("datei.txt", "r") or die ("datei is doof");
global $temp;
$temp = $name1;
fclose($fp);
echo("$temp");
?>

das klappt aber irgendwie nicht.
ich vermute das dürfte in die kategorie 'php-basics' fallen, aber ich bin gerade erst kuats davor mich mit php anzufreunden...

wenn jemand mir nen fachkundigen rat anbieten würde, wär fein...

[die schleife die nötig wäre um mehrere namen auszulesen und zu vergleichen krieg ich hin, ich muß nur irgendwie an die daten in der datei kommen...]


: )
 
nem doch statt einer text-datei eine weitere php-datei. diese kannst du dann ganz einfach über den include- oder require-befehl einbinden. so wird das ja fast immer bei config-dateien gehandhabt.
 
Also ich würde die Datei mit den Passwörtern so aussehen lassen:

passwd.php:
<?php
hans:geheim
peter:testpw
?>

Dann werden einfach die einzelnen Zeilen ausgelesen und mit explode() aufgeteilt, so dass man immer Benutzername und Passwort in einem Array hat (deshalb der Doppelpunkt).
Danach wird abgefragt ob der angegebene Benutzername/Passwort mit den Daten aus der passwd.php-Datei übereinstimmen:

PHP:
  $permission="false";

  $datei=fopen("passwd.php", "r");

  while(!feof($datei))
  {
    $line=fgets($datei, 100);
    $array=explode(":",$line);

    $check_uid=$array[0]; 
    $check_uid=chop($tuid);

    $check_pwd=$array[1];
    $check_pwd=chop($tpwd);

    if($check_uid==$uid && $check_pwd==$pwd)
    {
	$permission="true";
	break;
    }
  }
 
Es geht auch einfacher!
Du kannst auch einfach die funktion file("Datei") nehmen die liest dir jede Zeile in ein neues Element eines Arrays! Dann machst du ne Schleife die dann jedes Array Element mit Explode auseinander nimmt, und bei dem Array einfach erst bei Element 1 anfängt also namedesarray[1] .
 
jo, das wär eigentlich genau das was ich anfangs wollte aber die version mit der php ist simpler. und da ich gerade erfahren habe das es eh nur 3 passwörter geben wird, kann man die auch problemlos in ne php mit nem $ davor schreiben.
und ne php ist ein wenig sicherer was den inhalt der pw-datei angeht da ein standard browser sie weder anzeigen noch downloaden kann.
 
Du könntest bei meiner Version trotzdem eine PHP Datei nehmen. Du müsstest dann einfach beim auslesen das erste Element des Arrays überspringen und das letzte nicht auswerten.
 
danke für deine mühen aber so wie´s im moment ist, klappts und alle sind glücklich.
abgesehen davon werd ich das ganze eh mit .htaccess machen müssen da der kunde nich will das man den link nach der passwortabfrage direkt aufrufen kann.
man könnte zwar alle dateien als .php speichern und am anfang immer gucken ob auch schön artig ein passwort eingegeben wurde, aber bei größeren internetauftritten ist das zu viel arbeit...

anyway danke schonmal so far...
 

Neue Beiträge

Zurück