PHP Guckt euch das mal bitte an...

jopjip

Ensign
Registriert
Juni 2008
Beiträge
233
Hi,
ich habe folgenden Code auf meiner Seite:
PHP:
if(!($side == zitat))
{
echo"<h2><a href=\"./?side=zitat\">Weisheiten</a></h2>";
}

Problem: Der Link
PHP:
<a href=\"./?side=zitat\">Weisheiten</a>
ist eine Bedingung, die erfüllt werden muss bzw. nicht erfüllt werden darf,
PHP:
if(!($side == zitat))
damit dieser Teil nicht ausgegeben wird:
PHP:
echo"<h2><a href=\"./?side=zitat\">Weisheiten</a></h2>";
Kennt jemand von euch eine Lösung für dieses Problem, da ja die Bedinung erst erfüllt wird nachdem dieser Teil aufgerufen wurde, sodass die Bedingung nie erfüllt werden kann, sodass
PHP:
echo"<h2><a href=\"./?side=zitat\">Weisheiten</a></h2>";
immer ausgeführt wird, was man auch anstellt.

Danke und MFG
 
Zuletzt bearbeitet:
boah sry nochma klartext bitte? :D

Du hast eine Abfrage (if) und wenn diese mit !x==Y "erfüllt" ist, wird der rest in den geschweiften klammern ausgegeben und was möchtest du jetzt genau?

Nebenbei, ist diese Abfrage nicht irgendwie widersprüchlich?
 
Zuletzt bearbeitet:
So vielleicht? o.O
Bin mir nicht so recht sicher, was du eigentlich erreichen willst.

PHP:
if (!isset($_GET['side'])) { //side ist nicht belegt
 echo '<a href="?side=zitat">Weisheiten</a>'; //also zeige Link
//1
}
else { //side wurde belegt
//mach was anderes
//2
}
(Wenn du Variablen in Adressen weiterreichst, musst du auch immer $_GET['side'] auslesen, anstatt $side.)

Unter //1 kannst du ja noch die Bedingung einfügen, z.B. dass $_GET['side'] == 'zitat' ist.
 
Zuletzt bearbeitet:
Ok nochmal :D :
Hier ist das vollständige Skript:
PHP:
$side = '';
$side = $_GET['side'];

if($side !== zitat)
{
/*Der Link, in dem die Bedingung $side = zitat liegt*/
echo"<h2><a href=\"./?side=zitat\" style=\"color:#FFF;\">Weisheiten</a></h2>";
}
Klicke ich auf den Link so wird der Link trotzdem ausgegeben, obwohl ich ja eigentlich erreichen will, dass dies unterbunden wird, sobald $side = zitat und ja das ist widersprüchlich aber deswegen funktioniert es ja auch nicht richtig :D

MFG
 
Mal 'ne blöde Frage zwischendurch ;-)

Ist "zitat" eine Konstante oder eine Variable? Wenn es eine Variable ist, dann fehlt da das Dollarzeichen.
 
1) Auf Operator achten (Ist wirklich Typengleichheit erforderlich?)
2) Ist zitat denn definiert? - ich sehe da nur eine Konstante (keine Variable) - nicht einmal ein Zeichenkettenliteral

So kann das nicht funktionieren!


Und btw: arbeite um Gottes Willen bitte an Deiner Art Probleme zu formulieren, sonst rätseln erstmal alle eine Foren-Seite herum, was nun gemeint sein könnte und was nicht.
 
@Conbinja "zitat" ist ein Wert, $side kann verschieden Werte annehmen und je nach dem wird ein anderer Content aufgerufen(z.B. das Impressum, Startseite, hier geht es nur einen kleinen Teil meiner Navigation)
@XunnD
1.)Wie meinst du das?
2.)Die Variable $side ist "definiert" bzw. festgelegt, zitat ist nur ein Wert, den diese annimmt sobald man auf den Link klickt, der über
PHP:
echo"<h2><a href=\"./?side=zitat\" style=\"color:#FFF;\">Weisheiten</a></h2>";
ausgegeben wird.

Sobald $side=zitat wird die if-Anweisung nicht erfüllt und somit der Link auch nicht ausgegeben, aber gerade das funktioniert nicht.

MFG
 
Wenn ich das richtig verstehe, geht es darum, wenn jemand bereits auf der Zitat-Seite ist, soll er den Link zur Zitat-Seite nicht angezeigt bekommen, richtig ?

Code:
$side = $_GET['side'];

if($side != [COLOR="red"][B]"[/B][/COLOR]zitat[COLOR="Red"][B]"[/B][/COLOR])
{
echo"<h2><a name='side' href=".$side."style='color:#FFF;'>Weisheiten</a></h2>";
$side = "zitat";
}

Wobei natürlich dazu kommt, das "zitat" kein gültiger Link ist. Wenn dann wohl "zitat.html" oder sowas.

Gruß

HD
 
Richtig das funktioniert immernoch nicht. Und zitat ist immer noch kein Link oder eine Variable, es ist ein Wert, der der Variable $side zugewiesen wird, sobald jemand auf den entsprechenden Link klickt. Wenn dieser Wert zugewiesen wird, soll der Link auf diese Seite aber nicht angezeigt werden, wie HansDampf38 schon richtig erkannt hat.

MFG
 
Dies hier sollte funktionieren:
PHP:
$side = $_GET['side'];

if($side != "zitat") {
    echo '<h2><a href="'.$_SERVER['SCRIPT_NAME'].'?side=zitat">Weisheiten</a></h2>';
}
 
Ich habe das Problem folgendermaßen gelöst:
Ich habe meine Links(es waren mehr als 1 und massig PHP-Code) in eine txt-Datei gespeichert, diese wird bei Bedarf included.

@r1ch13 Ich werde dein Skript auf jeden Fall ausprobieren, wenn ich es brauchen sollte, aber meine Lösung ist in diesem Fall besser geeignet bei 100 Zeilen Code und Skript ;-)

Danke an alle!
 
Zurück
Oben