kostenloser Webspace werbefrei: lima-city


nach login automatisch weiterleiten

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    tshaika

    tshaika hat kostenlosen Webspace.

    kann mir jemand helfe
    und zwar

    ich habe in index.php login eingebaut und will nach einlogin automatisch weiter leiten zum myprofil.php

    php

    <?php
    if(isset($_POST['submit']) and $_POST['submit']=='Einloggen') { 
    if(isset($_SESSION['UserID'], $_SESSION['Nickname'])) { 
    ?>
    <h3>Willkommen <?php echo htmlspecialchars($_SESSION['Nickname']); ?></h3>
    <p>
        Sie haben sich erfolgreich eingelogt.<br>
        <br>
        <a href="index.php">Zurück zur Startseite</a>
    </p>
    <?php
        }else { 
    ?>
    <p>
        Sie konnten nicht eingeloggt werden.<br>
        Nickname oder Passwort fehlerhaft.<br>
        Zur&uuml;ck zum <a href="<?php echo $_SERVER['PHP_SELF']; ?>">Login-Formular</a>
    </p>
    <?php
        } 
        }else { 
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
        <table>
            <tr>
                <td><p>Nickname: </p></td>
                 <td><input type="text" name="Nickname" maxlength="32"></td>
            </tr>
            <tr>
                <td><p>Passwort: </p></td>
                <td><input type="password" name="Passwort"></td>
                </tr>
            <tr>
                <td><p>eingeloggt bleiben: </p></td>
                <td><input type="checkbox" name="Autologin" value="1"></td>
            </tr>
            <tr>
                <td><a href=" verifiziere.php">Passwort vergessen</a></td>
                <td><input type="submit" name="submit" value="Einloggen"></td>
            </tr>
        </table>
    </form>
    <?php
        } 
    ?>


    danke:wink:
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Baue doch einfach eine JavaScrip-Weiterleitung ein:
    <script language="javascript">
        function Weiterleitung()
        {
           location.href='/myprofil.php;
        }
        window.setTimeout("Weiterleitung()", 1000);
    </script>


    Beitrag zuletzt geändert: 7.3.2013 15:22:40 von fuhnefreak
  4. m******e

    fuhnefreak schrieb:
    Baue doch einfach eine JavaScrip-Weiterleitung ein:
    <script language="javascript">
        function Weiterleitung()
        {
           location.href='/myprofil.php;
        }
        window.setTimeout("Weiterleitung()", 1000);
    </script>
    ^^ Schlimmer gehts nimmer.. ;)

    tshaika schrieb:
    ich habe in index.php login eingebaut und will nach einlogin automatisch weiter leiten zum myprofil.php


    <?php
    if(isset($_POST['submit']) and $_POST['submit']=='Einloggen') { 
    if(isset($_SESSION['UserID'], $_SESSION['Nickname'])) { 
    header("Location: myprofil.php");
        }else { 
    [...]
  5. Autor dieses Themas

    tshaika

    tshaika hat kostenlosen Webspace.

    menschle schrieb:
    fuhnefreak schrieb:
    Baue doch einfach eine JavaScrip-Weiterleitung ein:
    <script language="javascript">
        function Weiterleitung()
        {
           location.href='/myprofil.php;
        }
        window.setTimeout("Weiterleitung()", 1000);
    </script>
    ^^ Schlimmer gehts nimmer.. ;)

    tshaika schrieb:
    ich habe in index.php login eingebaut und will nach einlogin automatisch weiter leiten zum myprofil.php


    <?php
    if(isset($_POST['submit']) and $_POST['submit']=='Einloggen') { 
    if(isset($_SESSION['UserID'], $_SESSION['Nickname'])) { 
    header("Location: myprofil.php");
        }else { 
    [...]

    ich hab jetz so stehen

    <?php
    if(isset($_POST['submit']) and $_POST['submit']=='Einloggen') { 
    if(isset($_SESSION['UserID'], $_SESSION['Nickname'])) { 
    header("Location: profil.php?id='.$row['ID'].");
    
    ?>
    <?php
        }else { 
    ?>
    <p>
        Sie konnten nicht eingeloggt werden.<br>
        Nickname oder Passwort fehlerhaft.<br>
        Zur&uuml;ck zum <a href="<?php echo $_SERVER['PHP_SELF']; ?>">Login-Formular</a>
    </p>
    <?php
        } 
        }else { 
    ?>


    geht aber nicht???
  6. Versuch es mal so:
    <?php
    if(isset($_POST['submit']) and $_POST['submit']=='Einloggen') { 
        if(isset($_SESSION['UserID'], $_SESSION['Nickname'])) { 
            header("Location: profil.php?id=".$row['ID']);
        } else { 
        ?>
        <p>
            Sie konnten nicht eingeloggt werden.<br>
            Nickname oder Passwort fehlerhaft.<br>
            Zur&uuml;ck zum <a href="<?php echo $_SERVER['PHP_SELF']; ?>">Login-Formular</a>
        </p>
        <?php
        }
    }
    ?>

    Dein letzter Teil dürfte überflüssig sein. Außerdem war der header() falsch.

    Beitrag zuletzt geändert: 7.3.2013 16:33:52 von tobiworlds
  7. Autor dieses Themas

    tshaika

    tshaika hat kostenlosen Webspace.

    nenen lezte teil brauch auch also so

    <?php
    if(isset($_POST['submit']) and $_POST['submit']=='Einloggen') { 
    if(isset($_SESSION['UserID'], $_SESSION['Nickname'])) { 
    header("Location: profil.php?id=".$row['ID']);
    
        }else { 
    ?>
    <p>
        Sie konnten nicht eingeloggt werden.<br>
        Nickname oder Passwort fehlerhaft.<br>
        Zur&uuml;ck zum <a href="<?php echo $_SERVER['PHP_SELF']; ?>">Login-Formular</a>
    </p>
    <?php
        } 
        }else { 
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
        <table>
            <tr>
                <td><p>Nickname: </p></td>
                 <td><input type="text" name="Nickname" maxlength="32"></td>
            </tr>
            <tr>
                <td><p>Passwort: </p></td>
                <td><input type="password" name="Passwort"></td>
                </tr>
            <tr>
                <td><p>eingeloggt bleiben: </p></td>
                <td><input type="checkbox" name="Autologin" value="1"></td>
            </tr>
            <tr>
                <td><a href=" verifiziere.php">Passwort vergessen</a></td>
                <td><input type="submit" name="submit" value="Einloggen"></td>
            </tr>
        </table>
    </form>
    <?php
        } 
    ?>


    geht trotztem nicht das bleibt immer bei index.php

    Beitrag zuletzt geändert: 7.3.2013 16:55:51 von tshaika
  8. Ich weiß zwar nicht, was menschle mal wieder hat, warscheinlich mag er wohl einfach kein JavaScript :biggrin:. Aber die Methode geht auf jeden Fall, da jeder normale und gängige Browser mitlerweile JavaScript unterstützt :wave:

    Hier dann der fertige Code:
    <?php
    if(isset($_POST['submit']) and $_POST['submit']=='Einloggen') { 
    if(isset($_SESSION['UserID'], $_SESSION['Nickname'])) { 
    ?>
    <script language="javascript">
        function Weiterleitung()
        {
           location.href='/myprofil.php;
        }
        window.setTimeout("Weiterleitung()", 3000);
    </script>
    <h3>Willkommen <?php echo htmlspecialchars($_SESSION['Nickname']); ?></h3>
    <p>
        Sie haben sich erfolgreich eingelogt.<br>
        <br>
        <a href="index.php">Zurück zur Startseite</a>
    </p>
    <?php
        }else { 
    ?>
    <p>
        Sie konnten nicht eingeloggt werden.<br>
        Nickname oder Passwort fehlerhaft.<br>
        Zur&uuml;ck zum <a href="<?php echo $_SERVER['PHP_SELF']; ?>">Login-Formular</a>
    </p>
    <?php
        } 
        }else { 
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
        <table>
            <tr>
                <td><p>Nickname: </p></td>
                 <td><input type="text" name="Nickname" maxlength="32"></td>
            </tr>
            <tr>
                <td><p>Passwort: </p></td>
                <td><input type="password" name="Passwort"></td>
                </tr>
            <tr>
                <td><p>eingeloggt bleiben: </p></td>
                <td><input type="checkbox" name="Autologin" value="1"></td>
            </tr>
            <tr>
                <td><a href=" verifiziere.php">Passwort vergessen</a></td>
                <td><input type="submit" name="submit" value="Einloggen"></td>
            </tr>
        </table>
    </form>
    <?php
        } 
    ?>


    Dann wird noch 3 Sekunden die Willkommensmeldung angezeigt und dann wird der User weitergeleitet.
  9. if(isset($_SESSION['UserID'], $_SESSION['Nickname'])) { 
    header("Location: profil.php?id=".$row['ID']);

    Sind die Sessionvariablen $_SESSION['UserID'] und $_SESSION['Nickname'] gesetzt?
    Wenn nicht, dann wird eine Weiterleitung nicht durchgeführt.


    Beitrag zuletzt geändert: 7.3.2013 17:16:00 von timebandit
  10. h**s

    wo prüfst du denn ob die gerade gesendeten daten von "Nickname" und "Passwort" überhaupt stimmen - und wie kommst du dann an "$_SESSION['UserID']" und "$_SESSION['Nickname']" ?...
    und wo entsteht die variable $row['ID']?... bist du sicher das die if-bedingung überhaupt irgendwann zutrifft ? vielleicht landet dein script einfach immer im "else" :smokin:

    und bedenke das bei einer header()-weiterleitung NICHTS vorher ausgegeben werden darf !
  11. Autor dieses Themas

    tshaika

    tshaika hat kostenlosen Webspace.

    hcms

    kannst du mit richtig php schreiben das ich zum richtige user weitergeleitet kann?

    :prost:


    oder gibt andere möglichkeit

    ich will so wen user nicht eingelogt ist soll loginsystem wen eigeloggt ist soll profil zeigen

    Beitrag zuletzt geändert: 7.3.2013 17:34:16 von tshaika
  12. h**s

    nun, dir wurden hier ja schon verschiedene vorschläge gemacht wie eine weiterleitung funktioniert - wie gesagt zb mit javascript oder php-header()... ich würde definitiv zu der variante von "tobiworlds" tendieren - und an der einen entscheidenden zeile code ist alles ok denke ich:
    header("Location: profil.php?id=".$row['ID']);


    ...das das bei dir nicht funktioniert liegt wohl eher an dem "drumherum"... denn wenn das der ganze code sein soll den du da gepostet hast kanns ja auch nicht funktionieren - siehe die stichpunkte aus meinem vorherigen beitrag.

    du wirst doch ein script haben um Username und Passwort mit der datenbank zu vergleichen - oder etwa nicht ? daraus stammt wohl die variable $row['ID']... aber in deinem geposteten code kann man das nirgends sehen... auch wie die session zustande kommt ist nicht nachvollziehbar.
  13. m******e

    fuhnefreak schrieb:
    Ich weiß zwar nicht, was menschle mal wieder hat, warscheinlich mag er wohl einfach kein JavaScript :biggrin:
    Och, JavaScript mag ich schon, aber schau doch mal, wo wir hier sind:
    Richtig, es ist das PHP, MySQL & .htaccess -Forum.

    Aber die Methode geht auf jeden Fall, da jeder normale und gängige Browser mitlerweile JavaScript unterstützt
    Was ein Browser unterstützt, spielt doch gar keine Rolle.
    Wenn ein Anwender JavaScript deaktiviert hat, nützt es ihm rein gar nichts.

    Und wozu JavaScript einsetzen, wenn es sich doch mit PHP lösen lässt?

    Brauchst nicht antworten - war ne rein rhetorische Frage. ;)
  14. Autor dieses Themas

    tshaika

    tshaika hat kostenlosen Webspace.

    ach ja ich hab ich denke das ist richtig ist

    if(isset($_POST['submit']) AND $_POST['submit']=='Einloggen'){
            // Falls der Nickname und das Passwort übereinstimmen..
            $sql = "SELECT
                            ID
                    FROM
                            User
                    WHERE
                            Nickname = '".mysql_real_escape_string(trim($_POST['Nickname']))."' AND
                            Passwort = '".md5(trim($_POST['Passwort']))."'
                   ";
            $result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
            // wird die ID des Users geholt und der User damit eingeloggt
            $row = mysql_fetch_assoc($result);
            // Prüft, ob wirklich genau ein Datensatz gefunden wurde
            if (mysql_num_rows($result)==1){
                 doLogin($row['ID'], isset($_POST['Autologin']));
    			 header("Location: myprofil.php?id=".$row['ID']);
                
            }
            else{
    		?>
                      <p>
    					Sie konnten nicht eingeloggt werden.<br>\n".
    					Nickname oder Passwort fehlerhaft.<br>\n".
                        Zurück zum <a href=<?php echo $_SERVER['PHP_SELF'];?>">Login-Formular</a>
    				</P>
    		<?php
            }
        }
        else{
    	?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
        <table>
            <tr>
                <td><p>Nickname: </p></td>
                 <td><input type="text" name="Nickname" maxlength="32"></td>
            </tr>
            <tr>
                <td><p>Passwort: </p></td>
                <td><input type="password" name="Passwort"></td>
                </tr>
            <tr>
                <td><p>eingeloggt bleiben: </p></td>
                <td><input type="checkbox" name="Autologin" value="1"></td>
            </tr>
            <tr>
                <td><a href=" verifiziere.php">Passwort vergessen</a></td>
                <td><input type="submit" name="submit" value="Einloggen"></td>
            </tr>
        </table>
    </form>
    <?php
        }
    ?>
  15. rainbowsix-roguespear

    rainbowsix-roguespear hat kostenlosen Webspace.

    Ich schreib immer eine Variable $jumpurl:


    $jumpurl = "index.php";
     echo "<meta http-equiv=\"refresh\" content=\"3;url=$jumpurl\" /> Weiterleitung in 3 Sekunden";


    Mit dem Punkt content=\"3;url=:$jumpurl\" gibst du durch die Zahl 3 an, wie lange gewartet werden soll bis du weitergeleitet wirst. Schreibst du die Jumpurl ans ende deines Skriptes und fügst als zahl 0 ein wirst du weitergeleitet, sobald das skript durchgearbeitet wurde. :D
  16. m******e

    rainbowsix-roguespear schrieb:
    Ich schreib immer eine Variable $jumpurl:

    $jumpurl = "index.php";
     echo "<meta http-equiv=\"refresh\" content=\"3;url=$jumpurl\" /> Weiterleitung in 3 Sekunden";
    Mit dem Punkt content=\"3;url=:$jumpurl\" gibst du durch die Zahl 3 an, wie lange gewartet werden soll bis du weitergeleitet wirst. Schreibst du die Jumpurl ans ende deines Skriptes und fügst als zahl 0 ein wirst du weitergeleitet, sobald das skript durchgearbeitet wurde. :D
    Weiterleitungspausen sind genauso 80´er, wie Intros.
    Und wozu HTML als Weiterleitung? PHP-Lösungen wurden doch schon genannt.
  17. Autor dieses Themas

    tshaika

    tshaika hat kostenlosen Webspace.

    ich hab ein problem mit weiterleitung am myprofil

    und zwar ich ich habe eingloggin in index.php und es leitet weiter mit

    header("Location: myprofil.php?id=".$row['ID']);
    weiter nur wenn ich seitenkopf.php einbilde geht nicht mehr und bleibt bei index.php steihen kann mir jemand helhen die grundgerust ist mit html5 geschrieben


    danke
  18. m****r

    tshaika schrieb:
    ich hab ein problem mit weiterleitung am myprofil

    und zwar ich ich habe eingloggin in index.php und es leitet weiter mit

    header("Location: myprofil.php?id=".$row['ID']);
    weiter nur wenn ich seitenkopf.php einbilde geht nicht mehr und bleibt bei index.php steihen kann mir jemand helhen die grundgerust ist mit html5 geschrieben


    danke


    Das hat man dir jetzt wahrscheinlich schon 10mal erzählt, aber nochmal: Wenn du header() zur Weiterleitung benutzt, dann darf bevor du header() verwendest KEINE AUSGABE VON CODE an den Client erfolgen. Das heißt es darf nichtmal ein <div> oder ähnliches benutzt werden. Benutze ERST header() und dann fügst du deinen HTML Code ein. Durch das einbinden von seitenkopf.php hast du wahrscheinlich eine Codeausgabe VOR header() erzeugt.
  19. Autor dieses Themas

    tshaika

    tshaika hat kostenlosen Webspace.

    ach ja danke geht wieder
  20. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!