• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Login Auswertung

Status
Für weitere Antworten geschlossen.

Mars@Gera

Mitglied
Warum geht das nicht?
PHP:
<?php
$fBenutzer = $_REQUEST["fBenutzer"];
$fKennwort = $_REQUEST["fKennwort"];

if ($fBenutzer = "" and $fKennwort = "")
{
echo "Bitte alle Felder ausfüllen!";
}
else if ($fBenutzer = "Name" AND $fKennwort = "wort")
{
echo "Willkommen im Administratoren Bereich";
}
else
{
echo "Bitte nochmal!";
}
?>

aber das?
PHP:
<?php
$fBenutzer = $_REQUEST["fBenutzer"];
$fKennwort = $_REQUEST["fKennwort"];

if ($fBenutzer = "" and $fKennwort = "")
{
echo "Bitte alle Felder ausfüllen!";
}
else if ($fBenutzer == "Name" AND $fKennwort == "wort")
{
echo "Willkommen im Administratoren Bereich";
}
else
{
echo "Bitte nochmal!";
}
?>

Der Unterschied liegt nur darin das in der else if nur 1 mal "=" ist!
 
Weil du mit nur einem = eine Variablenzuweisung machst, auch in einem if! Zum vergleichen muss man immer == verwenden. (Wenn nicht sogar ===, mit === vergleicht man zudem auch den Variablentyp das heisst 3 === '3' ist nicht wahr)
 
Das ist kein Wunder, denn beide von Dir geposteten Codeschnipsel sind fehlerhaft.

Du solltest zudem mal über "einrückungen" nachdenken.

So müsste es eigentlich gehen.

PHP:
   <?php
$fBenutzer = $_REQUEST["fBenutzer"];
$fKennwort = $_REQUEST["fKennwort"];

if ($fBenutzer == "" and $fKennwort == "")
{
    echo "Bitte alle Felder ausfüllen!";
}
else if ($fBenutzer == "Name" AND $fKennwort == "wort")
{
    echo "Willkommen im Administratoren Bereich";
}
else
{
    echo "Bitte nochmal!";
}
?>
 
Hallo,

Einrückungen machen gar nichts aus, allerdings erleichtern sie für Leute die Dir helfen sollen, die Übersichtlichkeit Deines Quelltextes.

Hast Du schon einmal geschaut was überhaupt Requested wird ?! Also einfach Testweise

PHP:
echo $fBenutzer;
echo $fKennwort;

Nach dem Request hinzugefügt.
 
Hatte es eben aus $_POST gemacht, geht trotzdem nicht :-(

Immer wenn ich was schreibe geht nie was, hatte letztens nen Quiz machen wollen, geht auch nciht!
 
Hatte es eben aus $_POST gemacht, geht trotzdem nicht :-(

Du sollst den Request net ändern sondern gucken ob überhaupt was übergeben wird. Wie sieht denn Dein Formular aus ... Anbei mal mein Vorschlag ...

PHP:
<?php

if(isset($_POST['sender']))
{
  $fBenutzer = trim($_POST["fBenutzer"]);
  $fKennwort = trim($_POST["fKennwort"]);

  if (empty($fBenutzer) || empty($fKennwort))
  {
    echo "Bitte alle Felder ausf&uuml;llen";
  }
  else
  {
    if(strcmp($fBenutzer, "Benutzername") == 0 && strcmp($kennwort, "Kennwort") == 0)
    {
      echo "Du bist drin";
    }
    else
    {
      echo "Benutzerdaten fehlerhaft.";
    }
  }
}

?> 

<html>
<head>
  <title>Very simple login</title>
</head>
<body>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">

Benutzername: <input type="text" name="fBenutzer"><br />
Kennwort : <input type="password" name="fKennwort"><br />
<input type="submit" name="sender">
</form>

</body>
</html>

Das sollte gehen - hab es nicht getestet !
 
Danke es geht, und wie geht das, wenn die Angaben richtig sind, das man dann umgeleitet wird auf eine andere Seite!

Es soll ein Login für den Admin-Bereich werden!
Aba da fällt mir gerade ein, das ich dann den Admin-Bereich auch gleichzeitig mit dem Login-Script machen muss.
mhhp
 
Danke es geht, und wie geht das, wenn die Angaben richtig sind, das man dann umgeleitet wird auf eine andere Seite!

Es soll ein Login für den Admin-Bereich werden!
Aba da fällt mir gerade ein, das ich dann den Admin-Bereich auch gleichzeitig mit dem Login-Script machen muss.
mhhp

Du kannst doch auch mit Sessions arbeiten.

Weiterleitungen werden mit
PHP:
header("Location: seite.endung");
gemacht.

Schau mal in den Tutorialbereich - da gibt es einige PHP Login Tutorials die auf Sessions basieren !

Gruß Sven
 
Oky habe das so nach Tutorial gemacht, aber ein Fehler kommt!

Fehler:Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\Programme\xampp\htdocs\Homepage\Admin2\login.php on line 18

PHP:
echo'Sie sind erfolgreich eingeloggt!'; // Und hier wird ein text kurz erscheinen. Dann wird man weitergeleitet.
echo'Sie werden zur Administration weitergeleitet.<script>top.location.href='admin.php'</script>';
// Imfalle, dass der Besucher JavaScript deaktiviert hat, wird noch ein Link zum Login angeboten

Line 18 ist die in der Mitte!
 
PHP:
echo'Sie werden zur Administration weitergeleitet.<script>top.location.href='admin.php'</script>';
//musst du ändern in
echo'Sie werden zur Administration weitergeleitet.<script>top.location.href=\'admin.php\'</script>';
 
Es geht jetzt, noch 3 Fragen.

1.) Kann man das irgendwie machen, wenn ich auf Zurück ("Werkzeug" im Brwoser) das man da auf die Login-seite kommt?
Also das die Session beendet wird?

2.)PHP: Habe versucht nen Frameset in PHP zu schreiben, geht nicht, kann mir mal jemand eine vorlage schreiben.
Kopf: 100%breit, 15%hoch
Rest: - 20%breit und 85% hoch
- 80% breit und 85% hoch

3.) für meine Adminnavigation will ich das so machen, das wenn ich auf zu´: Benutzer klicke (als Link), das sich ein weiteres unterverzeichniss öffnet z.B. neu anlegen, bearbeiten, ect. Gewusst wie ich es meine?

danke für Hilfe!
 
ja, du kannst in der logout.php die sessions zerstören und dann zum login weiterleiten.
eine garantierte methode, eine session zu schließen/zerstören gibt es nicht, da immernoch der befehl ausgeführt werden muss. automatisch wird sie i.d.r. nach einer halben stunde gelöscht.

Nils aka XraYSoLo
 
du setzt an den anfang jeder datei einen include z.b. zur Datei test.php

test.php sieht dann so aus
PHP:
session_start();
if(!isset($_SESSION["login"]) || $_SESSION["login"] !== true)
  header("Location: login.php");

in der login.php darf der include natürlich nicht sein, sonst entsteht eine Endlosschleife


Ansonsten könnte man das ganze noch über htaccess machen.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben