tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
14
ZUGRIFFE
468
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    thehasso thehasso ist offline Mitglied Brokat
    Registriert seit
    Apr 2008
    Beiträge
    345
    Hallo zusammen,

    ich hab ein sehr schwieriges Problem. Ich hoffe jemand hier kennt eine Lösung. Ich sitze seid 4 monaten an dem Problem doch keiner hat eine genaue ahnung woran es happert. Und zwar geht es darum, das wenn man sich bei mir auf der Seite einloggt nach dem Login eine Weiße Seite kommt. Dies ist aber nicht immer der Fall. Mal kommt die Seite mal kommt die Seite nicht.

    Also Ich habe eine Vermutung, dass es an den Session liegt? Bin mir aber nicht sicher. Weil wenn sich immer der selbe einloggt mit der selbene e.mail und Passwort funktionierts eigentlich immer. Sobald man sich dann mit einen anderen Account anmeldet funktionierts plötzlich nicht mehr....

    Also die weiterleitungsseite enthält eine weiße leere Seite. Das heisst wenn man Quelltext anzeigen klickt, sieht man nichts außer die Standard Html tags wenn man ein leeres HTML Dokument hat.




    Ich hoffe ihr seid Wissender..

    LG danke
    Geändert von thehasso (21.12.09 um 01:31 Uhr)
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Du hast 2 if(). Du solltest diese mal mit else() ergänzen umd herauszufinden wo er scheitert. ggf. die wichtigen Variablen mit var_dump() ausgeben.

    Ev. auch mal die mysql_query-Fehler abfangen und ausgeben.
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    thehasso thehasso ist offline Mitglied Brokat
    Registriert seit
    Apr 2008
    Beiträge
    345
    daran liegts nicht. Hab schon mehrere Skripte versucht. Ich vermute es liegt an den Sessions. Kann das seiN?
     

  4. #4
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Zitat Zitat von thehasso Beitrag anzeigen
    Also die weiterleitungsseite enthält eine weiße leere Seite. Das heisst wenn man Quelltext anzeigen klickt, sieht man nichts außer die Standard Html tags wenn man ein leeres HTML Dokument hat.
    Dann wäre es nicht schlecht, wenn du auch diese Seite zeigst.

    Übrigens:bei deaktivierten Cookies wird dort keine Session aufrechterhalten, weil du die Session-ID nicht über die URL übermittelst.

    Weiterhin:
    Code :
    1
    
    if (isset($_POST['strEmail'])) {

    dort solltest du als erstes die Session leeren.
    Andernfalls blieben bei einem fehlerhaften 2.Login die Session-Daten vom vorherigen erfolgreichen Login erhalten.

    Schlussendlich:
    Wenn man einen Bug hat, dann findet man ihn durch debuggen...wie man das angeht, hat yaslaw angedeutet:


    1.Prüfen, was für POST-Daten ankommen
    2. Query auf Fehler prüfen
    Was ist z.B. hiermit?
    Code :
    1
    2
    3
    4
    
    $SQL_1 = sprintf("SELECT * FROM benutzer WHERE [B]Email[/B] = '%s' AND [B]Password[/B] = '%s' ",$loginIntId,$password);
       
    $strPassword = $RECset["[B]strPassword[/B]"];
    $strEmail = $RECset["[B]strEmail[/B]"];
    ..heissen die Felder nun Email+Password odet strPassword+strEmail ?

    3.num_rows() prüfen
    4.Inhalt der Session nach Setzen der Variablen prüfen
    5.Inhalt der SEssion nach erfolgter Weiterleitung prüfen
    6. Anweisung für den Fall, dass $_POST['strEmail'] nicht gesetzt ist....der wird aktuell nicht berücksichtigt->weisse Seite
     

  5. #5
    thehasso thehasso ist offline Mitglied Brokat
    Registriert seit
    Apr 2008
    Beiträge
    345
    Hallo,


    Ich hab alle Sache die du mir aufgelistet hast einmal getestet. Verrückterweise funktioniert es LOKAL also mit XAMPP reibungslos. Man kann sich mit 5 unterschiedlichen Accounts anmelden. Bei der Weiterleitung kommt nie eine Weiße Seite.


    Ich hab das Skript mal so gemacht, das Session mit UNSET beendet werden wie ihr mir vorgeschlagen habt. Bei jeden neuen Account anmeldung hat die Session dann neue Daten.

    Außerdem habe ich alle Variablen mit var dum ausgeben lassen dann erschiend:


    Den Hoster hab ich auch kontaktiert, vielleicht liegts daran das ind er db viel mehr Datensätze vorliegen als LOAKL er meinte jedoch er schließe zu 100% aus dass es am Server liege.


    Wenn ihr selbst mal testen wollt dann müsst ihr auf www.seelebanon.de gehen und dann ein Account machen.

    Übrigens ich muss auch sagen, dass wenn ich das Login im Internet versuche es mit meinen Standard Account fast immer geht. Log Ich mich mit einer anderen Email ein kommt diese Weiße Seite. Das ist auch bis gerade so auch nachdem ich das mit dem Unset gemacht habe.



    weil nur in der Datei das Skript vom Login so ist wie hier gepostet!


    Kann das irgendwie mit dem fehler zusammenhängen, das für unterschiedliche User unterschiedliche Cookies gesetzt werden? Jedoch hat jeder Cookie eine andere ID.
    Geändert von thehasso (21.12.09 um 01:32 Uhr)
     

  6. #6
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Zitat Zitat von Sven Mintel Beitrag anzeigen
    Dann wäre es nicht schlecht, wenn du auch diese Seite zeigst.
    der Code dieser Seite(start.dwt.php) wäre immer noch interessant zu sehen.
     

  7. #7
    thehasso thehasso ist offline Mitglied Brokat
    Registriert seit
    Apr 2008
    Beiträge
    345
    Die Datei ist riesig, deswegen hab ich bei der Weiterleitung es bei der index.dwt.php auf treffdaten weitergeleitet weil diese Deitei sogut wie sehr klein ist. Die Start.dwt.php ist jedoch riesig deswegen poste ich hier mal nur die zeilen über und ein bissien unter dem HTML TAG
    Geändert von thehasso (21.12.09 um 01:31 Uhr)
     

  8. #8
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Dieser Code macht mir das, was er tun sollte, er gibt jenes aus:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Unbenanntes Dokument</title>
    </head>
    <body>
    </body>
    </html><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">  
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" type="text/css" href="shadowbox.css">
    <script type="text/javascript" src="shadowbox.js"></script>
    <script type="text/javascript">
    Shadowbox.init({
        language:   "it",
        players:    ["qt","img"],
    });
     
    </script>
    ....eine weisse Seite, da kein darzustellender Inhalt vorhanden ist.
     

  9. #9
    thehasso thehasso ist offline Mitglied Brokat
    Registriert seit
    Apr 2008
    Beiträge
    345
    Ne leider auch nicht. Hab den Inhalt weg gemacht.

    Sehr wichtiger Hinweis wär eigentlich dass das Login mit meinen Standard Account geht und das fast immer und mit anderen Accounts kaum. Bei manschen Kollegen kommt immer nur eine Weiße Seite bei anderen geht's ab und zu.


    Sehr seltsam langsam.
     

  10. #10
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Ich weiss beim besten willen nicht, wie man dir Helfen soll.

    Du postest genau den Code nicht, der für die Ausgabe sichtbarer Inhalte sorgt, und der den Grund dafür in sich birgt, dass nichts zu Sehen ist
     

  11. #11
    thehasso thehasso ist offline Mitglied Brokat
    Registriert seit
    Apr 2008
    Beiträge
    345
    Hallo,

    ich hab jetzt mal ein Test gemacht und zwar die weiterlitungsseite enthält nur folgendes:

    weiter.php

    PHP-Code:
    <? 
    if (!isset($_SESSION)) {
      
    session_start();
    $strVorname $_SESSION['MM_Vorname']; //explizit von mir eingefügt! 
    $strNachname $_SESSION['MM_Nachname']; 

    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Unbenanntes Dokument</title>
    </head>
    <body>

    <? 

    echo $strVorname;
    echo 
    $strNachname;


    ?>

    </body>
    </html>
    Beachte: Login unter: http://www.seelebanon.de/index.dwt.php

    So klappt es bei jeden! Also bei jeden Kollegen kommt danach der Name. Das heisst doch es liegt am Inhalt der weiterleitungsseite oder?
    Geändert von thehasso (20.12.09 um 15:10 Uhr)
     

  12. #12
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Das heisst zumindest, dass du keine Seite bekommst, wenn du etwas ausgibst.
     

  13. #13
    thehasso thehasso ist offline Mitglied Brokat
    Registriert seit
    Apr 2008
    Beiträge
    345
    Hallo zusammen!!

    ich hab den Fehler gefunden!... Folgendes ist die Ursache:

    Die Einbindung dieser Datei versucht den Fehler:
    include("check_user_online.php");


    Wenn ich diese Datei Einbinde kommt der Fehler. Was ist daran so schlimm?



    LG
     

  14. #14
    Maik Tutorials.de Gastzugang
    Zitat Zitat von thehasso Beitrag anzeigen
    ich hab den Fehler gefunden!... Folgendes ist die Ursache:

    Die Einbindung dieser Datei versucht den Fehler:
    include("check_user_online.php");


    Wenn ich diese Datei Einbinde kommt der Fehler. Was ist daran so schlimm?
    Schwer zu sagen, wenn der Code von check_user_online.php hier nicht bekannt ist.

    mfg Maik
     

  15. #15
    thehasso thehasso ist offline Mitglied Brokat
    Registriert seit
    Apr 2008
    Beiträge
    345
    oki hier:

    kanns daran liegen dass ich anstatt include ein require machen muss? hier ist auf jeden fall der Code...

    PHP-Code:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Unbenanntes Dokument</title>
    </head>
    <body>
    <?php
    if (!isset($_SESSION)) {
      
    session_start();
    }
    ?>
    <?php
    require_once('checkuseronline_verbindung.php');
    $lastseen date("d.m.Y");


    // aufbau zur datenbank
    $dbconn mysql_connect($dbhost,$dbuser,$dbpass);
    mysql_select_db($db,$dbconn);


    // vorbereiten der benötigten SQL-Abfragen
    $query_delete "DELETE FROM online WHERE lastseen < NOW() - INTERVAL 10 MINUTE";

    $query_insert "INSERT INTO online (session,intID, id, nummer, lastseen) VALUES
                                        ('"
    .mysql_real_escape_string($_SESSION['MM_UserId'])."',
                                           '"
    .mysql_real_escape_string($_SESSION['MM_UserId'])."',
                                           '"
    .mysql_real_escape_string($_SESSION['MM_UserId'])."',
                                           '"
    .mysql_real_escape_string($_SESSION['MM_UserId'])."', 
                                           NOW() ) ON DUPLICATE KEY UPDATE lastseen = NOW()"
    ;


    $query_numrows "SELECT * FROM online";

    // hier noch ein INSERT einfügen für lastlogin STOP! kein insert sondern ein update!




    //**********************************************
    //Überprüfen ob Mitglied in der tabelle ist
    //**********************************************

    $sql "SELECT * FROM `tblbenutzer` WHERE (`intID`='".mysql_real_escape_string($_SESSION['MM_UserId'])."') ";

    $result mysql_query($sql);
    if(
    $result && (mysql_num_rows($result) > 0) ){ // wenn Antwort und was gefunden

    //**********************************************
    // Mitglied Updaten
    //**********************************************

        
    $SQL "UPDATE lastlogin SET " ;
        
    $SQL $SQL " session = '" mysql_real_escape_string($_SESSION['MM_UserId']) . "', ";
        
    $SQL $SQL " intID = '" mysql_real_escape_string($_SESSION['MM_UserId']) . "', ";
        
    $SQL $SQL " lastseen = '" mysql_real_escape_string($lastseen) . "' ";
        
    $SQL $SQL " WHERE intID = " mysql_real_escape_string($_SESSION['MM_UserId']) ;
        
    mysql_query($SQL);


    } else { 

    //**********************************************
    //Mitglied ist nicht drin, deswegen einfügen
    //**********************************************

    $query_seen "INSERT INTO lastlogin (session,intID, lastseen)VALUES
                                           ('"
    .mysql_real_escape_string($_SESSION['MM_UserId'])."',
                                           '"
    .mysql_real_escape_string($_SESSION['MM_UserId'])."', 
                                           NOW()) ON DUPLICATE KEY UPDATE lastseen=NOW()"
    ;    
                                            
    mysql_query($query_seen);

    }


    // SQL-Abfrage $query_delete ausführen. Somit werden alle session id's,
    // die älter als 10 minuten sind bzw. benutzer die seit 10 minuten keinen weiteren
    // seitenaufruf gemacht haben gelöscht und nicht mehr mitgezählt.
    mysql_query($query_delete);

    // in der datenbank zeit des letzten eigenen seitenaufrufes updaten
    mysql_query($query_insert);



    ?>
    </body>
    </html>
    Ja es liegt dran

    Macht man anstatt ein INCLUDE ein REQUIRE dann gehts.....

    Weshalb ist das so das ist aber sehr seltsam...
     

Ähnliche Themen

  1. Bekomme bei einer .PHP nur ne weiße Seite
    Von MC-René im Forum PHP
    Antworten: 23
    Letzter Beitrag: 13.10.10, 09:13
  2. Weiße Seite wegen IP-Ermittlung
    Von thehasso im Forum PHP
    Antworten: 2
    Letzter Beitrag: 23.01.10, 09:24
  3. weiße Seite im Internetexplorer
    Von netzjunkie im Forum HTML & XHTML
    Antworten: 44
    Letzter Beitrag: 22.11.09, 20:11
  4. Drucker gibt nur weiße Seite aus
    Von Saimen im Forum Hardware
    Antworten: 1
    Letzter Beitrag: 05.12.08, 23:12
  5. WebFotogalerie zeigt nur weiße Seite an
    Von Neffets001 im Forum Photoshop
    Antworten: 10
    Letzter Beitrag: 13.01.08, 16:48