Loginsystem

  • Themenstarter Themenstarter Hohl
  • Beginndatum Beginndatum
Speichere doch die Benutzerdaten im XML-Format in Dateien ab, lege diese Dateien in ein .htaccess geschütztes verzeichnis und gut is?
Du musst nun nur die eingegebenen Benutzerdaten gegen die XML-Dateien prüfen. In den XML-Dateien können doch auch noch andere Werte wie E-Mail, Anzeigename... usw. drin stehen. Diese lädst du in die Session und schwups reicht eine einzige Datei um milliarden Benutzer zu handhaben.
So ein ähnliches Konzept habe ich timestamp gerade per PN geschrieben....
 
Ich kann es auch gerne hier noch einmal schreiben. Nutzerdaten in Dateien speichern ist kein Problem. Er möchte aber für jeden User eine HTML Datei haben (siehe erster Post). Das löst man mit ModRewrite oder x HtmlDateien.
 
Mal etwas mehr zurück zum Thema. Da sich Hohl zwar noch nicht gemeldet hat, poste ich hier einfach mal einen ungefähren Code, der nach meiner Interpretation aus den wenigen Details, mal kurz geschrieben wurde

formular.php
PHP:
<form action="login.php" method="post" name="login_formular">
Benutzername:<br><input name="benutzername"  type="text" size="25" />
Passwort:<br><input name="passwort" type="password" size="25" /><br>
<input name="login" type="submit" value="Login" />
</form>

login.php
PHP:
<?php
session_start();
if( isset ( $_REQUEST['login'] ) )
{	
	/*
	
	Mögliche Überprüfungen, ob z.B. überhaupt eine Eingabe getätigt wurde.
	
	*/
	#Falls verschlüsselt
	$passwort_md5 = md5($_REQUEST['passwort']);
	$datei = 'users/'. $_REQUEST['benutzername'] .'.php';
	if( file_exists ( $datei ) )
	{
		include $datei;
		if( $_REQUEST['benutzername'] == $benutzername && $passwort_md5 == $passwort )
		{
			$_SESSION['login'] = true;
			#Hier kommt jetzt die Antwort auf deine Frage. 
			header("Location: ".$benutzername.".html ");
			exit;	
		}
		else
		{
			#Falls die Angaben inkorrekt sind kann hier dann eine Fehlermeldung ausgegeben werden oder evtl. eine Weiterleitung zu einer Seite mit Fehlermeldung, wie auch immer. Prinzip ist klar.			
		}
	}
}
?>

Ich mal eine kleine Verarbeitung gleich mit dazu geschrieben. Könnte ja sein das es mal irgendwelche User gibt die nach dem selben Problem suchen und nicht ganz soviel Ahnung von PHP haben.
Whatever.
Ich hoffe das hilft dir nun etwas weiter...
 
Diese Lösung funktioniert, wendet sich aber nicht dem angesprochenen Problem der 1000 html dateien zu!
Ich kann mich timestamp hier nur anschließen, mod rewrite ist hier die beste Lösung wenn es denn schon über ein dateibasiertes System laufen muss.

Für deine Lösung müsste nachwievor eine, bzw. sogar 2 dateien von Hand (oder per script) erstellt werden auf welche der Nutzer dann zugreifen kann.
Meiner Meinung nach wiederspricht das dem eigentlichen Sinn von PHP als Mittel zur Darstellung dynamischer Websites!
 
Diese Lösung funktioniert, wendet sich aber nicht dem angesprochenen Problem der 1000 html dateien zu!
Ich kann mich timestamp hier nur anschließen, mod rewrite ist hier die beste Lösung wenn es denn schon über ein dateibasiertes System laufen muss.

Für deine Lösung müsste nachwievor eine, bzw. sogar 2 dateien von Hand (oder per script) erstellt werden auf welche der Nutzer dann zugreifen kann.
Meiner Meinung nach wiederspricht das dem eigentlichen Sinn von PHP als Mittel zur Darstellung dynamischer Websites!

Ähm.. Wenn du das eigentliche Thema gelesen hättest, wüsstest du das Hohl nur nach einer Möglichkeit gesucht hat, wenn sich User1 einloggt das User1 auch auf User1.html landet : P
Darauf war das bezogen. : P

Als Alternative zu ModRewrite wäre auch:
1.) eine PHP-Datei, z.b. userdb.php, wo dann per Array oder als Variable alle User eingetragen sind und abgefragt werden können.
2.) An der Stelle von Hohl würde ich das auch etwas einfacherer machen und quasi einfach eine, ich weiß ja nicht genau was er möchte, aber als Beispiel eine individuelle Profilseite, der Link dazu würde dann quasi so aussehen: profil.php?user=1 und die nötigen Informationen werden dann aus der userdb.php gezogen. Also würde dann nach dem Login auf die Seite: profil.php?user=1 weitergeleitet werden, wenn sich User1 einloggt, also das Problem mit den 1000 HTML-Dateien kann man auch anders lösen. : P
möglich.

Edit:
Zu der Geschichte mit der Nutzer zugreifen musst, wenn du benutzerfreundliche Webseiten schreibst, dann sollte der Nutzer so wenig wie möglich irgendwas machen und direkt, freundlich und ordentlich sein eigentliches Ziel verfolgen können, das natürlich auf Berücksichtigung der Sicherheit der eigenen Seite, aber da ich solche Seiten schon geschrieben habe, kann ich sagen das dies sehr wohl möglich ist und das alles ohne MySQL. ; )
 
Zuletzt bearbeitet:
XPC, ich glaube du hast immer noch nicht verstanden was ModRewrite eigentlich macht...
Du hast eine php Datei, meinetwegen nenne sie usercp.php.
Mittels ModRewrite kannst du jetzt URLs nach dem Schema http://www.example.com/user1.html intern zu http://www.example.com/usercp.php?user=1 umwandeln ohne dass der User dies mitbekommt.
Nein nein, das habe ich schon verstanden, aber Hohl wollte doch wissen, wie er das macht das wenn sich User1 einloggt der auf seiner individuellen Seite landet, also quasi 'ne Weiterleitung dazu oder hab ich die Frage von Hohl falsch interpretiert?
 
Hast du nicht, timestamp hat nur eine Anmerkung zur generellen Verbesserung gemacht :)

1.) eine PHP-Datei, z.b. userdb.php, wo dann per Array oder als Variable alle User eingetragen sind und abgefragt werden können.
Dies ist leider keine alternative zu mod rewrite, es hat sogar nichts damit zu tun was durch mod rewrite erreicht wird.
 
Hast du nicht, timestamp hat nur eine Anmerkung zur generellen Verbesserung gemacht :)


Dies ist leider keine alternative zu mod rewrite, es hat sogar nichts damit zu tun was durch mod rewrite erreicht wird.

Gut, weil der Beitrag den du als erstes zitiert hast bezog sich nämlich genau auf Hohlsfrage. ; )

Stimmt, tut mir Leid, ich denke immer so weitsichtig und versuche immer irgendwie alles so einfach zu erklären und so weitläufig wie möglich zu erklären.
Also um das ganze jetzt mal zusammen zufassen, mein Beitrag beantwortet Hohlsfrage, soweit man sie auch interpretieren kann und timestamp hat eine sehr gute Ergänzung zur späteren Umsetzung geliefert. :D
 
Zurück