tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
749
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    michi002 michi002 ist offline Grünschnabel
    Registriert seit
    Mar 2009
    Beiträge
    4
    ich habe folgendes problem:

    ich habe eine seite gemacht mit loginsystem.
    das loginformular (anmeldeformular.php) ist mittels include includiert und es soll zu anmeldung_bestaetigen.php führen, was es auch macht.
    Bei der anmeldung_bestaetigen seite habe ich eine verzweigung gemacht die wenn die Session variable $_SESSION["anmeldung_bestaetigung"] 1 ist dann soll sie anmeldung erfolgreich ausgeben, wenn sie leer ist dann soll sie das anmeldeformular ausgeben.
    Wenn man sich jetzt mit dem richtigen benutzernamen anmeldet kommt man auf diese seite aber der wert von $_["anmeldung_bestaetigung"] ist nichts.
    erst nach einem klick auf aktualisieren im browser wird sie zu 1

    ich geb euch mal die codes:

    anmeldeformular.php:

    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
    
    <?php 
    include'connect.php';
     
    ?>
    <!-- <br /><form action="anmeldung_bestaetigung.php?" method="post"> -->
     <form action="anmeldung_bestaetigung.php" method="post">
    Name:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" size="15" name="name" /><br />
    Passwort&nbsp;<input type="password" size="15" name="passwort" /><br /><br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="login">
    <?php
    $name_a = $_POST["name"];
    $passwort_a = $_POST["passwort"];
    $abfrage = "SELECT * FROM users WHERE name = '$name_a'";
    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
       {
       $name_abfrage = $row->name;
       $passwort_abfrage = $row->passwort;
       }
     
    if($passwort_a == $passwort_abfrage)
    {
        $anmeldung_bestaetigung = 1;
    }
    elseif($passwort_a != $passwort_abfrage)
    {
        $anmeldung_bestaetigung = "";
    }
    session_start();
    $_SESSION["name_anmeldung"] = $name_a;
    $_SESSION["passwort_anmeldung"] = $passwort_abfrage;
    $_SESSION["anmeldung_bestaetigung"] = $anmeldung_bestaetigung;
    echo $_SESSION["anmeldung_bestaetigung"];
    ?>


    und hier die anmeldung_bestaetigung.php:

    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
    
    <!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></title>
    </head>
     
    <body>
    <?php
    session_start();
     
    if($_SESSION["anmeldung_bestaetigung"] == 1)
    {
        echo "<center><font color=\"red\"><h1>Anmeldung erfolgreich</h1></font>";
        echo "<br />";
        echo "Falls Sie nicht automatisch weitergeleitet benutzen sie bitte diesen Link <a href=\"index.php\">zur&uuml;ck</a>";
        echo "<meta http-equiv=\"refresh\" content=\"5; URL=http://localhost/michi/imperium_romanum/\">";
     
        
    }
    elseif(empty($_SESSION["anmeldung_bestaetigung"]))
    {
        echo "<center><font color=\"red\"><h1>Passwort oder Name sind falsch</h1></font>";
        echo "<br />";
        include'anmeldeformular.php';
    }
    ?>
    </body>
    </html>



    Bitte helft mir ich hab echt keine ahnung was ich falsch mache

    Und danke für die zeit die i hr euch genommen habt meinen ewig langen beitrag durchzulesen
    Geändert von michi002 (27.03.09 um 18:33 Uhr)
     

  2. #2
    Avatar von saftmeister
    saftmeister saftmeister ist gerade online Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    session_start() muss als eine der ersten Funktionen ausgeführt werden, da dieser Befehl HTTP-Header an den Client (Browser) sendet:

    http://de.php.net/manual/de/function.session-start.php

    Insbesondere die Anmerkungen weiter unten sind sinnvoll für dich.

    Das bedeutet, das in der anmeldeformular.php keine Session gestartet werden kann, weil bereits Output an den Client gesendet wurde (HTML weiter oben).

    Du hast nun folgende Möglichkeiten:

    1. session_start() direkt in die erste Zeile schieben
    2. Mit ob_start() und friends arbeiten.

    Grüße
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  3. #3
    michi002 michi002 ist offline Grünschnabel
    Registriert seit
    Mar 2009
    Beiträge
    4
    ich hab session_start(); jetzt ganz oben hingemacht noch vor der dokumentbeschreibung und es geht leider immer noch nicht
     

  4. #4
    Avatar von saftmeister
    saftmeister saftmeister ist gerade online Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    In beiden Dateien?

    Schalte auch mal das error_reporting und die Anzeige von Fehlern ein:

    PHP-Code:
    error_reporting(E_ALL E_STRICT);
    ini_set('display_errors'1); 
    Das _vor_ session_start() setzen.

    Grüße
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  5. #5
    michi002 michi002 ist offline Grünschnabel
    Registriert seit
    Mar 2009
    Beiträge
    4
    werd ich gleich heute abend versuchen wenn ich wieder zuhause bin.
    mal schauen was da raus kommt den befehl kannte ich noch nicht.
    und ja, ich habs in beiden dateien ganz oben
     

  6. #6
    maeg maeg ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Beiträge
    136
    Mach die Weiterleitung auf deiner Seite mal mit der Funktion
    PHP-Code:
    <?php
    Header
    ("Location: seite.php");
    ?>
    Darauf achten, dass vor dem Aufruf nichts ausgegeben wird!!

    Grüße,

    maeg
     

  7. #7
    michi002 michi002 ist offline Grünschnabel
    Registriert seit
    Mar 2009
    Beiträge
    4
    hmm das könnte klappen werd ich auch heute abend mal versuchen danke für den tipp

    so ich habs jetzt mal etwas unschön mit ner javscript umleitung gelöst
    Geändert von michi002 (28.03.09 um 19:40 Uhr)
     

Ähnliche Themen

  1. Menü-Klick: Sprung zu Bild erst nach dem abspielen
    Von simlancer im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 13.12.08, 12:40
  2. externe mc's starten erst nach wiederholtem Klick
    Von hosenmatz im Forum Flash Plattform
    Antworten: 10
    Letzter Beitrag: 27.03.08, 21:41
  3. Neue Inhalte beim Klick erst nach Animation einladen
    Von cris-the-best im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 23.05.06, 19:40
  4. Antworten: 6
    Letzter Beitrag: 19.09.05, 17:35
  5. Session ID erst nach aktualisieren da!
    Von Sweetlover im Forum PHP
    Antworten: 2
    Letzter Beitrag: 19.05.04, 13:39

Stichworte