Weisser Bildschirm erscheint statt Weiterleitung

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

  • Weisser Bildschirm erscheint statt Weiterleitung

    Seit gestern Abend versuche ich nun diese Problem zu lösen und komme nicht weiter:

    PHP-Code:
    <?php
    session_start
    ();

    // konfiguration und verbindungsdaten holen
    include_once('config.inc.php');
    include_once(
    'connect.inc.php');
    // prüfen, ob die eingabefelder ausgefüllt wurden
    if(empty($_POST['u_name']) || empty($_POST['u_pass']))
        {
        
    // wenn sie nicht ausgefüllt wurden
        
    echo '<b>No se han completado todos los campos necesarios</b>';
        exit();
        }
            
    // wenn sie ausgefüllt wurden
            
    else
                {
                
    // eine SQL-abfrage vorbereiten und sie abschicken
                
    $sql "SELECT  name,
                                vorname,
                                passwort,
                                berechtigungID,
                                mw
                        FROM    tblmitarbeiter
                        WHERE   name = '"
    .mysql_real_escape_string($_POST['u_name'])."'
                        AND     passwort = '"
    .md5($_POST['u_pass'])."'
                        "
    ;
                
    $result mysql_query($sql) or die(mysql_error());
                
    // prüfung, ob genau eine der spalten mit der Eingabe überein stimmt
                
    if(mysql_num_rows($result) != 1)
                    {
                    
    // wenn nicht übereinstimmt
                    
    echo '<b>El sistema no pudo reconocerle como un usuario válido</b>';
                    exit();
                    }
                        
    // wenn übereinstimmt
                        
    else
                            {
                            
    // eine session "logged" auf TRUE setzen
                            // eine session mit dem usernamen erstellen
                            
    $_SESSION['logged'] = TRUE;
                            
    $qry mysql_query($sql);
                            
    $result mysql_fetch_assoc($qry);
                            
    // $_SESSION mit Werten füllen
                                
    foreach($result as $key => $value)
                                {
                                    
    $_SESSION[$key] = $value;
                                }
                            
    // auf die geschützte datei weiterleiten
                            
    header('Location: ./intern/intern.php');
                            }
                }
    ?>
    Setze ich nach dem PHP Feld einen normalen HTML Link, funktioniert das Ganze, allerdings muss der User dann klicken.

    Ohne das erscheint nur eine weise Seite ohne Fehlermeldungen etc.
    Wie komme ich zu der intern.php?
    Zuletzt geändert von Maribel; 11.05.2008, 20:58.

  • #2
    Versuchs mal mit absoluten Pfaden.

    Kommentar


    • #3
      Habe mal direkt die URL eingegeben bei Location, aber es ändert nichts an der weisen Seite.

      Ich weiss echt nicht mehr weiter, werde das Ganze wohl per Javascript weiterleiten müssen, auch wenn das Suboptimal wäre

      Gruß Maribel

      Kommentar


      • #4
        Schon den Quellcode der weißen Seite angeschaut? Vielleicht steht ja irgendwas drin. Und versuchs trotzdem mal mit dem absoluten Pfad.

        Die Fehleranzeige hast du übrigens aktiviert? Weiße Seite klingt für mich nach unterdrückte Fehlermeldungen.
        Zuletzt geändert von h3ll; 11.05.2008, 21:10.

        Kommentar


        • #5
          OffTopic:
          Die Konjugation von wissen lautet in der ersten Person singular: "ich weiß" < mit ß!

          Kommentar


          • #6
            Also der Quellcode der weisen Seite sieht so aus:

            Code:
            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
            <HTML>
            <HEAD> 
            <META http-equiv=Content-Type content="text/html; charset=windows-1252">
            </HEAD> 
            <BODY>
            </BODY>
            </HTML>
            Also genau das was der Browser aus nichts macht. Habe auch den absoluten Pfad nun drin, den ich aber nicht hier offenbaren will.

            @Blackgreetz

            Danke für Deinen Hinweis, leider ist deutsch für mich eine Fremdsprache, normal rede und schreibe ich spanisch. Auch muss ich für das "ß" immer mein Tastaturlayout umschalten. Also übe Nachsicht mit mir

            @h3ll

            Ja, Fehlermeldungen sind an in der php.ini, ist ja eine Entwicklungsumgebung auf meinem Rechner, wo ich die Domain hinleite.

            Gruß Maribel
            Zuletzt geändert von Maribel; 11.05.2008, 21:24.

            Kommentar


            • #7
              Was sagt error_reporting?

              Kommentar


              • #8
                Die einzige Ausgabe die ich erreiche ist diese:

                Code:
                Warning: Unknown: 1 result set(s) not freed. 
                Use mysql_free_result to free result sets which were
                 requested using mysql_query() in Unknown on line 0
                Hmm, wie ich sehe, liegt es nicht nur an mir, ihr wisst auch nicht warum das so ist, oder?

                Oder muss ich noch einen extra Befehl geben, um alles auszugeben?
                Das habe ich in die PHP Datei am Anfang eingefügt:

                PHP-Code:
                error_reporting(E_ALL); 
                ini_set('display_errors'1); 
                ini_set('ignore_repeated_source'1); 
                ini_set('html_errors'1); 
                ini_set('mysql.trace_mode'1); 

                Gruß Maribel
                Zuletzt geändert von Maribel; 12.05.2008, 04:59.

                Kommentar


                • #9
                  Die Warning erfolg durch:

                  ini_set('mysql.trace_mode', 1);

                  einfach wieder auf Off setzen, oder brauchst du das?

                  Kannst du noch deinen Code posten, inwiefern du ihn verändert hast?

                  Zudem poste mal bitte alle Varianten, die du bis jetzt ausprobiert hast..

                  mfg

                  Kommentar


                  • #10
                    Also benutze ich statt des header Befehls folgerndes nach dem PHP Code:

                    Code:
                    ?>
                    <p><a href="intern/intern.php" target="_parent"><b>siguiente</b></a></p>
                    dann wird der Link angezeigt und der User muss halt drauf klicken und es geht alles wie es soll, da dann das Script abgearbeitet wird, wird auch das Ergebnisarray gelöscht von MySQL.

                    Außerdem steht im Moment der absolute Pfad in der Lokation, also mit Domain.

                    Gruß Maribel

                    Kommentar


                    • #11
                      Es gibt aber noch einen Unterschied zw. URL und absolutem Pfad:

                      Url: http://url.de/test/test2/datei.php
                      absoluter Pfad(system): /www/k78383/usr84939/htdocs/test/test2/datei.php

                      So kann das ganze dann aussehen..
                      Hast du bis jetzt nur die 1. Variante oder auch wirklich diese Pfadangabe genutzt?

                      mfg

                      Kommentar


                      • #12
                        Ich habe natürlich die Angabe mit der URL genutzt.

                        Im Moment habe ich eine Lösung, die funktioniert ohne Userklick:

                        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>
                        <title>Weiterleitung</title>
                        <META http-equiv="refresh" CONTENT="0; url=http://domain/intern/index.php">
                        <style type="text/css">
                        <!--
                        .Stil1 {font-family: Verdana, Arial, Helvetica, sans-serif}
                        -->
                        </style>
                        </head><body>
                        Sie werden auf folgende Seite umgeleitet: 
                        <a href="http://domain/intern/index.php">Start interner Bereich</a>. 
                        Sollten Sie nicht innerhalb von 0 Sekunden weitergeleitet werden so klicken Sie bitte 
                        <a href="http://domain/intern/index.php">hier</a>
                        </body>
                        </html>
                        Habe noch das letzte if else ausgetauscht, also ich frage nicht mehr != sondern ==, damit liegt die Weiterleitung nicht mehr im else Teil und das Script läuft bis zum Ende durch.

                        Edit:
                        Aja, intern.php auf index.php habe ich auch umbenannt.

                        Gruß Maribel

                        Kommentar


                        • #13
                          - Vor dem <? sind in der Originaldatei keine Leerzeichen o.ä.?
                          - Was passiert, wenn Du vor und hinter die Zeile mit dem header(...) eine Testausgabe mit echo() setzt?

                          Kommentar


                          • #14
                            Hmm, dann erscheint folgende Fehlermeldung:

                            Code:
                            Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' 
                            in C:\xampp\htdocs\intra\check_login.php on line 43
                            Zeile 43 ist das:
                            PHP-Code:
                            header('Location: Ziel'); 
                            Das Ziel kann ich leider hier nicht eintragen, da das Forum daraus einen Link macht.

                            Gruß Maribel

                            Kommentar


                            • #15
                              Dann unter der Textarea beim Posten den Hacken bei "URLs automatisch umwandeln" entfernen und zusätzlich zu Zeile 43 noch 42 und 44 posten.

                              Grüße
                              Nieder mit der Camel Case-Konvention

                              Kommentar

                              Lädt...
                              X