Einzelnen Beitrag anzeigen

Flips

Registriert seit: 17. Feb 2005
Ort: Sankt Wendel
491 Beiträge
 
Delphi 7 Professional
 
#1

[PHP] - Von PHP 4 auf 5 -> Code überarbeiten

  Alt 7. Jan 2008, 14:53
Hi.

Nach einem PHP-Versionswechsel von 4 auf 5 bin ich nun dabei die Scripte anzupassen. Ein Script nervt besonders.
Das gesamte Script handelt von einem virtuellen Rundgang, der angesprochene Teil zeichnet auf eine Image (Plan) einen Aufenthaltspunkt, welchen es aus der Datenbank entnimmt. Soweit sogut, hat auch alles wunderbar geklappt. Doch jetzt, nach der Umstellung, meldet der Browser immer
Code:
Die Grafik ".../plan.php?id=2" kann nicht angezeigt werden, weil sie Fehler enthält.
Ich habe die Ursache auf einen Includedatei begrenzen könne, sie enthällt die Klasse "Location".
Man übergibt ihr die ID des Bildes und die Klasse besorgt einem dann alles was man über das Bild in der Datenbank hat.
Hier der Code
Code:
<?php  
include ("../config.inc.php");  //An dieser weiteren Include liegts nicht.
$dummy = ";;;;;;;;;;;";
   
class Location { 
  var $id;            
  var $name;
  var $room_nr;
  var $directions     = array ();   //of bool
  var $direction_paths = array ();   //id array  
  var $direction_names = array ();
  var $quer;
  var $koordinaten = array ();
  var $door;
  var $stockwerk;
  var $turn;
  var $dummy_names = array ();
  var $visits;
  // Hab hier schon public vorgeschrieben, bringt auch nix
  public function GetProperties ($id,$inc) {       
   //An SQL-Codes liegts nicht...
   $query = mysql_query ("SELECT ... FROM ... WHERE id = '$id'");  
    if (!$query) {
      die ("Error in SQL-Syntax
".mysql_error ());
    }
    $r = mysql_fetch_array ($query);
    $this->id             = $id;
    $this->name           = $r[1];
    $this->room_nr        = $r[2];
    $this->quer           = $r[5];
    $this->directions     = explode (";",$r[3]);
    $this->direction_paths = explode (";",$r[4]);
   
    $this->door = $r[7];
   
    $this->koordinaten = explode (";",$r[6]);
    $this->stockwerk = $r[8];    
    $this->turn = $r[9];
                                 
    if (!empty($r[10])) {
      $this->dummy_names = explode(";",$r[10]);
    } else {
      $this->dummy_names = explode(";",$dummy);
    }
                             
   $this->visits = $r[11]+1;
   if ($inc) {
       $handle = fopen ("buffer.dat","r");
       $allVisits = fread ($handle,filesize ("buffer.dat"));
       fclose ($handle);
   
       $allVisits++;
    
       $handle = fopen ("buffer.dat","w");
       fwrite ($handle,$allVisits);
            fclose ($handle);  
      
       mysql_query ("UPDATE ... SET visits = visits+1 WHERE id = '$id'");
   }
 
   
         
    foreach ($this->direction_paths as $v) { 
      $query = NULL;
      $query = mysql_query ("SELECT ... FROM ... WHERE id = '$v'");
      if (!$query) {
        die ("Error in SQL-Syntax
".mysql_error ());
      } 
      $buffer = mysql_fetch_array ($query);
      array_push($this->direction_names,$buffer[0]);  
    } 
  }   
}
?>
Was ist an dieser Klasse falsch??? Wie gesagt, unter PHP 4 ging alles reibungslos.

Thx, Flips
Philipp F.
  Mit Zitat antworten Zitat