location befehl unter php4?

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

  • location befehl unter php4?

    ich habe lokal und auf einem webspace php 5, dort klappt mein loginscript (per session) wunderbar!

    jetzt habe ich einen neuen server, auf dem noch php4 läuft, dort funktioniert mein loginscript nicht mehr bzw. die weiterleitung. das script leitet einfach nicht mehr weiter.

    Code:
    if()
    {
    ....
    header ("Location: index.php?seite=1");
    }
    else
    {header ("Location: index.php?seite=2");
    }
    wenn ich das letzt location ausklammere leitet das script nicht weiter und wenn ich es so lasse, leitet das script auf "seite 2" weiter, obwohl die bedigung in der if abfrage erfüllt ist -> müßte also auf seite 1 weiterleiten (habe per echo mal zum test was ausgeben lassen, ob auch korrekt rein gesprungen wurde)

    denn da die bedinung erfüllt ist, kann das script doch nicht in den bereich von location 2 rein springen?!

    also irgendwie schnalle ich das nicht!

  • #2
    also irgendwie schnalle ich das nicht!
    Ich auch nicht!
    (zu wenig Information)

    Und:
    PHP4 kann sehr wohl mit GET und IF umgehen!!
    Wir werden alle sterben

    Kommentar


    • #3
      Ohne den tatsächlichen Code wird man die hier nicht weiterhelfen können.
      [FONT="Helvetica"]twitter.com/unset[/FONT]

      Shitstorm Podcast – Wöchentliches Auskotzen

      Kommentar


      • #4
        ok also hier der code:

        Code:
        <?
        include('zugang.php');
        session_start ();
        
        $sql = "SELECT ".
            "ID, nname,Passwort ".
          "FROM ".
            "nutzer ".
          "WHERE ".
            "(nname like '".$_REQUEST["nname"]."') AND ".
            "(Passwort = '".md5 ($_REQUEST["pwd"])."')";
        $result = mysql_query ($sql);
        
        if (mysql_num_rows ($result) > 0)
        {$data = mysql_fetch_array ($result);
          $_SESSION["user_id"] = $data["ID"];
          $_SESSION["user_nname"] = $data["nname"];
          $_SESSION["user_Kennwort"] = $data["Passwort"];
        
        
        header ("Location: index.php?UG=1");
        }
        else
        {header ("Location: eingang.php?UG=94&Meldung=3");}
        ?>
        es ist nur komisch das es auf dem anderen server und lokal mit php5 funktioniert.
        Zuletzt geändert von Gamer20; 23.11.2007, 11:12.

        Kommentar


        • #5
          Diese Zeile in einer .htaccess Datei
          Code:
          AddType application/x-httpd-php5 .php .php5
          sollte ausreichen. Weitere Anpassungen sollten afaik nicht nötig sein.

          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            Sollten Sie eine dauerhafte Umstellung benötigen, können Sie dies mit einer
            .htaccess in Ihrem public_html Ordner umstellen
            Was hast du daran nicht verstanden???



            1. $_SESSION["user_Kennwort"] = $data["Passwort"];
            Wofür soll das gut sein?

            2. mache dich über magic_quotes kundig
            3. mache dich über SQL Injektions kundig
            4. der Location Header entspricht nicht der Spezifikation.

            Weiterhin:
            Ich kann da kein PHP Versionsproblem erkennen!!
            Mein Tipp: Ein "register_globals" Problem (wenn auch nicht offensichtlich)
            Und lass es bitte auf Off

            Ich vermisse: error_reporting und mysql_error
            Zuletzt geändert von combie; 23.11.2007, 11:08.
            Wir werden alle sterben

            Kommentar


            • #7
              hmm globale sind auf on (von haus aus)!

              ich habs vorläufig mit "echo" <meta http-equiv='refresh' content='0; ..." erstmal gelöst.

              Kommentar


              • #8
                @Gamer
                Ist das der ganze Code oder folgen da noch weitere Zeilen?
                Auf Punkt 4) von combie bist du gar nicht eingegangen
                4. der Location Header entspricht nicht der Spezifikation.
                PHP-Code:
                header ("Location: http://www.deineDomain.de/index.php?UG=1"); 
                und auch combies folgenden Punkt solltest du beachten
                Ich vermisse: error_reporting und mysql_error
                PHP-Code:
                //erste Zeile deines Codes
                error_reporting(E_ALL);
                $result mysql_query ($sql) OR die(mysql_error()); 
                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  muß ich beim befehl location unbedingt den domain mit angeben?

                  warum error report? Datenbankverarbeitung funktioniert reibungslos!

                  Kommentar


                  • #10
                    muß ich beim befehl location unbedingt den domain mit angeben?
                    Es wird toleriert, trotzdem musst du es tun.

                    Kommentar


                    • #11
                      warum error report?
                      Grundsätzlich, wärend der Fehlersuche:
                      Gehört an den Anfang aller betreffenden Scripte, noch vor
                      session_start() oder irgendwelchen header() Aufrufen:
                      PHP-Code:
                      error_reporting(E_ALL); 
                      ini_set('display_errors'TRUE); // evtl. hilfreich
                      // Auf manchen System ist der ini_set() nicht erlaubt, dann bitte entfernen. 
                      vielleicht schreit PHP um Hilfe und keiner hört zu

                      Alle @ vor Funktionsaufrufen und Variablenzuweisungen,
                      sind zu entfernen. Alle, auftretenden Meldungen, sind
                      zu beseitigen und bitte nicht durch Abschalten sondern
                      durch Korrekturen im Quellcode.
                      Wir werden alle sterben

                      Kommentar


                      • #12
                        acho ok, jetzt kommt licht ins dunkle.

                        danke für eure antworten, ich werd mich mal das WE hin setzen und meine scripte prüfen!

                        Kommentar

                        Lädt...
                        X