Parse error: parse error, unexpected T_STRING

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

  • Parse error: parse error, unexpected T_STRING

    Hi bin Dabei ein PHP Script auf meiner HP zu installieren. Die Installation aht auch 1A geklappt nur kommt jetzt folgende Fehlermeldung wenn ich die Seite aufrufen will :
    Code:
    Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /srv/www/htdocs/web1/html/Forum/templates/Underworld/Plugin-Dropcalc/includes/dbAccess.class.php on line 12
    Die Datei sieht folgendermassen aus :
    Code:
    <?php
    /***************************************************************************
     *                                Dropcalc
     *                            --------------------
     *   copyright            : (C) 2006 Koraa Design
     *
     ***************************************************************************/
    
    class dbAccess
    {
    	private $linkid = 0;
    	private $dbuser = '';
    	private $dbname = '';
    	private $dbhost = '';
    	private $dbpass = '';
    
    	function dbAccess()
    	{
    		$this->read_dbconfig();
    		$this->linkid=mysql_connect($this->dbhost, $this->dbuser, $this->dbpass) or die("oops.. database connection failed");
    		if($this->linkid)
    			mysql_select_db($this->dbname, $this->linkid);
    		return $this->linkid;
    	}
    
    	private function read_dbconfig()
    	{
    		global $db_parameters;
    			$this->dbuser  = $db_parameters['db_user'];
    			$this->dbhost  = $db_parameters['db_host'];
    			$this->dbpass  = $db_parameters['db_pass'];
    			$this->dbname  = $db_parameters['db_name'];
    	}
    
    	public function cleanup($tablename)
    	{
    		mysql_query("optimize table ".$tablename, $this->linkid);
    	}
    
    	private function db_down()
    	{
    		printf("
    			<font face=\"Times New Roman\" size=\"3\">Shit happens!!!</font>&nbsp;<br>
    			The Database-server is down.<br>
    			After the reboot everything should work <i>soon</i> within normal parameters again.");
    	}
    
    	public function query($sql)
    	{
    		if(!$sql) return 0;
    		$result = mysql_query( $sql, $this->linkid) or die ('<table width="99%" height="60px"><tr>'
    			.'<td align="center"><font class="red"><b>'
    			.mysql_error( $this->linkid).'</b></font></td></tr></table>');
    		return $result;
    	}
    
    	private function error()
    	{
    		return mysql_error($this->linkid);
    	}
    
    	private function safe_query( $sql_in)
    	{
    		$sql_out = mysql_real_escape_string( $sql_in);
    		echo $sql_out . '<br>';
    		return $sql_out;
    	}
    
    	public function get_dbstats( $tbs=array())
    	{
    		$sql = 'SHOW TABLE STATUS FROM '. $this->dbname;
    		if( $result = $this->query($sql))
    		{
    			$tables = 0;
    			$rows = 0;
    			$size = 0;
    			while( $row = mysql_fetch_array( $result,MYSQL_ASSOC))
    			{
    				if( in_array( $row['Name'], $tbs) || empty($tabs))
    				{
    					$rows += $row['Rows'];
    					$size += $row['Data_length'];
    					$size += $row['Index_length'];
    					$tables++;
    				}
    			}
    		}
    		$data[0] = $size;
    		$data[1] = $tables;
    		$data[2] = $rows;
    		return $data;
    	}
    
    }
    
    ?>
    Hoffe jemand kann mir mit dem problem helfen.

    mfg
    Kazu
    Zuletzt geändert von Kazumi; 30.11.2010, 04:29.

  • #2
    Re: Parse error: parse error, unexpected T_STRING

    Hast du php4? Wenn ich richtig gezählt habe, meckert er über private, das ist ein Feature von php5, du wirst wohl dein php updaten müssen.

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      es könnte sein, dass Du php4 hast. Die dbAccess Klasse ist für php5 geschrieben.

      Kommentar


      • #4
        falls du nicht updaten kannst, gibts teilweise auch 2 verschiedene versionen von kommerziellen scripts .... einmal fuer php 4 und einmal fuer php 5 - evtl. findest ja noch eine php 4 optimierte version

        vorrausgesetzt du hast php 4 - und nicht 3 oder so ... xD

        gruß
        Robert

        PS: achja evtl. brichst mal die Fehlermeldung um

        Kommentar


        • #5
          Hi, danke erstmal für die Antworten.

          Ja es ist PHP4 drauf. Root Server ich hab jetzt schon in YAST geschaut dort wird mir aber nur ein kleines Sicheheits Update für PHP4 angeboten.

          Kommentar


          • #6
            Installier das eben von Hand, ist nicht schwer...

            http://www.php.net/manual/de/install.unix.php

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              In den ersten 5 Zeilen der Klasse

              class dbaccess()
              {
              private $linkid=0; <-------


              Das private durch var ersetzen.

              Vor den Funktionen private bzw public entfernen.

              Damit läuft das ding auch unter php4
              gruss Chris

              [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

              Kommentar


              • #8
                Original geschrieben von hhcm
                In den ersten 5 Zeilen der Klasse

                class dbaccess()
                {
                private $linkid=0; <-------


                Das private durch var ersetzen.

                Vor den Funktionen private bzw public entfernen.

                Damit läuft das ding auch unter php4
                aber in php5 gibt es ja auch neue Funktionen und auch neue Features bei den Klassen und das sieht sehr nach Paket aus der Code ... wenn er Pech hat, funktioniert es dann trotzdem nicht, und php5 zu installieren ist doch nun wirklich nicht schwer ^^,

                Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                Wie man Fragen richtig stellt

                Kommentar


                • #9
                  wenn ich die Seite aufrufen will
                  Vielleicht sollte er dann mal sagen was er da versucht?

                  Kann natürlich sein das das ganze Script php5 benötigt.
                  gruss Chris

                  [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                  Kommentar


                  • #10
                    ihhk Sie bitte ^.^

                    Das sind nur 16 Datein ingesammt ich hab die alle mal durch geschaut die dbAccess ist die einzige die public und privat befehle nutzt. Ich werd mal den Tip mit var ausprobieren hoffentlich funktioniert das damit *hoff*

                    Kommentar


                    • #11
                      Der Lösungsvorschlag von hhcm hat super funktioniert. Das Script leuft. Vielen dank an alle

                      Kommentar

                      Lädt...
                      X