php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.12.2011, 11:38  
Neuer Benutzer
 
Registriert seit: 23.02.2011
Beiträge: 10
PHP-Kenntnisse:
Anfänger
Hardyy zeigte ein beschämendes Verhalten in der Vergangenheit
Standard Punkt-Verkettungsoperator und Escapen-Syntaxerror

Hallo,

ich bin dabei eine Bildgalerie (www.mywebsolution.de) mit der FancyBox 2.0.3 (http://fancyapps.com/fancybox/) zu verknüpfen.

Auf der Webseite MyWebsolution ist leider fast kein User-Verkehr mehr und der Skript ist bereits vom 08.10.2007, so dass hier keine Hilfe zu erwarten ist. Deswegen poste ich hier.

Beide Skripte funktionieren einwandfrei, nur das Zusammenspiel leider nicht. Es handelt sich wahrscheinlich nur um einen Sytax-Fehler, dem ich mit meinem Wissenstand leider nicht auf die Spur komme. Vielleich kann mir einer von euch helfen ?

Jetzt im Detail:

Die Bildgalerie legt die Bilder nach dem Hochladen im Ordner:
fotos im Format PIC_........jpg und die berechneten Thumbnails im Unterordner fotos/thumbnails im Format TN_.........jpg ab, wobei die Namen für beide identisch sind.

Mit dem PHP-Code:

PHP-Code:
echo "<a href=\"indexg.php?s=detail_screen&id=".$row['ID']."\">".                                                                              
 
"<img style=\"border: 5px solid #000000;float:".$float.";\" src=\"".TN_FOLDER."/TN".substr($row['Name'],3)."\" alt=\"".$row['Name']."\" />".  
 
"</a>"
erhalte ich die Anzeige der Thumbnails auf meiner Homepage in einer Reihe

und mit dem PHP-Code:

PHP-Code:
echo "<img src=\"".PIC_FOLDER.$pic['Name']."\" alt=\"".$pic['Name']."\" />\n"
erscheint dann nach dem Anklicken des Thumbnails das „Großbild“ in einem neuen Fenster.
Wie gesagt, funktioniert einwandfrei.

Die Fancybox 2.0.3 habe ich auch zum Laufen gebracht. Hier ist die Ausgabe der Bilder in der
Zeile (HTML):

Code:
<a class="fancybox-thumb" rel="fancybox-thumb" href="http://farm7.staticflickr.com/6099/6359411189_0ffbb4719f_b.jpg" title="Backwash (Through Bri`s Lens)"> 
<img src="http://farm7.staticflickr.com/6099/6359411189_0ffbb4719f_m.jpg" alt="" />
Funktioniert auch einwandfrei.

Jetzt möchte ich statt der Test-Bilder aus der staticflickr.com (_b = Thumnbnails, _m = "Großbild") eben die Bilder aus der Bildgalerie
TN_FOLDER und PIC_Folder
ausgeben.

Habe bereits unzählige Kombination der Ausgabezeile ausprobiert aber es will nicht klappen!

z.B. bei dem Versuch:

PHP-Code:
echo <class="fancybox-thumb" rel="fancybox-thumb" "<img src=\"".PIC_FOLDER$pic['Name']."\" alt=\"".$pic['Name']."\" />\n"    
      "<img src=\""
.TN_FOLDER."/TN".substr($row['Name'],3)."\" alt=\"".$row['Name']."\" />". ; 
erhalte ich eine Error-Meldung:

Zitat:
Parse error: syntax error, unexpected '<' in C:\xampp\htdocs\Cityguide2\detail_screen2.php on line 60
Bei anderen Versuchen kommt dann eine ähnliche Error-Meldung wie diese:

Zitat:
Parse error: syntax error, unexpected T_CLASS, expecting ',' or ';' in C:\xampp\htdocs\Cityguide2\detail_screen2.php on line 60
Anscheinend ist es ein reiner Syntax-Fehler , kein Code-Fehler.

Also ich weiß leider nicht weiter.
Kann vielleicht jemand helfen? Reichen meine Angaben aus, um das Problem zu verstehen?

Danke, hardyy

Geändert von Hardyy (17.12.2011 um 11:42 Uhr).
Hardyy ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.12.2011, 16:43  
Erfahrener Benutzer
 
Registriert seit: 28.01.2010
Beiträge: 615
PHP-Kenntnisse:
Fortgeschritten
tkausl ist in Verruf geraten
Standard

Zitat:
Zitat von Hardyy Beitrag anzeigen
PHP-Code:
echo <class="fancybox-thumb" rel="fancybox-thumb" "<img src=\"".PIC_FOLDER$pic['Name']."\" alt=\"".$pic['Name']."\" />\n"    
      "<img src=\""
.TN_FOLDER."/TN".substr($row['Name'],3)."\" alt=\"".$row['Name']."\" />". ; 
erhalte ich eine Error-Meldung:
Wo ist denn das Öffnende " oder ' ?
__________________
PS: Wenn ich einen Beitrag schreibe wo NUR [php] drin steht, dann gab es wieder ein Problem mit meinem iPhone...
tkausl ist offline   Mit Zitat antworten
Alt 17.12.2011, 18:24  
Neuer Benutzer
 
Registriert seit: 23.02.2011
Beiträge: 10
PHP-Kenntnisse:
Anfänger
Hardyy zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Das frage ich mich auch.
Weder in den Bildgalerie-Codes noch in dem Fancybox-Code ist irgendein 'or', also ist in meinem "gebasteltem" Code auch kein 'or'.

Was ist ein öffnendes Oder?
Hardyy ist offline   Mit Zitat antworten
Alt 17.12.2011, 18:34  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Das war eine Frage, eine berechtigte dazu.

Du möchtest etwas aus PHP heraus ausgeben (echo). Wo beginnt dein String? Das <a steht frei im Raum, ohne Stringbegrenzer. Da liegt dann auch schon der Fehler...
PHP-Code:
echo <class="fancybox-thumb" rel="fancybox-thumb" "<img src=\"".PIC_FOLDER$pic['Name']."\" alt=\"".$pic['Name']."\" />\n"    
      "<img src=\""
.TN_FOLDER."/TN".substr($row['Name'],3)."\" alt=\"".$row['Name']."\" />". ; 
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 18.12.2011, 12:21  
Neuer Benutzer
 
Registriert seit: 23.02.2011
Beiträge: 10
PHP-Kenntnisse:
Anfänger
Hardyy zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hi Istegelitz,

Zitat:
Das war eine Frage, eine berechtigte dazu.
Das glaube ich. Aber die Frage von tkausl

Zitat:
Wo ist denn das Öffnende " oder ' ?
habe ich leider nicht verstanden (sorry tkausl). Fälschlicherweise habe ich angenommen, er meint das Wort "oder" ( da es in der Fehlermeldung hieß:.....expecting ',' or ';'.......). Jetzt ist mir klar, dass die Anführungszeichen gemeint waren.

Das <a ist natürlich falsch und hat leider mit dem Problem nichts zu tun.
Es ist ein Überbleibsel vom ständigen Kopieren und Probieren und längst gelöscht.

Mein Code lautet z.Zt.:

PHP-Code:
echo class="fancybox-thumb" rel="fancybox-thumb" "<img src=\"".PIC_FOLDER$pic['Name']."\" alt=\"".$pic['Name']."\" />\n"    
      "<img src=\""
.TN_FOLDER."/TN".substr($row['Name'],3)."\" alt=\"".$row['Name']."\" />". ; 
und die aktuelle Fehlermeldung ist:

Zitat:
Parse error: syntax error, unexpected T_CLASS in C:\xampp\htdocs\Cityguide2\detail_screen2.php on line 65
Das deutet auf einen Fehler beim Escapen hin. Und das ist ein Bereich wo, ich auch nach wiederholtem Lesen im Handbuch geistig nicht mitkomme.
Kann sein, dass hier irgendwo Anführungszeichen oder ein Slash fehlt?
Hardyy ist offline   Mit Zitat antworten
Alt 18.12.2011, 12:31  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Zitat:
Kann sein, dass hier irgendwo Anführungszeichen oder ein Slash fehlt?
Das ist, was wir dir die ganze Zeit sagen wollen...

Zitat:
PHP-Code:
echo class="fancybox-thumb" rel="fancybox-thumb" "<img src=\"".PIC_FOLDER$pic['Name']."\" alt=\"".$pic['Name']."\" />\n"    
      "<img src=\""
.TN_FOLDER."/TN".substr($row['Name'],3)."\" alt=\"".$row['Name']."\" />". ; 
Es ist ein himmelweiter Unterschied, ob du sagst:
PHP-Code:
echo 'class'
oder
PHP-Code:
echo class; 
Wenn es immer noch nicht geklingelt hat, geh bitte nochmal die Grundlagen zum String durch.
http://de.php.net/manual/en/language.types.string.php
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 19.12.2011, 10:21  
Neuer Benutzer
 
Registriert seit: 23.02.2011
Beiträge: 10
PHP-Kenntnisse:
Anfänger
Hardyy zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Danke für die Anregungen.
Mit dem Handbuch geht es mir wie einem Schachspiel-Anfänger. Man hat sämtliche Figurenzüge gelernt aber Schach spielen kann man noch lange nicht.

Ich habe gehofft, dass einem erfahrenen PHP-Spezialisten evtl. der Syntaxfehler auf einen Blick auffällt. Entschuldigt meine Naivität.
Ich werde halt weiter in das Handbuch stieren und warten bis es klingelt.
Hardyy ist offline   Mit Zitat antworten
Alt 19.12.2011, 10:47  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Das ist ein String:
PHP-Code:
'class' 
Das ist keiner
PHP-Code:
class 
Dein Code...

Falsch
PHP-Code:
echo class="fancybox-thumb" rel="fancybox-thumb" "<img src=\"".PIC_FOLDER$pic['Name']."\" alt=\"".$pic['Name']."\" />\n"    
      "<img src=\""
.TN_FOLDER."/TN".substr($row['Name'],3)."\" alt=\"".$row['Name']."\" />". ; 
Richtig
PHP-Code:
echo 'class="fancybox-thumb" rel="fancybox-thumb" "<img src="'.PIC_FOLDER$pic['Name'].'" alt="'.$pic['Name'].'" />\n"    
      "<img src="'
.TN_FOLDER.'/TN'.substr($row['Name'],3).'" alt="'.$row['Name']." />"
Ein String beginnt und endet entweder mit einzelnen Hochkomma ' oder mit doppelten Hochkomma "
Man sieht bereits am Syntaxhighliting, das etwas mit dem String nicht stimmt, wenn nicht alles, was Teil des Strings sein soll, rot eingefärbt ist...
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 19.12.2011, 18:31  
Neuer Benutzer
 
Registriert seit: 23.02.2011
Beiträge: 10
PHP-Kenntnisse:
Anfänger
Hardyy zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Vielen Dank für die weiteren Bemühungen.

Wenn ich den korrigierten Code einsetze bekomme ich zwar keinen Syntaxfehler mehr aber keine Anzeige in der FancyBox.

Das Ergebnis ist eine Textzeile mit dem eingebetteten Bild:

Zitat:
class="fancybox-thumb" rel="fancybox-thumb" " - BILD - \""
Die Korrektur ist nur eine andere Schreibweise des ursprünglichen Codes der auch keinen Sytaxfehler aufwies.
Die Double Quotes wurden durch Single Quotes ersetzt, dadurch konnte auf das Escapen mit den Backslashes verzichtet werden. Ich hoffe, soweit konnte ich es richtig nachvollziehen.

Der Syntaxfehler kommt erst durch das Hinzufügen des FancyBox-Codes

Zitat:
class="fancybox-thumb" rel="fancybox-thumb"
Da steckt irgendwo ein Gedankenfehler.
Habe ja darauf hingewiesen, dass es sich bei dem FancyBox-Code um einen HTML-Code handelt, den ich mit der Echo-Anweisung in den PHP-Skript einbinden wolte.

D.h. bei class handelt sich meiner Meinung nach nicht um einen PHP-String sondern um eine HTML-class und somit sind hier die Single Quotes meines Erachtens nicht angebracht.

Auch wenn ich den Original-Code der Fancy-Box

Zitat:
<a class="fancybox-thumb" rel="fancybox-thumb" href="http://farm7.staticflickr.com/6099/6359411189_0ffbb4719f_b.jpg" title="Backwash (Through Bri`s Lens)">
<img src="http://farm7.staticflickr.com/6099/6359411189_0ffbb4719f_m.jpg" alt="" />
</a>
folgendermaßen in die gleiche Zeile einbinde (mit echo)

PHP-Code:
echo <class="fancybox-thumb" rel="fancybox-thumb" href="http://farm7.staticflickr.com/6099/6359411189_0ffbb4719f_b.jpg" title="Backwash (Through Bri`s Lens)">
    <
img src="http://farm7.staticflickr.com/6099/6359411189_0ffbb4719f_m.jpg" alt="" />
</
a
erhalte ich eine Syntaxfehler-Meldung

Zitat:
Parse error: syntax error, unexpected '<' in C:\xampp\htdocs\Cityguide2\detail_screen2.php on line 127
Binde ich den Code aber ohne echo in die gleiche Zeile ein,

PHP-Code:
  ?>
    <a class="fancybox-thumb" rel="fancybox-thumb" href="<img src=fotos/PIC_df7ee89b938088.JPG" title="Hlg.Georg" >
    <img src="fotos/thumbnails/TN_df7ee89b938088.JPG" alt="" />
    </a>
  <?php
d.h. ich unterbreche den PHP-Skript, funktioniert es einwandfrei.

Nach einem weiteren stundenlagen Probieren und Studieren des Handbuches weiß ich immer noch nicht wo der Fehler in dem (jetzt korrigiertem) Code

PHP-Code:
echo 'class="fancybox-thumb" rel="fancybox-thumb" "<img src="'.PIC_FOLDER$pic['Name'].'" alt="'.$pic['Name'].'" />\n"    
      "<img src="'
.TN_FOLDER.'/TN'.substr($row['Name'],3).'" alt="'.$row['Name']." />"
stecken könnte.
Hardyy ist offline   Mit Zitat antworten
Alt 19.12.2011, 19:37  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Bitte tu dir selbst einen Gefallen und kehre zu den Grundlagen zurück, dir fehlt das elementare Verständnis.

Vor allem: Brich die Monster-Anweisungen in kleine Portionen auf! Du hast Probleme, die Stringkonkatenation zu begreifen, also bau nicht riesige Stringverkettungen, die du nicht verstehst.

Mach die Ausgaben Stück für Stück, bau sie langsam auf. Kleine Schritte. Wenn was klappt, weiter zum nächsten Part, wenn nicht, verstehe warum es nicht funktioniert. Immer wieder in den HTML Quelltext schauen, auch dort die Grundlagen lernen (wie ist ein Link aufgebaut, wie ist ein img aufgebaut)
PHP-Code:
// 1.
echo '<a>';
echo 
'</a>';

// 2.
echo '<a>';
echo 
'<img />';
echo 
'</a>';

// 3.
echo '<a class="fancybox">';
echo 
'<img href="http://Bild-URL"/>';
echo 
'</a>';

// usw... 
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Problem bei PHP-Menü mit Parent-Modell MadMax PHP Einsteiger 20 08.02.2012 15:04
Ausgewählter Punkt aus Liste speichern TJ86 PHP Einsteiger 12 11.08.2011 12:07
Tabellenname mit Punkt (mysql) BOSSE123 Datenbanken 4 30.12.2010 00:33
[Erledigt] Falsche Ergebnis bei Suche nach Punkt oder Bindestrich choice Datenbanken 11 09.11.2010 13:48
Zahlen mit Punkt ausgeben php-gamer PHP Tipps 2010 5 24.01.2010 22:49
[Erledigt] XML-Element, das Punkt enthält, ansprechen MmeChaos PHP Tipps 2009 3 07.01.2010 16:45
Operator "." (Punkt) Crystal PHP Tipps 2009 3 25.12.2009 09:49
Mehrdimensionalen Array in UL ausgeben kipperlenny PHP-Fortgeschrittene 11 07.08.2008 14:33
Aus dem Weltall auf einen Punkt snatch-ic Off-Topic Diskussionen 7 29.04.2007 19:28
Mod Rewrite Problem mit PUNKT becks123 Server, Hosting und Workstations 1 31.01.2007 21:48
Punkt in Komma umwandeln MAD King PHP Tipps 2006 14 24.04.2006 19:43
decimal : punkt zu komma konvertieren Das Devil PHP Tipps 2006 2 20.04.2006 11:39
Punkt in Polygon Zergling-new Off-Topic Diskussionen 5 03.01.2006 20:31


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:29 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum