Problem mit register_global

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

  • Problem mit register_global

    Hallo,

    ich habe ein Problem mit einem Login Script, was nur unter register_global On läuft.
    hier mal das original

    PHP-Code:
    if  (($weg=="Einloggen") && ($hide=="sended")){
    if (isset(
    $form[login]) && empty($form[login]) || empty($form[passwort]))
    $error.="<li>Bitte Felder ausfüllen</li>\n"
    das ganze habe ich nun so abgeändert

    PHP-Code:
    $error="";
    if  ((
    $_POST['weg']=="Einloggen") && ($_POST['hide']=="sended")){
    if (isset(
    $form[login]) && empty($form[login]) || empty($form[passwort]))
    $error.="<li>Bitte Felder ausfüllen</li>\n"
    leider bekomme ich dann als ergebniss nur Bitte Felder ausfüllen.
    Ich habe das auch mit $_GET probiert, jedoch ohne Erfolg.

    Kann mir jemand dabei etwas Helfen?

    Danke
    classics

  • #2
    PHP-Code:
    if (isset($form[login]) && empty($form[login]) || empty($form[passwort])) 
    du hast den Fehler doch schon erkannt....

    PHP-Code:
    $_POST['form']['login'

    Kommentar


    • #3
      Hallo,

      ja Danke das ist Natürlich Richtig, jedoch tut sich jetzt ein anderes Problem auf.



      Code:
      Warning: Cannot use a scalar value as an array in /../check.php on line 18
      Warning: Cannot use a scalar value as an array in /../check.php on line 19
      Warning: Cannot use a scalar value as an array in /../check.php on line 20
      Warning: Cannot modify header information - 
      headers already sent by (output started at /../check.php:16) in 
      /../login.php on line 16
      Code Teil der check.php Linie 2-33

      PHP-Code:
      session_start();
      session_register("session");
      function 
      holeDS$tabelle$fnm$fval )
          {
          global 
      $link;
          
      $ergebnis mysql_query"SELECT * FROM $tabelle
                      WHERE 
      $fnm='$fval'"$link );
          if ( ! 
      $ergebnis )
              die ( 
      "holeDS fatal error: ".mysql_error() );
          return 
      mysql_fetch_array$ergebnis );
          }
      function 
      initSession$id$login$pass )
          {
          global 
      $session;
          
      $session[id] = $id;
          
      $session[login] = $login;
          
      $session[passwort] = $pass;
          
      $session[logged_in] = true;
          }
      function 
      ueberpruefeBenutzer( )
          {
          global 
      $session$logged_in$tablethree;
          
      $session[logged_in] = false;
          
      $pruef holeDS$tablethree"id"$session[id] );
          if ( ! 
      $pruef ||
              
      $pruef[login] != $session[login] ||
              
      $pruef[pw] != $session[passwort] )
              {
              
      header"Location: login.php" );
              exit; 
      wobei da der Syntax wohl Richtig ist

      nach
      PHP-Code:
      $session[id] = $id
      habe ich dann mal
      PHP-Code:
      echo gettype($session[id]); 
      eingefügt da die Probleme scheinbar öfters auftretten , als Wert bekomme ich NULL zurück. Weiß nur leider nicht wie ich das behebe

      Danke
      classics
      Zuletzt geändert von Classics; 07.06.2007, 12:50.

      Kommentar


      • #4
        PHP-Code:
        session_register("session"); 
        session_register ist alt und sollte nicht mehr verwendet werden.
        PHP-Code:
        $_SESSION 'wert' 
        Evtl. solltest du mal darüber nachdenken den ganzen Mist da zu verwerfen.
        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

        Kommentar


        • #5
          - benutz $_SESSION stat $session
          - nix mit global. Dafür hast du die Session-Werte (das $_SESSION-Array ist superglobal)
          - schreib die indizes in Anführungszeichen ($_SESSION['login'] usw.)


          wobei da der Syntax wohl Richtig ist
          Die Syntax lässt aber noch etwas zu wünschen übrig....
          ich glaube

          Kommentar


          • #6
            @ ministry

            Danke für deine Hilfe das hat mich weiter gebracht

            @tontechniker
            habe ich mir schonmal überlegt, wenn ich mir so andere Scripte ankucke und derren Inhalte, ist das garkein Vergleich.

            classics

            Kommentar

            Lädt...
            X