Seite 1 von 1

PHP / Variablen / Bedingungs-Problem

Verfasst: 26.07.2006, 11:05
von mark007q
Ich weiß einfach nicht, warum dieses PHP Skript nicht (gar) nicht funktioniert (ohne Fehlermeldung).

Code: Alles auswählen

<?php
$findMich  = '<img src=\"/images/codeseven/kategoriebild.png\">';
$pos = strpos&#40;$forum&#91;name&#93;, $findMich&#41;;
if &#40;$pos === false&#41; &#123;
   echo "$forum&#91;name&#93;";
&#125; else &#123;
   echo "Hier soll nur $forum&#91;name&#93; ohne <img src="/images/codeseven/kategoriebild.png"> ausgegeben werden... wie mache ich das?";
&#125;
 ?>
Hat jemand eine Idee?

Verfasst:
von

Verfasst: 26.07.2006, 11:12
von twitch
Warum escapst du die ", wenn du den Inhalt eh in '[Inhalt]' packst?

Falsch:
$findMich = '<img src=\"/images/codeseven/kategoriebild.png\">';

Richtig:
$findMich = '<img src="/images/codeseven/kategoriebild.png">';

probiers jetzt mal

EDIT:

Vorletzte Zeile musst du die " escapen bei:
echo "Hier soll nur ".$forum[name]." ohne <img src=\"/images/codeseven/kategoriebild.png\"> ausgegeben werden... wie mache ich das?";

Verfasst: 26.07.2006, 11:52
von SloMo
Das Skript würde z.B. nichts sichtbares machen, wenn $forum[name] leer ist.

Falls name keine Konstante ist, solltest Du lieber $forum['name'] schreiben, also mit "Tüddelchen". ;)

Verfasst: 26.07.2006, 11:57
von SloMo
Hier soll nur $forum[name] ohne <img src="/images/codeseven/kategoriebild.png"> ausgegeben werden... wie mache ich das?
str_replace()

Verfasst: 26.07.2006, 12:49
von mark007q
Klappt leider alles nicht ... also konkret:

Ob ich erste img Zeile escape oder nicht -> kein Einfluss.
$forum[name] ist eine Variable, die jedoch immer mit Inhalt gefüllt ist (Textinhalt).
Ob ich das Name in ' ... ' setze oder nicht -> keine Auswirkungen.

Auch die Kombination der Änderungen -> keine Auswirkungen.

Irgendetwas scheint an der Syntax galsch zu sein ... aber ich komm nicht drauf. Habt ihr noch Anregungen?

Verfasst: 26.07.2006, 12:59
von bloddy newbie
mark007q hat geschrieben: $forum[name] ist eine Variable, die jedoch immer mit Inhalt gefüllt ist (Textinhalt).
Gib doch mal den Inhalt des Arrays mit var_dump($forum) aus.

weiterhin sollte man beim Entwickeln (Frickeln?) das Error Reporting "hoch setzen", um letztlich auch alle Fehler und Faulheiten zu finden:
// set error reporting (am Anfang des Scriptes)
error_reporting(E_ALL);

cu Robert

Verfasst: 26.07.2006, 13:09
von SloMo
bloddy newbie hat geschrieben:Frickeln?
Jo, phrickeln ist fast so einfach wie HTML programmieren. :)

Verfasst: 26.07.2006, 14:13
von 800XE
oben hast du einen String, worin die " escapst werden, obwohl sie nicht escapst werden müßen(dürfen) weil der String in ' steht

unten hast du einen String, wo du die " nicht escapst, obwohl sie escapt werden müßen, weil der STring in " steht

Verfasst: 26.07.2006, 15:00
von bloddy newbie
SloMo hat geschrieben:
bloddy newbie hat geschrieben:Frickeln?
Jo, phrickeln ist fast so einfach wie HTML programmieren. :)
Nicht das wir uns falsch verstehen - man kann mit HPP wirklich erstklassig frickeln, aber auch genausogut sehr sauber und vor allem sicher programmieren. Es liegt immer am Kenntnisstand der damit umgehenden Person.

cu Robert

Verfasst: 26.07.2006, 15:10
von net(t)worker
mark007q hat geschrieben: $forum[name] ist eine Variable, die jedoch immer mit Inhalt gefüllt ist (Textinhalt).
Hmm... in dem script wird $forum nicht mit Daten befüllt....

Verfasst: 27.07.2006, 03:18
von t-rex
Hallo,

da sind mit Verlaub einige Dinge nicht so ganz richtig. So ziemlich jeder, der hier schon geantwortet hat, hat mit seiner Aussage recht. Ich denke, dass es bei dem Fragesteller ein Verständnisproblem der Skriptsprache PHP ist. Deshalb habe ich das ganze mal ausgearbeitet, und ein kleines Tutorial daraus gebastelt.

ich hoffe es hilft Dir @mark007q und vielen anderen :-)

sonnige Grüsse
HaPe

P.S.: hoffe der Link auf mein Blog geht in Ordnung ;-)