Mario: Fehler - ich finde ihn nicht

Hallo,
auf der einen Seite habe ich folgendes Skript:

{
$eintrager = $name;
$verifizierung = 100;
session_start();
session_register("$eintrager");
session_register("$verifizierung");
header('Location: menue.php');
exit();
}

auf der menue.php folgendes:
<?php
session_start();
if ($verifizierung != 100)
{
header('Location: index.html');
exit();
}
?>

Irgendwie scheint die if Abfrage genau das zu tun, was sie soll: mich rauszuschmeißen, obwohl meine Verifizierung ja korrekt ist. Wieso?

Btw: ich kapier das mit den Anführungszeichen nicht. Müssen sie beim session_register in die Klammer? Muß ich bei einer Stringvereinbarung den String in Anführungszeichen setzen? Und bei Abfragen?

Danke schonmal für Eure Hilfe, ich verzweifle echt gerade.
Gruß, Mario.

  1. Hallo Mario,

    session_register("$eintrager");

    session_register("eintrager");

    session_register("$verifizierung");

    session_register("verifizierung");

    Btw: ich kapier das mit den Anführungszeichen nicht. Müssen sie beim session_register in die Klammer? Muß ich bei einer Stringvereinbarung den String in Anführungszeichen setzen? Und bei Abfragen?

    Nein. Bei session_register musst Du immer den Namen der Variable mitgeben. Du gibst hier aber den Inhalt der Variable mit. "$var" ist im Ergebnis genau das gleiche wie $var - und das ist der INHALT - Du willst aber den NAMEN: "var". Klar?

    Grüße,

    Christian

    --
    Sollen sich alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen und nicht mehr davon erfasst haben als eine Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst.
                          -- Albert Einstein
    1. Hi Mario,

      Das Problem wird ja wahrscheinlich durch Christians Hilfe schon beseitigt sein. Nur eines dazu:

      Wenn Deine PHP-Version gleich oder neuer ist als 4.0.x, dann würde ich in der php-ini die Einstellung für

      register_globals = off

      wählen und dann mit den globalen Arrays $HTTP_POST_VARS[], ..GET.. , usw arbeiten oder die "superglobalen" Variablen-Arrays $_POST und $_GET benutzen. Dann benötigst Du die Funktionen session_regsiter(), session_unregister(),session_decode(), session_encode() nicht mehr. Du kannst die Variablen dann einfach direkt in die Arrays schreiben

      $_SESSION["Varainame"]="Winnipuh";

      Das Session-Array wird am Ende des Scriptes automatisch in der Sessiondatei gesichert und bei session_start() automatisch wiederhergestellt aus der Datei.

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
      1. Hallo Tom,

        Wenn Deine PHP-Version gleich oder neuer ist als 4.0.x,

        Du meinst 4.1.x, oder? Denn 4.0.x kennt nur $HTTP_IRGENDWAS_VARS und nicht $_IRGENDWAS.

        Grüße,

        Christian

        --
        Sollen sich alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen und nicht mehr davon erfasst haben als eine Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst.
                              -- Albert Einstein
        1. Hi

          Wenn Deine PHP-Version gleich oder neuer ist als 4.0.x,

          Du meinst 4.1.x, oder? Denn 4.0.x kennt nur $HTTP_IRGENDWAS_VARS und nicht $_IRGENDWAS.

          Ja klar. Tom kennt halt bloß die 4.0.x. (Und die 4.2.1 vom Hörensagen) *fg*

          Ne klar, aber wenn man sich nicht auf bestimmte Versionsunterscheide konzentriert verliert man halt leicht die Übersicht. Und da von sich auszugehen macht IMO Sinn.

          Grüße, Fabian
          [scnr @ Tom]

          1. Hi Fabi,

            Ja klar. Tom kennt halt bloß die 4.0.x. (Und die 4.2.1 vom Hörensagen) *fg*

            Ne klar, aber wenn man sich nicht auf bestimmte Versionsunterscheide konzentriert verliert man halt leicht die Übersicht. Und da von sich auszugehen macht IMO Sinn.

            Du bist wohl einer von diesen arroganten 15jährigen, die in ihrer "Homesite" Farben umstellen lassen oder gar nach Lieblingsfilmen fragen, oder? *ggg*

            Komm du mir mal wieder vorbei ...

            Liebe Grüße aus http://www.braunschweig.de

            Tom

            --
            Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
            1. Hi

              Ja klar. Tom kennt halt bloß die 4.0.x. (Und die 4.2.1 vom Hörensagen) *fg*

              Ne klar, aber wenn man sich nicht auf bestimmte Versionsunterscheide konzentriert verliert man halt leicht die Übersicht. Und da von sich auszugehen macht IMO Sinn.

              Du bist wohl einer von diesen arroganten 15jährigen, die in ihrer "Homesite" Farben umstellen lassen oder gar nach Lieblingsfilmen fragen, oder? *ggg*

              Ja, Farben stelle ich mitunter willkürlich um (ich frage mich, warum ich kein X-Mas-Skin gemacht habe...) *hihi*

              Komm du mir mal wieder vorbei ...

              Joa, so nächsten Samstag?

              Grüße zurück,
              Fabi*bber*an
              [*g*]

        2. Hi,

          Wenn Deine PHP-Version gleich oder neuer ist als 4.0.x,

          Du meinst 4.1.x, oder? Denn 4.0.x kennt nur $HTTP_IRGENDWAS_VARS und nicht $_IRGENDWAS.

          Ja, genauso meinte ich das. Und bei 4.1.x würde ich mich nicht trauen, die Superglobals zu benutzen. Versuch dann mal einen Fileupload oder sowas.

          Also spätestens ab 4.0.x $HTTP_*_VARS
          grühestens an 4.2.x die $_*  Arrays

          Liebe Grüße aus http://www.braunschweig.de

          Tom

          --
          Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.