kostenloser Webspace werbefrei: lima-city


PHP Echo Zeile

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    c****c

    Hi !

    Wie kann ich in einer Echo Zeile eine Weiterleitung zu einer anderen Seite machen?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Hi!

    Also ein paar mehr tag/information">Informationen und Sätze wären schon ganz nett gewesen. Was für eine Weiterleitung soll es denn werden? Gibst du davor schon Inhalt aus? Wenn nicht, dann könntest du die Funktion header benutzen.
    http://www.php.net/manual/de/function.header.php

    Mit HTML würde das ganze dann eher so aussehen:
    <?php
    //...code Code
      echo '<meta http-equiv="refresh" content="3; url=http://ADRESSE />';
    //... dein Code


    Die Zahl bei "content" gibt an, wieviele Sekunden es bist zur Weiterleitung dauert. Bei "url" musst du die Adresse, zu der du weiterleiten willst eingeben.

    Hoffe das hilft, wenn nicht, dann musst du noch mehr Informationen zur verfügung stellen.
  4. Autor dieses Themas

    c****c


    Hi!

    Also ein paar mehr Informationen und Sätze wären schon ganz nett gewesen. Was für eine Weiterleitung soll es denn werden? Gibst du davor schon Inhalt aus? Wenn nicht, dann könntest du die Funktion header benutzen.
    http://www.php.net/manual/de/function.header.php

    Mit HTML würde das ganze dann eher so aussehen:
    <?php
    //...code Code
      echo '<meta http-equiv="refresh" content="3; url=http://ADRESSE />';
    //... dein Code


    Die Zahl bei "content" gibt an, wieviele Sekunden es bist zur Weiterleitung dauert. Bei "url" musst du die Adresse, zu der du weiterleiten willst eingeben.

    Hoffe das hilft, wenn nicht, dann musst du noch mehr Informationen zur verfügung stellen.


    Also, ich habe auf der Seite ein Loginscript

    Wenn man sich einloggt, dann steht auf der nächsten Seite"Login erfolgreich". Da will ich dann, dass man automatisch in den Memberbereich weitergeleitet wird.
  5. Für mein Login habe ich die login.php

    <?php 
    session_start(); 
    ?> 
    
    <?php 
    $verbindung = mysql_connect("mysql.lima-city.de", "xxx" , "xxx") 
    or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); 
    mysql_select_db("xxxx") or die ("Datenbank konnte nicht ausgewählt werden"); 
    
    $username = $_POST["username"]; 
    $passwort = md5($_POST["password"]); 
    
    $abfrage = "SELECT username, passwort FROM login WHERE username LIKE '$username' LIMIT 1"; 
    $ergebnis = mysql_query($abfrage); 
    $row = mysql_fetch_object($ergebnis); 
    
    if($row->passwort == $passwort) 
        { 
        $_SESSION["username"] = $username; 
        echo "Login erfolgreich. <br> <a href=\"member/start.php\">Hier geht´s weiter</a>"; 
        } 
    else 
        { 
        echo "Benutzername und/oder Passwort waren falsch. <a href=\"index.php\">Login</a>"; 
        } 
    
    ?>


    Jetzt möchte ich in die Zeile

    echo "Login erfolgreich. <br> <a href=\"member/start.php\">Hier geht´s weiter</a>";


    eine Weiterleitung auf member/start.php einfügen.

    Könnt ihr mir das einfügen ?

    Danke ! ;)

    Beitrag geändert: 18.12.2008 21:11:17 von davy
  6. Hallo,

    habe mir dein Script kurz angesehen.

    Was mir gleich auffällt: Eine große Sicherheits-Lücke.

    Stichwort: SQL-Injektion (http://de.wikipedia.org/wiki/SQL-Injektion)

    Zur Sicherheit solltes du mindestens alle möglichen Steuerzeichen für SQL-Befehle in der Variable $username maskieren.

    zb mit mysql_real_escape_string (http://de.php.net/mysql_real_escape_string)

    Ein wichtiges konzept: "all input data is evil"
    Also mann muss immer davon ausgehen, dass alle Daten die von Ausen eingeben werden können (sei es per POST, GET, COOKIES, uploads, ...) böse ist und man es entsprechend filter muss.

    Konkret zu deinem Problem: Also das meta refresh tag sollte allerdings in den <head> bereich deine webseite. Das könntest du zb dadurch realisieren, dass du alle ausgaben (echo) in eine Variable sicherst und dann anschliesend die html seite zussammensetzt.


    Hey ich hoff das war jetzt nicht zuviel ;)
  7. Du scheinst dir meinen Post nicht genau durchgelesen zu haben, denn dort habe ich die Antwort bereits geschrieben.
    Ersetze einfach die folgende Zeile mit meinem folgendem Code.

    <?php 
      echo "Login erfolgreich. <br> <a href=\"member/start.php\">Hier geht´s weiter</a>"; 
    ?>


    Ersetzen mit:
    <?php
      echo 'Erfolgreich eingeloggt! Sie werden in Kürze weitergeleitet. Sollte ihr Browser keine automatische Weiterleitung unterstützen, so klicken sie bitte <a href="imember/start.php">hier</a>.<meta http-equiv="refresh" content="3; url=member/start.php" />'; 
    ?>

  8. Du scheinst dir meinen Post nicht genau durchgelesen zu haben, denn dort habe ich die Antwort bereits geschrieben.
    Ersetze einfach die folgende Zeile mit meinem folgendem Code.

    <?php 
      echo "Login erfolgreich. <br> <a href=\"member/start.php\">Hier geht´s weiter</a>"; 
    ?>


    Ersetzen mit:
    <?php
      echo 'Erfolgreich eingeloggt! Sie werden in Kürze weitergeleitet. Sollte ihr Browser keine automatische Weiterleitung unterstützen, so klicken sie bitte <a href="imember/start.php">hier</a>.<meta http-equiv="refresh" content="3; url=member/start.php" />'; 
    ?>



    Ich würde es wie schon gesagt wurde in head setzen.
    http://de.selfhtml.org/html/kopfdaten/meta.htm#weiterleitung
  9. t*****b

    header("Location: weiter.php");


    Und bevor jetzt alle kommen und meinen das geht nicht: Davor darf keine Ausgab, auch kein Whitespace (Leerzeichen, Tag, ...) ausgegeben werden.

  10. header("Location: weiter.php");


    Und bevor jetzt alle kommen und meinen das geht nicht: Davor darf keine Ausgab, auch kein Whitespace (Leerzeichen, Tag, ...) ausgegeben werden.

    Du hast dann nicht richtig gelesen. Es kommt ja ne Ausgabe. Und zwar dass der User erfolgreich eingeloggt ist!
    Daher geht nur per Meta, nicht per Header.
  11. Autor dieses Themas

    c****c


    Du scheinst dir meinen Post nicht genau durchgelesen zu haben, denn dort habe ich die Antwort bereits geschrieben.
    Ersetze einfach die folgende Zeile mit meinem folgendem Code.

    <?php 
      echo "Login erfolgreich. <br> <a href=\"member/start.php\">Hier geht´s weiter</a>"; 
    ?>


    Ersetzen mit:
    <?php
      echo 'Erfolgreich eingeloggt! Sie werden in Kürze weitergeleitet. Sollte ihr Browser keine automatische Weiterleitung unterstützen, so klicken sie bitte <a href="imember/start.php">hier</a>.<meta http-equiv="refresh" content="3; url=member/start.php" />'; 
    ?>



    Super das klappt !

    Danke !

  12. Du hast dann nicht richtig gelesen. Es kommt ja ne Ausgabe. Und zwar dass der User erfolgreich eingeloggt ist!
    Daher geht nur per Meta, nicht per Header.


    Und wie wärs mit header einfach vor diesem einen Satz oO Dann geht der auch. Aber ist Geschmackssache.
  13. t*****b

    Ich verstehe sowieso nicht, dass man extra eine Seite braucht um den User zu zeigen, dass er eingeloggt ist. Man kann ihn zu seinee Verwaltung weiterleiten oder sonst irgendwohin, wo man nur Zugriff hat, wenn man die entsprechenden Rechte hat. Spätestens wenn das Loginform weg ist und Bentzerspezifische Links (Profil, private Nachrichten, was es sonst so noch gibt) da stehen, erkennt auch ein DAU, dass er eingeloggt ist.
    /Edit: Man sollte auch an die Usability denken.

    Beitrag geändert: 19.12.2008 12:31:49 von trueweb

  14. Ich verstehe sowieso nicht, dass man extra eine Seite braucht um den User zu zeigen, dass er eingeloggt ist. Man kann ihn zu seinee Verwaltung weiterleiten oder sonst irgendwohin, wo man nur Zugriff hat, wenn man die entsprechenden Rechte hat. Spätestens wenn das Loginform weg ist und Bentzerspezifische Links (Profil, private Nachrichten, was es sonst so noch gibt) da stehen, erkennt auch ein DAU, dass er eingeloggt ist.
    /Edit: Man sollte auch an die Usability denken.

    Beitrag geändert: 19.12.2008 12:31:49 von trueweb

    Ich denke dass die Seite eine seite ist, die schaut ob alle angaben richtig ist.
    Naja jeden das seine, mich nervt sowas nicht.
  15. 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!