Avatar billede dennis_p Nybegynder
20. januar 2005 - 19:58 Der er 3 kommentarer og
1 løsning

Denne logon laver Loop

Hvad er der galt den laver loop, så den bare bliver ved med at redirect tilbage igen til logon menuen !!!

<?php
session_start();
$_session['logged'] = 0;

if (isset($_POST['Submit']))
{
      if ($_POST['Username'] == "kaj" && $_POST['Password'] == "munk")
      {
      $_SESSION['logged'] = 1;
      header ("Refresh: 5; URL=" . $_POST['redirect'] . "");
      echo "You are being redirected to your Original page request!<br>";
      echo "(If your browser dosen't support this, <a href=\"" .
$_POST ['redirect']. "\">Click here</a>)";
      }
      else
      {
      ?>
      <html>
      <head>
      <title>Clan Site</title>
      </head>
      <body>
      Invalid Username and/or Password<br><br>
      <form action="login.php" method="post">
      <input type="hidden" name="redirect" value="<?php echo $_POST['redirect']; ?>">
      Username: <input type="text" name="Username"><br>
      Password: <input type="Password" name="password"><br><br>
      <input type="Submit" name="Submit" value="Login">
      </form>
      <?php
      }
}
else
{
?>
<html>
<head>
<title>Clan Site</title>
</head>
<body>
You must be logged in to view this page<br><br>
<form action="login.php" method="post">
<input type="hidden" name="redirect" value="<?php echo $_GET['redirect']; ?>">
Username: <input type="text" name="Username"><br>
Password: <input type="Password" name="Password"><br><br>
<input type="Submit" name="Submit" value="Login">
</form>
<?php
}
?>
</body>
</html>
Avatar billede dennis_p Nybegynder
20. januar 2005 - 19:58 #1
hvordan får jeg den til at komme vidre ??
Avatar billede madsass Nybegynder
20. januar 2005 - 20:39 #2
Øhh. Hvor får du $_POST['redirect']; fra? Du sætter den til at blive postet i en hidden variabel, men den er ikke defineret nogle steder?

Og få lige orden i din kode næsten gang. Har lige optimeret den til andre så man kan finde rundt i den.

<?php
session_start();
$_session['logged'] = 0;

if (isset($_POST['Submit'])) {
    if ($_POST['Username'] == "kaj" && $_POST['Password'] == "munk") {
        $_SESSION['logged'] = 1;
        header ("Refresh: 5; URL=" . $_POST['redirect'] . "");
        echo "You are being redirected to your Original page request!<br>";
        echo "(If your browser dosen't support this, <a href=\"".$_POST ['redirect']."\">Click here</a>)";
    } else {
?>
        <html>
        <head>
        <title>Clan Site</title>
        </head>
        <body>
        Invalid Username and/or Password<br><br>
        <form action="login.php" method="post">
        <input type="hidden" name="redirect" value="<?php echo $_POST['redirect']; ?>">
        Username: <input type="text" name="Username"><br>
        Password: <input type="Password" name="password"><br><br>
        <input type="Submit" name="Submit" value="Login">
        </form>
<?php
}
} else {
?>
<html>
<head>
<title>Clan Site</title>
</head>
<body>
You must be logged in to view this page<br><br>
<form action="login.php" method="post">
<input type="hidden" name="redirect" value="<?php echo $_GET['redirect']; ?>">
Username: <input type="text" name="Username"><br>
Password: <input type="Password" name="Password"><br><br>
<input type="Submit" name="Submit" value="Login">
</form>
<?php
}
?>
</body>
</html>
Avatar billede neess Nybegynder
21. januar 2005 - 11:37 #3
Som tidligere nævnt, har du husket at sætte din redirect var ?
Her er det sat og virker.

<?php
session_start();
$_session['logged'] = 0;

if (isset($_POST['Submit'])) {
    if ($_POST['Username'] == "kaj" && $_POST['Password'] == "munk") {
        $_SESSION['logged'] = 1;
        header ("Refresh: 5; URL=" . $_POST['redirect'] . "");
        echo "You are being redirected to your Original page request!<br>";
        echo "(If your browser dosen't support this, <a href=\"".$_POST ['redirect']."\">Click here</a>)";
    } else {
?>
        <html>
        <head>
        <title>Clan Site</title>
        </head>
        <body>
        Invalid Username and/or Password<br><br>
        <form action="" method="post">
        <input type="hidden" name="redirect" value="<?php echo $_POST['redirect']; ?>">
        Username: <input type="text" name="Username"><br>
        Password: <input type="Password" name="password"><br><br>
        <input type="Submit" name="Submit" value="Login">
        </form>
<?php
}
} else {
?>
<html>
<head>
<title>Clan Site</title>
</head>
<body>
You must be logged in to view this page<br><br>
<form action="" method="post">
<input type="hidden" name="redirect" value="login.php">
Username: <input type="text" name="Username"><br>
Password: <input type="Password" name="Password"><br><br>
<input type="Submit" name="Submit" value="Login">
</form>
<?php
}
?>
</body>
</html>
Avatar billede neess Nybegynder
21. januar 2005 - 11:37 #4
<input type="hidden" name="redirect" value="login.php">
Skal du jo så bare sætte til den side man skal redirectes hen til. f.eks. members.php eller hvad den nu skal hede.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester