PHP if-Bedingung geht nicht
Claudia B.
- php
Hallo,
warum funtzt meine Bedingung nicht?
<?php
if ($titlean < 1)
//show
{
echo"<title>Text| {$ad['sub']} {$ad['cat']}"
{
else
//index
{
echo"<title>Text| asfdasdfadfasdf</title>"
}
?>
Danke.
N'Abend
warum funtzt meine Bedingung nicht?
Die macht was nicht? Was tut sie denn stattdessen? Was soll sie denn tun? Was ist $titlean?
MfG
Rouven
Hi Rouven,
kann es sein dass
echo"<title>Text| {$ad['sub']} {$ad['cat']}"
von der Aussage nicht stimmt
Es soll nämlich wenn "$titlean < 1"
diese Zeile Ausgegeben werden.
wenn $titlean =1
soll die Zweite zeile ausgegeben werden.
Kann es sein dass ich in der Logik einen Fehler habe,
oder
echo"<title>Text| {$ad['sub']} {$ad['cat']}"
gar nicht funktioniert?
Danke.
Hi,
Danke.
lass Dir doch einfach mal die Werte der Variablen ausgeben. Ganz vermutlich erlebst Du dann eine kleine Ueberraschung. :-)
Gruss,
Ludger
Hi Claudia,
Kann es sein dass ich in der Logik einen Fehler habe,
oder ... gar nicht funktioniert?
Hast du error_reporting auch mal auf E_ALL gesetzt und geguckt, ob PHP dir was ausspuckt?
Wenn ja, was?
MfG, Dennis.
Hallo Claudia,
if ($titlean < 1)
{
echo"<title>Text| {$ad['sub']} {$ad['cat']}"
{
else
Es scheint mir, dass "deine" Syntax noch ziemlich unsicher ist.
Ich würde dir raten, es wie folgt zu machen:
if (BEDINGUNG) {
BEFEHL;
} else {
BEFEHL;
}
Wenn die Syntax übersichtlicher ist, fällt sofort auf, dass du die Semikolons vergessen hast und bei dir außerhalb des echos 3 geschweifte Klammern aufgehen, aber nur eine zu.
Grüße
Christian
Hallo, Claudia
<?php
if ($titlean < 1)
//show
{
echo"<title>Text| {$ad['sub']} {$ad['cat']}"
{
^
|
------------------------------------------------------
|
Fall du dich nicht beim Posten vertippt hast, würde ich hier
mal das { durch ein } ersetzen (in diesem Fall müßtest du aber auch ne häßliche Fehlermeldung von PHP bekommen haben)
Fall dieser Fehler nur ein Tipfheler im Post war und du keine Fehlermeldung von PHP kriegst, sondern einfach dein Script nicht funktioniert, dann brauchen wir schon etwas mehr Infos, was du eigentlich erreichen willst. Ansonsten ist Ludgers Tip sehr hilfreich.
liebe Grüße
mbr
Hallo,
warum funtzt meine Bedingung nicht?
<?php
if ($titlean < 1)
in klammern steht die bedingung. ist diese wahr wird der then zweig ausgeführt.
offensichtlich stimmt deine bedingung nicht.
möglicherweise steht in $titlean eine zeichenkette. was soll herauskommen, wenn diese mit der zahl 1 verglichen wird?
daher sollten bedingungen immer auch gecastet werden.
z.b. ((int) $titlean < 1) für einen numerischen vergleich
oder ($titlean <> (string) 1) für einen zeichenvergleich
sonst entstehen die "sicherheitslücken" in php