js-Schnipsel in Datenbankabfrage einfügen

KeinKommentar

Stolzer Webbi :-)
ID: 8090
L
13 Juni 2006
2.077
190
Mal wieder zu ungebildet...

Meine Seiteninhalte werden wie folgt generiert:

PHP:
echo"<table width='96%'><tr><td><h2>Redensart / Redewendung</h2>";
echo"<p><strong><em>$row[redensart]</em></strong></p>";
echo"";
echo"<h2>Bedeutung</h2>";
echo"$row[bedeutung]";
echo"";
echo"<h2>Herkunft</h2>";
echo"$row[herkunft]";
echo"";
echo"<h2>Beispiele</h2>";
echo"$row[beispiele]";
echo"";
echo"<h2>Abbildung(en)</h2>";
echo"$row[abbildungen]";
echo"";
echo"<table width='100%' style='margin-top:10px'><tr><td align='center' width='33%'><a href='$abc.html'>Zurück zu $abc</a></td>
<td align='center' width='33%'><a href='redewendungen.html'>Register</a></td><td align='center' width='33%'><a href='Themen.php'>Themen</a></td>
</tr></table></td></tr></table>";
echo"<br><br>";

In diesen Abschnitt möchte ich zwischen Bedeutung und Herkunft den Code für Adsense-Anzeigen einbinden, damit ich das nicht für jede Unterseite einzeln in der Datenbank einfügen muß (was funktionieren würde - siehe https://www.redensarten.net/Morgenluft.html).

PHP:
<script type="text/javascript"><!--
google_ad_client = "pub-XXXX";
/* 468x60, Erstellt 28.01.10 */
google_ad_slot = "2613016497";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="https://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

Aber irgendwie harmonieren die Schnipsel nicht miteinander. Oder - das wird es wohl eher sein - ich binde es falsch ein. Wie sollte es theoretisch aussehen?
 
Darf ich mal kurz fragen: Hääää? Was is los?

Zuerst einmal: Was soll sowas bringen?

PHP:
echo"$row[bedeutung]";
Warum wird eine Variable nochmal geparsed? Totale Käse.

Dann zum Problem:
Ich vermute mal, dass der Code ganz "Plump" per
PHP:
echo "<GOOGLEADS-CODE>";
eingebunden wird.

Das sieht dann ja so aus:
PHP:
echo "<script type="text/javascript"><!--
google_ad_client = "pub-XXXX";
/* 468x60, Erstellt 28.01.10 */
google_ad_slot = "2613016497";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="https://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>">;
Wenn man sich jetzt hier das Highlighing anschaut, dann sieht man, dass da irgendwas nicht stimmt.

Entweder macht man es so, dass der PHP-Code unterbrochen wird:
PHP:
...
?><script type="text/javascript"><!--
google_ad_client = "pub-XXXX";
/* 468x60, Erstellt 28.01.10 */
google_ad_slot = "2613016497";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="https://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<?
...
Oder man nutzt - meine Meinung - die wesentlich besseren Single-Quotes - also im Vergleich die Doppel-Quotes.
PHP:
echo '<script type="text/javascript"><!--
google_ad_client = "pub-XXXX";
/* 468x60, Erstellt 28.01.10 */
google_ad_slot = "2613016497";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="https://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>';
So ist zumindest in diesem Beispiel alles korrekt. Wenn dann natürlich innerhalb der Codes nochmal Single-Quotes vorkommen, dann müssen diese escaped werden, indem man einen Backslash (\) davor stellt. Wenn diese Escape-Variante "normal" benutzt wird, dann sieht der Code absolut grausam aus.

PS: Du gibst dich ja hier als Retter der deutschen Sprache aus und schreibst muss mit ß?
 
Zuletzt bearbeitet:
Darf ich mal kurz fragen: Hääää? Was is los?

Zuerst einmal: Was soll sowas bringen?

PHP:
echo"$row[bedeutung]";
Warum wird eine Variable nochmal geparsed? Totaler Käse.

Geht das auch in Deutsch? :LOL:
Du kannst Dir nicht vorstellen, wie oft ich mir schon gewünscht habe, ich hätte die ganze Seite ausschließlich mit html/css und ohne Datenbanken aufgezogen. Ist zwar verdammt viel mehr Arbeit. Aber damit kenne ich mich wenigstens halbwegs aus, hätte die volle Kontrolle und hätte auch diese Frage nicht stellen müssen.

Mit den single quotes klappt es auf jeden Fall. Vielen Dank.

Den Communitygedanken weitertragend, werde ich schauen, wo ich jemandem helfen kann. Womöglich braucht ja jemand Hilfe bei einer Übersetzung aus dem Lateinischen. :LOL:

PS: Du gibst dich ja hier als Retter der deutschen Sprache aus und schreibst muss mit ß?

Wo ist da für Dich ein Widerspruch? Das teilweise Ersetzen des Sz hat die Sache nicht wirklich vereinfacht, sondern lediglich alte Fehlerquellen durch neue Unklarheiten ersetzt. Man denke an das Paradebeispiel Maßen und Massen. Du kannst nicht in Maßen trinken, ich schon. :p Hinzu kommen ästhetische Bedenken. Ein dass ist handschriftlich derart häßlich... Drittens hat eine Umfrage unter meinen Lesern ergeben, daß 50% so wie ich die alte Rechtschreibung bevorzugen.
 
Geht das auch in Deutsch? :LOL:
Die Frage auf Deutsch: Warum verwendest du Parser-Zeit, indem du eine Variable, die an sich schon fix und fertig für die Ausgabe ist, nochmal durch den Parser jagst? Warum schreibt du
PHP:
echo"$row[bedeutung]";
, wenn du korrekterweise einfach nur
PHP:
echo $row['bedeutung'];
schreiben könntest?

Anmerkung: Array-Indizes wie Konstanten zu schreiben, kann dir bei PHP-Laufzeitveränderung oder -update Ärger einhandeln. Schlimmstenfalls funktioniert danach dein Script gar nicht mehr, also mach es doch gleich richtig :pray: ;)
 
Ich habe dieses doofe Script ja nicht gecodet... Wie auch, ich kann kein php.

Das schließt ja nicht aus, dass du es geschrieben hast. Dem der es geschrieben hats gings ja anscheinend auch nicht besser. :evil::roll:
Und was hat das Problem mit einer Datenbankanfrage zu tun?

So.. nach den nicht-Topic fragen: Läufts denn jetzt zumindest?
 
Ich habe dieses doofe Script ja nicht gecodet... Wie auch, ich kann kein php.
Wenn du in diesem Forum postest, geht man aber davon aus, dass a) der Code von dir is und b) du Ahnung von der Materie hast :roll:

Wieso nimmst du dir dann nicht erstmal das PHP-Manual her und arbeitest dich durch die Basics durch?
 
Ja, es funktioniert.

Hacker, daß zumindest b) nicht zutreffen kann, war eigentlich schon an der Frage als solcher zu erkennen, denke ich. :LOL:

Das/ein Problem ist, daß ich mich nicht getraue, da eine grundlegende Verbesserung herbeizuführen. Trotz aller Fehler und Einschränkungen läuft das Ding ja insoweit, daß im Netz etwas zu sehen ist. Und da mir selbst auch noch die Kenntnisse fehlen...

Es wäre mit Sicherheit sinnvoll und würde mich an sich auch interessieren, mir da paar Grundlagen anzueignen. Auf der anderen Seite bin ich zeitlich schon voll eingespannt und kann schon auf die Inhalte nicht soviel Zeit verwenden, wie ich gern würde.
 
Ich finde das ganz in ordnung wenn auch leute mich nicht allzu fundiertem Wissen hier ihre fragen stellen, schliesslich war jeder mal Anfaenger, und wem die Frage zu doof ist, der ignoriert einfach den Thread, abgemacht? :evil: