marco: unexpected T_CONSTANT_ENCAPSED_STRING, expecting ')'

Hallo,

ich bin gerade dabei ein Modul in meinen kleinen Shop einzubauen. Da ich noch Neuling in Sachen PHP bin , würde ich mich freuen, wenn ihr mir vielleicht helfen könntet.

Nach dem Einfügen der codes in den jeweiligen Dateien, erhalte ich jetzt folgende Fehlermeldung:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ')' in .../shopping_cart.php on line 402

=> Ich habe mir jetzt die angegebene Stelle ind er Datei angesehen und viele Möglichkeiten versucht aber leider ohne Erfolg. Die Meldung sagt mir als Leien, das in der Zeile 402 ein ")" erwartet wird.

ZEILE 402 sieht so aus:

  
'attributes' => $this->contents[$products_id]['attributes']);  

Leider weiß ich nicht an welcher Stelle. Kann mir das vielleicht jemand sagen?

  
				$products_array[] = array (  
					'id' => $products_id,  
					'products_gift' => $products['products_gift'],  
					'name' => $products['products_name'],  
					'model' => $products['products_model'],  
					'image' => $products['products_image'],  
					'price' => $products_price + $this->attributes_price($products_id),  
					'quantity' => $this->contents[$products_id]['qty'],  
					'weight' => $products['products_weight'],  
					'final_price' => ($products_price + $this->attributes_price($products_id)),  
					'tax_class_id' => $products['products_tax_class_id'],D  
					'attributes' => $this->contents[$products_id]['attributes']);  
  
			}  
		}  
		return $products_array;  
  
  
  

  1. Mahlzeit marco,

    Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ')' in .../shopping_cart.php on line 402

    Oft bewirkt ein Fehler in der Zeile vor der angezeigten Zeile, dass die angezeigte Zeile nicht korrekt verarbeitet werden kann.

    In Deinem Fall wäre das die folgende Zeile:

      			'tax\_class\_id' => $products['products\_tax\_class\_id'],D  
    

    Was fällt Dir daran auf?

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Hallo EKKi,

      vielen Dank für die schnelle Antwort. Mir fällt das "D" auf. Aber wenn ich es rausnehme, dann bekomme ich auch schon die nächste Fehlermeldung für Zeile 471, dann steht da:

      Parse error: syntax error, unexpected T_STRING in .../german.php on line 471

      Kann man das so verstehen, dass die shopping_cart.php dann wieder ok ist und ich mich jetzt an die nächste setzen muss also...german.php ?

      gruß
      marco

      1. Hallo Martin und EKKi,

        vielen Dank für den Tip! Ich habe jetzt wie gesagt das "D" rausgenommen.

        Jetzt kommt die folgende Fehlermeldung:

        Parse error: syntax error, unexpected T_STRING in .../german.php on line 471

        Zeile 471:

          
        define('PRODUCTS_GIFT_INFOTEXT','<strong><font color="#ff7e00">Gratis für Sie!</font></strong><br />Ab folgenden Bestellsummen bieten wir Ihnen ein Gratis-Geschenk an.');
        

        Habt ihr vielleicht noch einen Tip für mich und wenn wir schonmal dabei sind, könnt ihr mir vielleicht auch ein Buch für PHP Anfänger empfehlen. Ich würde mich gern mehr reinlesen, dann müßte ich hier nicht solche wahrscheinlich "Anfängerfragen" stellen. ;-)

        1. Hat sich erledigt. Hab den Fehler selbst gefunden ;-) juhu...

          Natürlich kam dann gleich die nächste Fehlermeldung. Habe das Modul gratis runtergeladen und da scheinen wohl so einige kleine Fehler drin zu sein. Bevor ich jetzt den nächsten poste, sehe ich mir das lieber nochmal genau an. Vielleciht klappts ja gleich wieder.

          Danke euch!

        2. Hi!

          Habt ihr vielleicht noch einen Tip für mich und wenn wir schonmal dabei sind, könnt ihr mir vielleicht auch ein Buch für PHP Anfänger empfehlen. Ich würde mich gern mehr reinlesen, dann müßte ich hier nicht solche wahrscheinlich "Anfängerfragen" stellen. ;-)

          Bücher und Tutorials zu PHP gibt es wie Sand am Meer, doch (lang ists her, dass ich sie brauchte) alle, die ich kenne gehen nur mehr oder weniger richtig darauf ein, wie man was macht, um zum Ergebnis zu gelangen. Jedoch war darin nicht enthalten, wie man im Fehlerfall vorgehen soll.

          Wie man die Syntax richtig schreibt, steht auch im Handbuch, doch das Finden der Stelle, an der man sich verschrieben hat, ist aufwendiger. Ganz wichtig für den Anfänger ist die Erkenntnis, dass der Parser - wenn er über etwas stolpert - meist noch noch eine ganze Weile vor sich hinstrauchelt, bevor er endgültig auf der Nase angekommen ist. Die Ursache für Syntax-Fehler liegt häufig irgendwo vor der angemeckerten Stelle - egal ob weit oder nah.

          Wie findet man nun solche Stellen? Wenn sie nicht auffallen, und auch das Syntax-Highlighting oder die Klammernpaar-Findfunktion von Editoren keine Probleme aufzeigen, kann man auch versuchen, Code zu reduzieren, so dass am Ende nur noch wenig übrigbleibt, und man dann die Nadel nur noch zwischen Strohhalmen und nicht mehr im Heuhaufen suchen muss. Dabei kann man vom aktuellen Stand eine Kopie anfertigen und alles überflüssige entfernen oder man kopiert das Problemkind in eine neue Datei und untersucht es dort. Wenn der Fehler nicht mitwandert oder beim Löschen des vermeintlich nicht Relevanten verschwindet, liegt er vermutlich an einer ganz anderen Stelle, als man ihn zunächst vermutet.

          Lo!

  2. Hi,

    ZEILE 402 sieht so aus:
    'attributes' => $this->contents[$products_id]['attributes']);[/code]

    das mag sein - aber was macht das D am Ende der vorhergehenden Zeile?

    'tax_class_id' => $products['products_tax_class_id'],D  
    
      	'attributes' => $this->contents[$products_id]['attributes']);
    
      
    So long,  
     Martin  
    
    -- 
    Frauen sind wie Elektrizität: Fasst man sie an, kriegt man eine gewischt.