Ankündigung

Einklappen
Keine Ankündigung bisher.

Zurück auf die aufgerudene Seite

Einklappen

Neue Werbung 2019

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

  • Zurück auf die aufgerudene Seite

    Hallo Leute ich brauch noch mal eure Hilfe!
    ich hab ein Login Formular erstellt geht alles ohne Fehler. mein Problem ist folgendes:
    bei enter klicken oder senden beim Login Formular geht es immer auf den angegeben Pfad bzw. Seite zurück, und genau das will ich nicht. es soll auf dieselbe Seite zurück kehren die man abgerufen hat!
    aktuell habe ich das dran: header ("Location: ../php/privado.php");
    welchen script muss ich dort eingeben? in meinem buch kommt das nicht vor.
    danke

    P.S. was ist im genauen AJAX?

  • #2
    Was kommt denn in Deinem Buch vor?

    Kommentar


    • #3
      Vorallem was hat das ganze mit AJAX zu tun?

      Kommentar


      • #4
        es hat Garnichts mit Ajax zu tun, ich wollt nur wissen was Ajax im genauen ist... aber könnt ihr mir nun helfen bei meinem Problem? wehre sehr dankbar!

        Kommentar


        • #5
          Dazu brauchst du aber kein Ajax, du sendest das Formular einfach auf die Seite ab, an der das Formular auch angezeigt wird. Alternativ dazu kannst du auch ein hidden Feld einbauen, wo du die aktuelle Seite drin stehen hast. Ist dieser wert gegeben, kannst du einen Redirect darauf bauen.

          Kommentar


          • #6
            JA schon, aber wenn man von einer anderen seite kommt und sich einlogt sollte man ja nicht immer auf die seite privado.php kommen sondern von dort zurückkehren da wo man ist, oder muss ich mehrere login´s erstellen?

            Kommentar


            • #7
              Ne, ließ dir noch mal meinen Post durch, ich glaube du hast den nicht ganz verstanden...

              Du machst ein hidden Feld rein, wo der user war und sich einloggen muss. Das Forumular schickst du an die login.php ab. Die Login.php überprüft den Benutzer und validiert ihn. Nach erfolgreichen Login leitest du ihn zur ursprünglichen Seite weiter...

              Kommentar


              • #8
                Ok! Ich verstehe glaube ich was du meinst:

                Du rufst das Loginformular von der Seite "hallo" auf, möchtest gerne zum Formular gelangen, dort einloggen und wiederum, wenn das Login korrekt ist, auf die Seite "hallo" zurückkehren?

                Dann würde ich es so machen:
                Du gibst beim Link zum Loginformular die aktuelle Seite mit, das heisst zum Beispiel:
                "index.php=site=login&sitenow=hallo"
                In der Loginklasse oder Loginfunktion holst du nun den GET-Wert (--> $_GET['sitenow']) und füllst ihn in den Link welcher dann aufgerufen wird wenn das Loginformular abgeschickt wird. z.B. "index.php?site=".$_GET['sitenow']."&login=true"
                In der public-function von index.php überprüfst du ob der GET-Wert $_GET['login'] == true ist und wenn ja rufst du deine Loginfunktion auf. So loggst du dich ein und kommst erst noch auf die richtige Seite.

                gruss

                Update:
                tomtaz hat natürlich auch eine gute Lösung, es kommt ganz darauf an wie deine Seite aufgebaut ist... =]

                Kommentar


                • #9
                  Aha und genau da hakt es bei mir... ich hab mein ganzes php buch durchgesucht und keine antwort gefunden darum wende ich mich an euch...googeld hab ich auch schon.
                  ich weiss nicht wie ich den script einsetzen soll

                  Kommentar


                  • #10
                    oh sorry webproger, hab deinen komentar übersehen.
                    am sollte ich dann die ganze seite umgestalten und das login forumal nicht mehr als eigene seite sein?
                    ich habe es derzeitig als login.php und nicht wie du beschrieben hast.

                    Kommentar


                    • #11
                      ok, dann würde ich es machen wie tomtaz gesagt hat.

                      1. du übergibst beim Aufruf des Loginformulars (login.php) in der URL auch noch die aktuelle Seite --> "login.php?sitenow=hallo"
                      2. du holst dir in der public-function __construct von login.php den wert $_GET['sitenow'] und speicherst ihn eine variabel (z.B. $site) auf welche du auch beim erstellen der login-form zugreifen kannst.
                      3. du erstellst die login-form. Dafür gibt es zwei möglichkeiten:
                      z.B.:
                      <form action="login.php" method="post">
                      <input type="text" name="benutzername" />
                      <input type="password" name="pw" />
                      <input type="hidden" name="site" />
                      <input type="submit" value="Login" />
                      </form>

                      oder

                      <form action="$site?login=true" method="post">
                      <input type="text" name="benutzername" />
                      <input type="password" name="pw" />
                      <input type="hidden" name="site" />
                      <input type="submit" value="Login" />
                      </form>
                      4. Bei der 1. Version musst du in jeder public-function __construct der php-dateien abfragen ob der wert $_GET['login'] == 'true' ist, wenn ja rufst du die login-funktion in der loginklasse auf und gibst die Werte aus der Form mit.
                      Bei der 2. Version musst du in der Loginklasse nach Authentifizierung des Benutzers einen machen welcher folgendermassen aussieht: Header("Location: http://www.xxx.de/".$_GET['site'].".php");

                      ich würde die 2. version bevorzugen. alles klar? =]

                      Kommentar


                      • #12
                        okey ich habe es mal versucht... aber dein zweiter teil nicht versanden...
                        2. Version musst du in der Loginklasse nach Authentifizierung des Benutzers einen machen welcher folgendermassen aussieht: Header("Location: http://www.xxx.de/".$_GET['site'].".php");
                        irgendwie macht der das nicht, der sagt mir das es die seite nicht gibt, mach ich da was falsch?

                        Kommentar


                        • #13
                          kannst du kurz den Quellcode und die Fehlermeldung posten, dann kann ich dir viel genauer auf dein Problem bezogen Antwort geben. =]

                          Kommentar


                          • #14
                            formulat.php
                            <table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#99CCCC">
                            <tr>
                            <td>


                            <?php
                            if (isset ($_REQUEST["fehler"]))
                            {
                            echo "Sus datos estan Incorrectas.";
                            }
                            ?>
                            <form action="login.php" method="post">
                            <br>
                            <br>
                            <table width="100%" border="0" cellspacing="0" cellpadding="0">
                            <tr>
                            <td>&nbsp;</td>
                            <td colspan="2" align="center">Introdusca sus Datos</td>
                            <td>&nbsp;</td>
                            </tr>
                            <tr>
                            <td width="25%">&nbsp;</td>
                            <td width="25%" align="right">Nombre:</td>
                            <td width="25%"><input type="text" name="name" size="20"></td>
                            <td width="25%">&nbsp;</td>
                            </tr>
                            <tr>
                            <td width="25%">&nbsp;</td>
                            <td width="25%" align="right">Contrase&ntilde;a: </td>
                            <td width="25%"><input type="password" name="pwd" size="20"></td>
                            <td width="25%"><input type="hidden" name="site" /></td>
                            </tr>
                            <tr>
                            <td width="25%">&nbsp;</td>
                            <td colspan="2" align="center"><input type="submit" value="Login"></td>
                            <td width="25%">&nbsp;</td>
                            </tr>
                            </table>
                            </form>
                            </td>
                            </tr>
                            </table>

                            Kommentar


                            • #15
                              login.php
                              <?php
                              // Session starten
                              session_start ();
                              // Datenbankverbindung aufbauen
                              $connectionid = mysql_connect ("localhost", "root", "");
                              if (!mysql_select_db ("enicas", $connectionid))
                              {
                              die ("Keine Verbindung zur Datenbank");
                              }
                              $sql = "SELECT ".
                              "Id, Nickname, Nachname, Vorname ".
                              "FROM ".
                              "admin_empresa ".
                              "WHERE ".
                              "(Nickname like '".$_REQUEST["name"]."') AND ".
                              "(Kennwort = '".md5 ($_REQUEST["pwd"])."')";
                              $result = mysql_query ($sql);
                              if (mysql_num_rows ($result) > 0)
                              {
                              // Benutzerdaten in ein Array auslesen.
                              $data = mysql_fetch_array ($result);
                              // Sessionvariablen erstellen und registrieren
                              $_SESSION["user_id"] = $data["Id"];
                              $_SESSION["user_nickname"] = $data["Nickname"];
                              $_SESSION["user_nachname"] = $data["Nachname"];
                              $_SESSION["user_vorname"] = $data["Vorname"];
                              Header("Location: http://localhost/enicas/".$_GET['site'].".php");
                              }
                              else
                              {
                              header ("Location: formular.php?fehler=1");
                              }
                              ?>

                              Kommentar

                              Lädt...
                              X