PHP4 Script PHP5 fähig machen

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

  • PHP4 Script PHP5 fähig machen

    Ich bin nicht wirklich vertraut mit PHP aber ich möchte gerne mein Script das unter PHP4 läuft PHP5 fähig machen, da mein Provider den Server auf PHP 5.0.4 umgestellt hat.

    Hier mal ein Stück vom Script:

    PHP-Code:
    <?
        include("common.php");

        if( $_POST['username'] && $_POST['password'] ){
            $failed = 1;
            $username = $_POST['username'];
            $password = $_POST['password'];
            $query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
            $result = mysql_query($query) or die ("Error in query: $query. " . mysql_error());
            if ( ($result) && (mysql_num_rows($result) > 0) ){
                $row = mysql_fetch_object($result);
                $adlogin = $row->username;
                $myname = $row->username;
                $adpassword = $row->password;
                $myuid = $row->uid;
                if ( ($username != $adlogin) || ($password != $adpassword) ){
                    $failed = 1;
                }else{
                    $failed = 0;
                    $loggedin = 1;
                    session_register("loggedin");
                    session_register("myuid");
                    session_register("myname");
                }
            }else{
                $failed = 1;
            }
        }
        if($loggedin){
            ob_start();
            header("Location: account.php");
        }
        include("header.php");
    ?>
    Zur Erklärung: Das Script ist ein Forum-Hosting-Script.
    Es läuft prima unter PHP4 jedoch unter PHP5 werden funktionen wie das login von Usern nicht mehr ausgeführt.

    Auch in den Adminbereich komme ich nicht mehr rein:

    PHP-Code:
    <?php
    error_reporting
    (E_ALL);
        if (!isset(
    $PHP_AUTH_USER)) {
            
    header('WWW-Authenticate: Basic realm="'.$sitename.' Admin"');
            
    header('HTTP/1.0 401 Unauthorized');
            echo 
    'Authorization Required.';
            exit;
        } else if (isset(
    $PHP_AUTH_USER)) {
            if ((
    $PHP_AUTH_USER != $adlogin) || ($PHP_AUTH_PW != $adpassword)) {
                
    header('WWW-Authenticate: Basic realm="'.$sitename.' Admin"');
                
    header('HTTP/1.0 401 Unauthorized');
                echo 
    'Authorization Required.';
                exit;
            }else{
                
    session_register("aid");
                
    session_register("apass");
            }
        }
    ?>
    Die Funktionen werden einfach nicht ausgeführt.
    Das ganze Script zu posten würde auf jeden Fall den Rahmen sprengen - außerdem möchte ich mich selbst versuchen um etwas Erfahrung mit PHP zu sammeln.

    Ich brauche nur einige kleine Tipps - da die anderen Seiten im Script ähnlich aufgebaut sind.

    Hoffe mir kann jemand einen Wink geben!

  • #2
    register globals

    Kommentar


    • #3
      Habe ich testweise mal auf on stellen lassen - daran liegt's nicht!

      Kommentar


      • #4
        lass sie auf off und passe das skript an.

        an welcher stelle genau verhält sich das skript nicht wie erwartet?

        Kommentar


        • #5
          Teste gerade nochmal ob es nicht vielleicht doch an register_globals liegt.
          Würde mich dann wieder melden um ggf. die Anpassung an register_globals_off vorzunehmen.

          Kommentar


          • #6
            dein PHP_AUTH_USER funktioniert übrigens nur, wenn php als apache-modul läuft, als cgi nicht.

            Kommentar


            • #7
              Hi,

              schau Dir außerdem mal den ersten dicken Warnhinweis bei session_register an.

              LG

              Kommentar

              Lädt...
              X