tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
1314
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von NetPerformance
    NetPerformance NetPerformance ist offline Mitglied Brokat
    Registriert seit
    Aug 2003
    Beiträge
    409
    Hallo,

    ich habe ein Login-Formular gebastelt.
    Falls der User die falschen Daten eingibt, soll unterhalb des Login-Scriptes diese Meldung ausgegeben werden: print "Falsche Eingabe !<p>Überprüfen Sie die Zugangsdaten.

    Die Überprüfung habe ich imom gantz oben eingebunden. Daher wird die Meldung auch ganz oben ausgegeben.

    Um die Ausgabe an die richtige Stelle zu plazieren, muss ich
    if(isset($_POST['_login']))
    {
    include "connect.php";

    $sql = "SELECT usw.

    unterhalb von include "login.php"; einbinden. Das Ganze funktioniert auch super.

    Problem:
    Header("Location: main.php"); funktioniert nicht mehr !
    Ich erhalte folgende Fehlermeldung:

    Warning: Cannot modify header information - headers already sent by (output started at /homepages/28/d107347135/htdocs/php/geburtstagserinnerung/index.php:10) in /homepages/28/d107347135/htdocs/php/geburtstagserinnerung/index.php on line 57
    Falsche Eingabe !
    Überprüfen Sie die Zugangsdaten.

    Bedanke mich im Vorfeld für euere Hilfe
    Aaron

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    
    <?php
        session_start(); // session !
        $sessionID = session_id();
        $_SESSION['$sessionID'] = true; // Session für main.php kontrolle !
        
        if(isset($_POST['_login'])) 
        {               
            include "connect.php";
                    
            $sql = "SELECT
                        UserId,
                        UserEmail,
                        UserPassword
                    FROM
                        np_birthday_login";
                        
            $result = mysql_query($sql) or die ("<hr><br>Datenbank Verbindung konnte nicht hergestellt werden !<p> Fehlermeldung :<br>".mysql_error());
            
            mysql_num_rows($result); // Anzahl der Datensätze
     
            $fehler = true;
                    
            while($row = mysql_fetch_assoc($result)) 
            {    
                if(trim($row['UserEmail']) == "$_email" && trim($row['UserPassword']) == "$_passwort") 
                {
                    $HTTP_SESSION_VARS["myId"] = ($row['UserId']);
                    $HTTP_SESSION_VARS["ownerMail"] = ($row['UserEmail']);
                    
                
                    [B]Header("Location: main.php");[/B]
                    
                }
            }
     
            
            // [B]print "Falsche Eingabe !<p>Überprüfen Sie die Zugangsdaten.<p>";[/B] 
            // print "<hr>";
        }
                
        // error_reporting(E_ALL);
     
        echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n";
        echo "         \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
        echo "<html>\n";
        echo "    <head>\n";
        echo "        <title>Geburtstagserinnerung</title>\n";
        echo "        <link rel=\"stylesheet\" type=\"text/css\" href=\"page.css\" />\n";
        echo "        <meta http-equiv=\"Content-Type\"
                            content=\"text/html; charset=ISO-8859-1\" />\n";
        echo "    </head>\n";
        echo "    <body>\n";
     
        echo "        <div id=\"root\">\n"; // ganz oberer Div-Holder
        echo "            <div id=\"header\">\n"; 
        include "header.php";
        echo "            </div>\n";
        echo "            <div id=\"links\"><br>\n"; 
     
        [B]include "login.php";[/B]
        
        if(isset($_POST['_vergessen']))
        {
            print "<hr>";
            include "vergessen.php";
            print "<hr>";
        }
        else if(isset($_POST['_neuanmeldung']))
        {
            print "<hr>";
            include "neuanmeldung.php";
            print "<hr>";
        }
        else
        {
            include "unterpunkte.php";
        }
     
        echo "            </div>\n";
        echo "            <div id=\"mitte\">\n"; 
        include "willkommen.php";
        echo "            </div>\n";
        echo "            <br style=\"clear:both;\" />\n"; // css-float beenden
        echo "       </div>\n";
        echo "    </body>\n";
        echo "</html>\n";
    ?>
     
    <style type="text/css">
    #header 
    {
        background-color: #999999;
        height: 50px;
        
        font-size:18pt;
    }
    #links 
    {
        background-color: #CCCCCC;
        width: 200px;
        float: left;
        
        margin-left: 10px;
    }
    #mitte 
    {
        width: 69%;
        float:left;
        
        margin-left: 40px;
        margin-top: 20px;
    }
     
    .rot { color:red; }
    </style>
     

  2. #2
    Registriert seit
    Apr 2002
    Ort
    HH
    Beiträge
    3.224
    Vor header() darf keine Ausgabe erfolgen, auch kein Leerzeichen, vor "<?php" und erst recht keine Ausgabe mit echo. Vor dem Inhalt wird immer der header gesendet, das steht so in der Fehlermeldung und das Thema wird sogar in der PHP-FAQ im PHP-Forum behandelt.
     

  3. #3
    Emu-Emsen Emu-Emsen ist offline Mitglied Silber
    Registriert seit
    Jun 2003
    Beiträge
    72
    Selbst wenn dein Script so aussieht:

    1
    2 <?php
    ...

    Also die erste Zeile eine Leerzeile ist und das php erst auf der 2. Zeile beginnt funktioniert der header() Befehl nicht mehr
     

  4. #4
    Avatar von NetPerformance
    NetPerformance NetPerformance ist offline Mitglied Brokat
    Registriert seit
    Aug 2003
    Beiträge
    409
    Hi.
    danke für die schnelle Antwort..
    Wie kann ich aber das Problem lösen ?!

    Auf die Ausgabe kann ich an diese Stelle nicht verzichten !

    Gruß
    Aaron
     

  5. #5
    Registriert seit
    Apr 2002
    Ort
    HH
    Beiträge
    3.224
    Wenn der User die Zeilen tatsächlich lesen soll, ist das kein PHP-Problem mehr.
    Das geht mit PHP nicht.
    Du kannst mal im HTML-, im PHP-, im JavaScript und evtl. sogar im Webserver-Forum nach Meta-Refresh oder JavScript-Lösungen für dieses Problem suchen. Das wurde schon tausend mal behandelt.
     

  6. #6
    Avatar von nautiLus`
    nautiLus` nautiLus` ist offline Mitglied Gold
    Registriert seit
    Sep 2002
    Ort
    Österreich / Wien / Schwechat
    Beiträge
    209
    Schau mal hier:

    http://www.webmaster-homepage.de/35.0.html

    Ist die "Meta" Weiterleitung oder mithilfe von JavaScript.

    Wobei ich es mit JS machen würde.
     

  7. #7
    Avatar von Sven Petruschke
    Sven Petruschke Sven Petruschke ist offline Mitglied Diamant
    Registriert seit
    May 2003
    Ort
    Leipzig
    Beiträge
    2.323
     
    Das Leben ist wie eine Ketchupflasche - erst kommt nichts und dann alles auf einmal.
    www.sven-petruschke.de

Ähnliche Themen

  1. Antworten: 16
    Letzter Beitrag: 23.05.07, 15:07
  2. Antworten: 2
    Letzter Beitrag: 09.08.05, 14:01
  3. header("location... Problem
    Von Katzehuhn im Forum PHP
    Antworten: 7
    Letzter Beitrag: 19.06.05, 13:15
  4. Antworten: 14
    Letzter Beitrag: 16.09.04, 02:36
  5. Antworten: 3
    Letzter Beitrag: 18.09.03, 13:39