PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wichtig!!!


|Coding
02.06.2002, 16:03:32
hi,

ich hab da ein richtig dickes problem.

datei.php

<html>
<?
switch($id)
{
default:
case "h": //<-- zeile 7
.
.
.


in der datei bekomme ich immer in zeile 7 einen parse error, aber das kann doch nicht sein... wo soll den da ein fehler sein, weiß wer rat?

AndreD
02.06.2002, 16:52:14
Wie geht denn Dein Script weiter?
Bei diesen Kontroll-Mechanismen mit Klammer stimmt die Zeile der Fehlermeldung oft nicht.
Wenn man zum Beispiel bei einer If-Anwendung die letzte Klammer vergisst, dann wird die letze Zeile des Scriptes als Fehlerzeile in der Fehlermeldung angegeben.
...Bin ich auch schon oft drauf reingefallen...

Viele Grüsse
Andre

|Coding
02.06.2002, 17:07:14
hi,

ne, ne, daran liegt es nicht, hab ich auch schon gedacht gehabt, aber es hat sich gerade geklärt. ich habe einfach mal die datei umbenannt, dann ging es auf einmal, warum und wieso ist mir allerdings mehr als schleierhaft...

Matt
02.06.2002, 17:28:35
probiers mal so:

<html>
<?
switch($id)
{
default: break;
case "h": //<-- zeile 7
...

sonst sieht das ganze nämlich so aus, als ob du case "h" in das case "default" eingeschachtelt hättest, und das geht natürlich nicht...

TigerDE2
02.06.2002, 17:31:09
ich hab ja von php überhaupt keine ahnung, aber in javascript kommt default an den schluß... ;)
p.s.: @matt: die geschweifte klammer nach html zu kodieren bringt nen fehler... ;)

|Coding
02.06.2002, 17:35:41
hi,

das geht ja jetzt, siehe oben.

aber dein vorschlag kann nicht gehen. es wird ja kein code ausgeführt.

mehrere elemente von switch koppelt man so:

default:
case "1":
case "2":
.
.
.

und wenn mans so machen würde:

default: break;
case "1":
case "2":
.
.
.

dann wäre default sinnlos, weil kein code da ist der ausgeführt werden kann.

|Coding
02.06.2002, 17:38:10
*lol* TigerDE2


das ist ein bug im forum, hier werden { nicht richtig dargestellt.
da hat keiner was kodiert :-)

P.S.

in php ist es hut wie jacke wo default steht, ob am anfang oder sonst wo. bringt keinen unterschied.

Matt
02.06.2002, 17:44:52
ich weiss das. allerdings dachte ich, dass du bei default nichts ausführen willst, weil da nichts drin gestanden ist. War nicht sonderlich weit gedacht, tut leid.
jedenfalls kannst du default ans ende tun, dann würde das mit dem break nachher auf funktionieren!

|Coding
02.06.2002, 17:50:09
hi,

ist doch kein problem :-)

aber ich will ja default mit case "1" koppeln, weil ich das so nutze um eine standart seite zuladen die auch übern link aufgerufen werden kann.

deswegen musst dat so san :-)

Matt
02.06.2002, 17:52:45
da würde es allerdings auch reichen, wenn du in case "1" kein break; hineintust, weil dann läuft er weiter durch, bis er ein break findet. Genaugenommen ist ein switch sowas ähnliches wie eine Schleife (in php hab ich das nicht ausprobiert, in irgend einer programmiersprache war's aber so ;) )

|Coding
02.06.2002, 18:06:41
na, des gayt net.

ich muss schon default und ein case nehmen:

(page.php)

<?
switch($id)
{
default:
case "1":
$include = "seite.php";
break;
}
?>
.
.
.
<? include($include); ?>
.
.
.


gedanklich könnte man es auch so machen

.oO ( if(default: || case "1":) //tu dies; )


den nur so, wird beim auf rufen der page, die seite.php standartgemäß includiert und kann auch über einen link aufgerufen werden.

http://www.xyz.de/page.php?id=1


verstehst du wie ich das meine?

Matt
02.06.2002, 18:30:50
ehrlichgesagt verstehe ich es nicht, denn das was ich von switches weiss (zugegebenermaßen kommt das nicht aus php sondern aus C und JAVA) wird das default auf jedenfall ausgeführt, und so wie du das einsetzt, brauchst du auch kein default, weil du das ja auch noch nachher ausführen könntest. Im normalfall hängt man das default zur fehlererkennung hinten dran:

"Wollen sie wirklich diese datei löschen? [j/n]"


C++:

printf("Wollen sie wirklich diese Datei löschen? [j/n]");
char doit=getch();

switch(doit)
{
case "j": deleteit(); break;
case "n": dontdeleteit(); break;
default: printf("Ihre eingabe war nicht korrekt! Wollen sie die Datei löschen? [j/n]");
}


oder spinn ich jetzt ganz?

|Coding
02.06.2002, 20:25:16
hi,

na, spinnen tust du nicht :-)

ich meine das folgendermaßen:

ich habe die datei index.php in der sich das switch befindet, so nun rufen ich die datei "index.php" auf und es wird default geladen.

willkommen auf meiner mainpage :-)

so jetzt kann der user noch weiter durch mein menü stöbern und wenn er lust hat, kann er die mainpage wieder auf rufen:

der link dafür: www.xyz.de/index.php?id=1


jetzt verstanden ?


hier kannst du dir das mal in aktion ansehen.

Meine Homepage (http://www.danielkressler.de)

Matt
02.06.2002, 22:59:51
ja ich denk schon, ich hätte das ganze allerdings anders angegangen, nämlich ohne switch - ich hätte das etwa so gemacht, dass ich www.blabla.com/index.php?page=menu
angegeben hätte, und dann im script

require("page_".$page.".php"); benutzt hätte, eventuell noch mit fehlerabfrage, wenn da eine falsche datei steht, dass eine standard-fehlerseite eingebunden wird.