Variable ohne Wert überprüfen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anweisung
aufruf
begreifen
beispiel
beitrag
bel
break
eleganteste lsung
formular
fram
funktioniert irgendwie
grundgerst
hilfe
hinweis
leiden
meinst
switch
test
variable
vielen dank
-
Hallo,
ich will in einem Script überprüfen, ob eine Variable über die URL bereits einen Wert hat oder nicht.
Versucht habe ich es damit:
<?php if($title=""){ $title = "titel"; //Titel der Seite } ?>
aber das funktioniert irgendwie nicht.
Ich habe auch andere Begriffe benutzt wie void, 0 etc. aber nix hat geklappt.
Wie geht das? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Wenn ich dich richtig verstanden habe, meinst du sowas:
<?php if(!isset($_GET['titel'])) { echo('Diese Seite hat keinen Titel'); } else { echo('Der Titel dieser Seite lautet: '.$_GET['titel']); } ?>
Vor dem Aufrufen der Seite hängst du hinter die URL noch
?titel=Test an. Also zum beispiel index.php?titel=Test
EDIT: Test kannst du natürlich (fast) beliebig ersetzen
Beitrag geändert: 4.8.2007 0:55:38 von swissguy -
Ah, vielen Dank, funktioniert
-
Wenn du weitere Hilfe brauchst - einfach posten!
-
<?php if($title=""){ $title = "titel"; //Titel der Seite } ?>
Das geht auch so, allerdings musst du == anstatt von = schreiben:
<?php if($title==""){ $title = "titel"; //Titel der Seite } ?>
mit isset() kannst du keine leeren Variablen überprüfen:
<?php $title = ''; if (!isset($title)) { //dieser Code wird nicht ausgeführt } if ($title == '') { //dieser Code wird ausgeführt } ?>
Beitrag geändert: 4.8.2007 9:19:10 von sandrock-jonas -
Die eleganteste lösung ist allerdings Zweifelsohne
switch(TRUE) { case (!isset($_GET['title']) OR empty($_GET['title'])): echo 'Wow, ' . $_GEt['title'] . ' ist aber ein toller Titel!'; break; default: echo 'Diese Setie werde ich nie wieder ebsuchen..die hat ja nichteinmal einen Titel!'; break; }
ungetestet, und ich bin nicht mehr sicher wie das mit den TRUE switches war, aber eigentlich dürftes arbeiten. -
Ok, vielen Dank.
Habe aber noch ein Problem
Meine Frames wollen nicht so richtig...
<HTML> <BODY> <frameset rows="10%,90%" border="0" frameborder="0"> <frame src="index2.php" name="info"> <frame src="http://www.google.de" name="url"> <noframes> <body> Es tut mir Leid, aber sie unterstützen keine Frames. </body> </noframes> </frameset> </BODY> </HTML>
Ich hatte mir das Grundgerüst von frames eigentlich immer so gespeichert und bisher hatte auch alles funktioniert, aber wenn ich das ausführen will zeigt er mir nur eine weiße Seite an.
Beitrag geändert: 4.8.2007 12:37:11 von laberlu -
Die eleganteste lösung ist allerdings Zweifelsohne
switch(TRUE) { case (!isset($_GET['title']) OR empty($_GET['title'])): echo 'Wow, ' . $_GEt['title'] . ' ist aber ein toller Titel!'; break; default: echo 'Diese Setie werde ich nie wieder ebsuchen..die hat ja nichteinmal einen Titel!'; break; }
ungetestet, und ich bin nicht mehr sicher wie das mit den TRUE switches war, aber eigentlich dürftes arbeiten.
was heißt denn dieser "default"? soll das sowas wie "false" sein? -
Also ich kenne es nicht von PHP, aber von C++ (und 80% schon wieder vergessen^^).
Da kann man mit Case verschiede Bedingungen machen, z.B.
Case(a==1){
//anweisung wenn a=1 ist
}
case(a==5){
//Anweisung wenn a=5 ist
}
default{
//wenn kein anderer Case zutrifft
} -
Ok, vielen Dank.
Habe aber noch ein Problem
Meine Frames wollen nicht so richtig...
<HTML> <BODY> <frameset rows="10%,90%" border="0" frameborder="0"> <frame src="index2.php" name="info"> <frame src="http://www.google.de" name="url"> <noframes> <body> Es tut mir Leid, aber sie unterstützen keine Frames. </body> </noframes> </frameset> </BODY> </HTML>
Ich hatte mir das Grundgerüst von frames eigentlich immer so gespeichert und bisher hatte auch alles funktioniert, aber wenn ich das ausführen will zeigt er mir nur eine weiße Seite an.
Beitrag geändert: 4.8.2007 12:37:11 von laberlu
Sieh dir mal das Grundgerüst eines Framesets an:
http://de.selfhtml.org/html/frames/definieren.htm#grundgeruest
<frameset>...</frameset> gehört nicht in <body>...</body>!
Und dann natürlich noch der Hinweis: Frames sind veraltet. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage