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

Entertaste = Mausklick! Falsch ?

Status
Für weitere Antworten geschlossen.
T

Tobias

Guest
Ich habe ein kleines Loginscript geschrieben!

Das Passwort ist peter

Wenn ich das Passwort eingebe und per Mausklick auf "login" klicke, klappt alles bestens!

Wenn ich aber das Passwort eingebe und die Entertaste drücke, klappt es nicht!

Jemand eine Erklärung dafür ?

Mfg Tobias!
 
Werbung:
Werbung:
Bei mir auf der Arbeit nicht. Warum ? Nutze hier den IE! Aber meint ihr es liegt daran?
 
poste doch mal den code, dann kann man mal drüber schauen ob es daran liegen könnte


//EDIT:
Mit dem IE 7 hab ich auch das von dir beschriebene Problem . hmpf ?!
 
Werbung:
poste doch mal den code, dann kann man mal drüber schauen ob es daran liegen könnte


//EDIT:
Mit dem IE 7 hab ich auch das von dir beschriebene Problem . hmpf ?!

Codes:

Admin.php
PHP:
<?php
  session_start();
  ?>
  <html>
  <head>
  <title>Geschützter Bereich</title>
  <!--Hier vielleicht einige Stylesheets, oder so...-->
  </head>
  
  <body>
<?php
$Zugangspasswort = "peter";
if($_SESSION['passwort'] == $Zugangspasswort)
{
?>
Hallo! <br /> Das ist der geschützte Bereich! <br /> <br /> <a href="logout.php">Logout</a>
<?php
}
else
{
?>
Du bist nicht eingeloggt! <br /> <br /> <a href="index.php">Jetzt einloggen! </a>
<?php
}
?>
</body>
</html>


Login.php
PHP:
<?php
$Zugangspasswort = "peter";
if($_POST['Login'] && $_POST['passwort'] == $Zugangspasswort) // Login ist der Submitbutton vom Formular und passwort das Feld vom Formular
{
session_start();
$_SESSION['passwort'] = $Zugangspasswort; // Hier geben wir der Sessionen den Zugangsschlüssel.
}
?>
<html>
<head>
</head>
<body>
<?php
if($_SESSION['passwort'] == $Zugangspasswort) // Hier prüft es die obig-registrierte Session.
{
echo"Du bist erfolgreich eingeloggt und wirst nun zur Administration weitergeleitet.<script>top.location.href='admin.php?site=main'</script><br/>";
// Nun eine Rückgabe, für die die JS deaktiviert haben:
echo'Falls du nicht automatisch weitergeleitet wirst, klick <a href="admin.php">hier</a>';
}
else
{
// Und hier die Meldung, wenn es nicht gültig ist
echo 'Du bist nicht befugt, diese Seite anzusehen. Möglicherweise ist das eingegeben Passwort falsch.';
echo 'Bitte log dich <a href="index.php">hier</a> erneut ein.';
}
?>
</body>
</html>

logout.php
PHP:
<?php
session_start();
$Zugangspasswort = "peter";
if($_SESSION['passwort'] == $Zugangspasswort)
{
session_destroy();
echo'Du wurdest erfolgreich ausgeloggt.';
}
else
{
echo'Du bist nicht befugt diese Seite zu "betrachten". Loggen dich <a href="index.php">hier</a> ein.';
}
?>


index.php
HTML:
<h1>Login</h1> <form name="login" action="login.php" method="post">
Passwort:
 <input type="password" name="passwort" value="" /> <input type="submit" value="Login" name="Login" /> </form>
 
ich denk mal beim IE geht einfach was schief bei der Übergabe der Werte. Die namen der Buttons enthalten Großbuchstaben. Daran kann es vlt liegen.

Dein Loginsystem ist eh etwas sehr umständlich ;)
index.php
PHP:
<form action="login.php" method="POST">
<input type="hidden" name="success" value="safe.php" />
<input type="hidden" name="error" value="index.php" />
<input type="password" name="password" value="" />
<input type="submit" name="sent" value="login" />
login.php
PHP:
<?php
session_start();
if(isset($_REQUIRE["logout"])) {
  $_SESSION["login"] = false; //oder einfach Session zerstören
  $location = file_exists($_REQUIRE["logout"]) ? $_REQUIRE["logout"] : 'index.php';
  header("Location: ".$location);
}
if(!isset($_POST["sent"])) {
  $location = isset($_POST["error"]) ? $_POST["error"] : 'index.php';
  header("Location: ".$location);
}
$password = "peter";
if($_POST["password"] == $password) {
  $_SESSION["login"] = true;
  header("Location: ".$_POST["success"]);
}
die();
?>
safe.php
PHP:
<?php
session_start();
if($_SESSION["login"] !== true)
  header("index.php");
?>
geschützte Seite...<br>
<a href="login.php?logout=danke_fuers_ausloggen.html">Logout</a>
 
Werbung:
So funktioniert es!

Was muss ich machen wenn ich nun mehrer Seiten schützen will auf meiner Seite ?

EDIT:

Hmm wenn ich aber nun ein "falsches" PW eingebe , kommt ein Fehler!

Lg, Tobias von Z.
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
Ja :) die Aussage bringt mir nicht viel.

> Wie kann ich es besser machen ? ...
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben