Ankündigung

Einklappen
Keine Ankündigung bisher.

Weiterleiten nach Anmeldung

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Weiterleiten nach Anmeldung

    Ich hab folgendes Problem:

    in einem formular erfolgt eine anmeldung, die daten aus dem formular werden allerdings nicht in die neue seite übernommen, sondern an die Globale $PHP_SELF übergeben ( < form action="<?php $PHP_SELF ?>" method="post">). wie kann ich es nun gestalten, das nach einer erfolgreichen anmeldung eine weiterleitung stattfindet?

    hier mal der code:
    <body leftmargin="5" topmargin="10">
    <?php if(!isset($_POST['submit'])) { ?>
    <form action="<?php $PHP_SELF ?>" method="post">

    <table width="100%" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td align="center" colspan="3" height="150">[img]../images/firmenpunktgmbh.jpg[/img]</td>
    </tr>
    <tr>
    <td width="100">
    <td width="70">Benutzername</td>
    <td width="230"><input type="text" name="username" size="20" class="input" <?php if($_POST['username'] !="" ) {echo ' value="'.$_POST['username'].'"';} ?>></td>
    </tr>
    <tr>
    <td width="100">
    <td width="70">Passwort</td>
    <td width="230"><input type="password" name="password" size="20" class="input"></td>
    </tr>
    <tr>
    <td align="center" colspan="3"><input type="submit" name="submit" value="Anmelden" class="button"></td>
    </tr>
    </table>
    </form>

    <?php
    }elseif(!$_POST['username'] || $_POST['username'] == "") {
    echo '<p align="center">Bitte den Benutzername eingeben

    Zurück</p>';
    }elseif(!$_POST['password'] || $_POST['password'] == "") {
    echo '<form action="start.php" method="post">';
    echo '<p align="center">Bitte das Passwort eingeben

    ';
    echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
    echo '<input type="submit" name="zurueck" value="Zurück">';
    echo '</p>';
    echo '</form>';
    }else{


    $password = md5($_POST['password']);
    $query = @mysql_query("SELECT user, pass FROM users WHERE user = '".$_POST['username']."'") or die('Anmeldung ist fehlgeschlagen!');
    $result = @mysql_fetch_array($query) or die('<p align="center">Dieser Benutzername existiert nicht!
    Zurück</p>');

    if($password != $result['pass']){
    echo '<form action="start.php" method="post">';
    echo '<p align="center">Dieses Passwort ist falsch!

    ';
    echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
    echo '<input type="submit" name="zurueck" value="Zurück"></p>';
    echo '</form>';
    die;
    }else{
    $user = $result['user'];
    session_register('user');


    /*hier sollte nun der redirect stattfinden, kann man das auch über javascript machen?*/



    echo '<table border="0" width="100%" height="100%">
    <tr>
    <td align="center" valign="top">Sie haben sich erfolgreich eingeloggt.</td>
    </tr>
    <tr>
    <td height="15">[img]../images/leer.gif[/img]</td>
    </tr>
    <tr>
    <td align="center" valign="top">Folgen sie der Navigation, um in ihren gewünschten Geschäftsbereich zu gelangen.</td>
    </tr>
    <tr>
    <td align="center" valign="middle">[img]../images/firmenpunktgmbh.jpg[/img]</td>
    </tr>
    </table>';

    }
    }
    ?>
    </body>
    If you read this message backward, Satan will force you to smoke marijuana.
    Gute Tutorials


  • #2
    evtl so:
    Code:
    <script>setTimeout("location.href='index.php?page=welcome'",20)</script>
    oder einfach nen meta-refresh nutzen!

    Kommentar


    • #3
      problem beim meta-refresh:

      ich benutze eine frameseite, und bei erfolgreicher anmeldung wird die neue seite in den hauptframe geladen, und nicht neu in das fenster.


      <head>
      <title>LogIn</title>
      <link rel="stylesheet" type="text/css" href="../scripts/style.css">


      <?php
      if(!session_is_registered('user') || $_SESSION['user'] == "") {

      echo '<meta http-equiv="refresh" content="2; URL=http://server/Zugriff/start.php">';
      }



      else {
      echo '<meta http-equiv="refresh" content="0; URL=http://server/Oeffentlich/index.php; ">'; /*diese seite sollte halt nun im fenster neu geladen werden*/
      }
      ?>


      </head>
      If you read this message backward, Satan will force you to smoke marijuana.
      Gute Tutorials

      Kommentar


      • #4
        wie wärs mit header("Location: blabla.php") ?

        Kommentar


        • #5
          Re:

          untauglich, denn durch den refresh erfolgt ja die überprüfung, ob der user nun angemeldet ist oder nicht. mir wäre es ja ma liebsten, wenn ich durch einen script befehl die weiterleitung direkt nach vergabe der session-id durchführen könnte, denn der nachteil am refresh ist halt der, das langsamere user sich nicht einloggen können... und die seite sollte doch DAU-sicher sein.
          If you read this message backward, Satan will force you to smoke marijuana.
          Gute Tutorials

          Kommentar


          • #6
            Die Variante mit JavaScript ist doch OK.
            Aber du brauchst als Zeit nicht 20 Milisekunen einzugeben, lass das setTimeout() einfach weg

            Kommentar


            • #7
              Zitat von Michigras
              Die Variante mit JavaScript ist doch OK.
              Na klar. Dann steht im HTML der URL drin, der einem die Anmeldung erspart.

              Kommentar

              Lädt...
              X