Problem mit SESSION

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

  • Problem mit SESSION

    Hallo,
    habe mir ein kleines Login Script geschrieben, welches Passwort und Benutzername mit denen aus einer Datenbank vergleicht!

    Die verbindung zur Datenbank klappt auf jeden Fall!
    Es scheint so, als würde er einfach keine Variablen in der SESSION speichern, da keine Fehlermeldung kommt wenn ich das Script ausführe. Es wird immer weiterleitung.php ausgegeben!

    Auf meinem heimischen Testsystem läuft alles wunderbar nur wenn ich es ins Netz hochlade geht`s nicht mehr!

    Was mache ich falsch?

    PHP-Code:
    <?php

    session_start
    ();

    include(
    "verb.php");


    // Hier wird die Verbindung zur Datenbank aufgebaut!!!

    $datenPW = array();
    $datenBN = array();
    $datenKDNR = array();
    $datenPaket = array();
    $verbindung mysql_connect($host,$benutzer,$passwort);
    if (! 
    $verbindung)
        die (
    "Es ist zur Zeit leider keine Verbindung zur Datenbank möglich!");

    mysql_select_db($db$verbindung)
    or die (
    "Keine Verbindung zur Datenbank möglich!".mysql_error());

    $ergebnis mysql_query("SELECT * FROM kundenzugang");
    $anz_reihen mysql_num_rows($ergebnis);




    //Hier wird die Tabelle in ein array geladen!

    while ($datensatz mysql_fetch_array($ergebnis))
    {
    $datenPW[] = $datensatz[Passwort];
    $datenBN[] = $datensatz[Benutzername];
    $datenKDNR[] = $datensatz[KdNr];

    }

    $ergebnisKunden mysql_query("SELECT * FROM kunden");

    while (
    $datensatzKunden mysql_fetch_array($ergebnisKunden))
    {
    $datenPaket[] = $datensatzKunden[Produkt];
    }

    $anfragePWMD5 MD5($passwort);


    //Indeizes der gesuchten, kodierten Passwörter werden gesucht!

    $datensatzBN array_search ($benutzername$datenBN);
    $datensatzPW array_search ($anfragePWMD5$datenPW);


    if (
    $benutzername =="")
    {
    include (
    "weiterleitung.php");
    }


    elseif (
    $datensatzBN == $datensatzPW )
        {

            
    session_register("SESSION_pw");
            
    $SESSION_pw $anfragePWMD5;

            
    session_register("SESSION_bn");
            
    $SESSION_bn $benutzername;

            
    session_register("SESSION_kdnr");
            
    $SESSION_kdnr $datenKDNR[$datensatzBN];

            
    session_register("SESSION_paket");
            
    $SESSION_paket $datenPaket[$datensatzBN];

            include(
    "kundencenter.php");

        }
    else
        {

            include (
    "weiterleitung.php");
        }





    mysql_close($verbindung);



    ?>

  • #2
    Aus dem Kontext meiner bescheidenen Kenntnisse in PHP und MySQL heraus frage ich mich, ob es nicht besser wäre, dem Query eine WHERE klausel zu geben, anstatt alle Einträge aus der Datenbank zu lesen und erst dann nach dem Benutzernamen und dem Passwort zu suchen.

    Dein ganzses Skript entzieht sich sowieso meinem logischen Verständnis, ich denke dass solltest du komplett neu schreiben...


    An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

    Kommentar


    • #3
      MaxP0W3R hat natürlich vollkommen recht.

      was du derzeit machst, ist, in einem supermarkt jede konservendose aufzumachen, weil du eine mit bohnen drin suchst und offenbar die etiketten nicht lesen kannst.

      viel einfacher wäre es doch aber, wenn du den verkäufer (mysql) fragst, wo (WHERE) denn die dosen mit den bohnen stehen ...
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Ja, ich weiß dass es sehr umständlich ist! Ich wunder mich trotzdem, warum es mit der Session nicht klappt? Das Problem ist ja nicht meine umständliche suche nach Passwort und Benutzername sondern vielmehr dass die Session nicht vernünftig läuft.

        Trotzdem vielen Dank für die Kritik!

        Währe nett, wenn mir jemand jetzt sagt, was ich an der Session falsch mache!

        Kommentar


        • #5
          der problembeschreibung nach hast du vermutlich eher ein register_globals-problem.

          (nach diesem begriff kann man suchen, wenn man nichts damit anzufangen weiß.)
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Original geschrieben von diter42
            Ja, ich weiß dass es sehr umständlich ist! Ich wunder mich trotzdem, warum es mit der Session nicht klappt? Das Problem ist ja nicht meine umständliche suche nach Passwort und Benutzername sondern vielmehr dass die Session nicht vernünftig läuft.

            Trotzdem vielen Dank für die Kritik!

            Währe nett, wenn mir jemand jetzt sagt, was ich an der Session falsch mache!

            welche session??? sehe keine session die in einer if bedingung vorkommt

            haste mal geschaut welche if die weiterleitung aufruft??


            PHP-Code:
            if ($benutzername ==""//beispiel if bedingung
            {
            include (
            "weiterleitung.php");

            ansonsten wie wahsaga schreibt register_global = off
            mfg
            marc75

            <Platz für anderes>

            Kommentar


            • #7
              Alles klar,
              vielen Dank! Ich denke ich hab`s jetzt!

              Kommentar

              Lädt...
              X