• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

PHP Login

Doty

New member
Hy!!

Ich hab ein Problem mit meiner Hausübung!!

In einer Datenbank gibt es eine Tabelle, wo Namen, Passwort und Username drinnenstehen.

Die Übung besteht darin, dass man sich anmelden kann mit dem Usernamen und Passwort aus dieser Tabelle. Wenn man dann auf Einloggen drückt, sollte der Namen ausgegeben werden und die Loginfelder sollten verschwinden... Aber irgendwie klappt es bei mir nicht!!

Das ist der Code:
PHP:
<html>

<head>
<title>Login</title>
</head>

<body>
<?
  $einfuegen = $_POST["login"];
  $Vorname = $_POST["Vorname"];
  $Nachname = $_POST["Nachname"];

  include("config.php");

  if ($einfuegen == 1) // neue Werte werden in die Datenbank eingefuegt
  {
		$ergebnis = mysql_query("SELECT vorname, nachname FROM tbl_benutzer) VALUES ('$Nachname','$Vorname')");
		// echo "ergebnis nach INSERT=$ergebnis <br>";

  }

?>

Login
<form name="form" method="post" action=<?php echo $_SERVER['PHP_SELF']?>>
Benutzername:<br>
<input type="text" name="name" size="25"><br>
<br>
Passwort:<br>
<input type="password" name="passwort" size="25"><br>
<input type="submit" value="Einloggen" name="login">
</form>
   <?
	$ergebnis = mysql_query("SELECT vorname, nachname FROM tbl_benutzer");
	$cnt = 0;
	while($row = mysql_fetch_assoc($ergebnis))
	{
	   $db_name = $row["name"];
	   $db_vorname = $row["passwort"];
	   $cnt++;
	   if ($cnt <= 1) {
		   echo "Vorname=$Vorname <br>";
		   echo "Nachname=$Nachname <br>";
	   }
	}
  ?>

</body>
</html>

Ich hab das ungute Gefühl ich denke zu einfach!!

Kann mir jemand helfen?

LG Doty
 
Zuletzt bearbeitet:
In deinem Skript wird gar nicht geprüft ob der User in der DB exisitert (Select).
Die vorhandenen Funktionen(einfüge/löschen) solltest du auch nochmal überarbeiten (wegen SQL-Injections).

Login funktioniert im Prinzip so:
Code:
User eingeloggt?(z.b. COOKIE/SESSION)
Nein:
{
	Wurde Name / Passwort übergeben + Login geclickt?
	Ja
	{
		Login Daten in DB vorhanden? (Select)?
		Ja
		{
			Login merken(Session/Cookie)
			Name merken			
		}
		Nein
		{
			LoginFehler = "Login gescheitert"
		}
	}
}

User (nun) eingeloggt?
nein
{
	LoginForm (inkl LoginFehler)
}
Ja
{
	Userdaten Ausgaben
}
 
Deine erste SQL-Query ist sowohl syntaktisch als auch semantisch falsch, soll heißen die ist falsch geschrieben (schau mal auf deine Klammern) als auch völlig unsinnig (SELECT ... FROM ... VALUES).

Aber irgendwie klappt es bei mir nicht!!
Wenn er dir diese komischen sich drehenden Kreise anzeigt solltest du deinen Rechner sagen er soll ernsthafter sein. Wenn nicht solltest du uns mal etwas genauer sagen was er denn macht.

Ansonsten kann SQL schon sehr gut Daten aussortieren, sprich du solltest in deiner zweiten Query ein WHERE mit den entprechenden Daten einbauen.

könnten wir den Link zu selfhtml und dem php-tut irgendwie in das Forum einbauen?^^ ich glaube die werden fast täglich gebraucht
http://forum.jswelt.de/serverseitige-programmierung/10727-bitte-lesen-bevor-frage-stellt.html
hab ich mal ergänzt, ob es wer liest ist aber fraghaft.
Obwohl 4000 Hits bei 5000 Beiträgen im serverseitigem lassen ja hoffen.
 
Zurück
Oben