Anfänger bräuchte mal ein Bsp für Switch-Abfrage
Gwolf1
- php
HI
ich hätte gerne mal zu untenstehendem Beispiel einfach nur mal einen Beispiel-Code, dass ich dann im Selbststudium das auf meine Bedürfnisse anpassen kann...
<body>
<a href="1.htm" target="_parent" onClick="baue 1.inc in 1.htm ein und lade 1.htm in parent"><img src="home.gif"></a>
<a href="1.htm" target="_parent" onClick="baue 2.inc in 1.htm ein und lade 1.htm in parent"><img src="basic.gif"></a>
<a href="2.htm" target="_blank" onClick="baue 1.inc in 2.htm ein und lade 2.htm in parent"><img src="home.gif"></a>
<a href="3.htm" target="_parent" onClick="baue 3.inc in 3.htm ein und lade 3.htm in parent"><img src="basic.gif"></a>
<a href="javascript:;" onClick="tu_etwas();"><img src="plus.gif"></a>
</body>
oder wie man so was verwirklicht?
danke
cu Gwolf
hi,
<a href="1.htm" target="_parent" onClick="baue 1.inc in 1.htm ein und lade 1.htm in parent"><img src="home.gif"></a>
du willst eine php-script zum arbeiten bewegen - also sollte dein link nicht auf 1.htm, sondern auf 1.php zielen.
für die weitere anforderung, dass die datei 1.inc eingebunden werden soll, übergebe dem script noch einen parameter per GET, 1.php?einzubinden=1 oder 1.php?einzubinden=1.inc
frage jetzt diesen parameter in deinem script ab (http://www.php.net/manual/de/language.variables.predefined.php bzw. http://www.php.net/manual/en/language.variables.predefined.php), und binde dem entsprechend die richtige datei ein.
dabei aber darauf achten, dass nicht evtl. auch dateien eingebunden werden können, die du nicht dafür vorgesehen hast.
also z.b. entweder den parameter per switch auswerten, wobei dann nur die erlaubten fälle aufgeführt sind (synatx siehe manual).
oder aber die erlaubten parameterwerte vorab in einem array definieren, und dann mit in_array() prüfen, oder oder oder ...
gruss,
wahsaga
Hallo.
Also soweit ich weiß, ist JavaScript nicht für Dateiarbeit vorgesehen. Und wenn du den Inhalt der Datei "1.inc" in eine andere einfügen willst, musst zu zwangsläufig mit Dateien arbeiten. Also wirst du um php oder Konsorten nicht herumkommen.
mfg
Hallo Rhöner,
also das ist mir schon klar, sonst hätt ich es kaum unter PHP gepostet -
es ging auch gar net um das javascript - sondern nur um den hinweis,
dass ich eben bei click dies oder das laden/einbinden möchte
mfg
...
@ Wahrsaga
danke, wenn man weiss wonach suchen, das hilft mir schon mal weiter..
cu Gwolf
Ja... ähm... nichts für Ungut. Das mit dem Php hatte ich tatsächlich überlesen.
Sorry.
No prob @ Rhöner
ich bin ja schon weiter...
aber *grins* - etwas hilfe würde mir net schaden...
:
<body>
<?
switch($action){
case "1": include("includes/kontakt1.inc"); break;
case "2": include("includes/impress0.inc"); break;
default: include("includes/impress0.inc"); break;
}
?>
<p> </p>
<p> </p>
<p> </p>
<a href="test.php?action=1">kontakt</a>
<a href="test1.php?action=2">impressum in test 1</a>
<a href="test.php?action=3">impressum0default</a> oder
</body>
verschiedene fragen:
1. kann man diese switchabfrage auch außerhalb (im head) deklarieren?)
2. kann man mehrere dateien/dateiteile includieren in so nem case, also: case "1": include("includes/kontakt1.inc" + "noch ein baustein"); break;
3."er" lädt zwar bei case2 die test1.php aber includiert dort net? warum bzw wie machen?
4. includierte dateien werden alle links oben includiert (logo, weil ich wegen kompabilität zu anderen seiten die absolute positionierung nicht der .inc-datei habe - )
also möchte sie in ein div includieren, doch wo geb ich im href-tag oder beim case-tag an, wohin die inc.datei gebaut werden soll?
das wärs mal fürs erste, was mir weiter helfen könnte
cu
Gwolf
Hallo Gwolf,
switch($action){
wohl eher "switch($_GET['action']){", oder? (Stichwort: register_globals=off) - und wenn du dann vorher noch prüfst, ob $_GET['action'] gesetzt ist, bekommst du auch bei error_reporting(E_ALL) keine Meldung mehr.
- kann man diese switchabfrage auch außerhalb (im head) deklarieren?)
klar - du kannst die Dateien einbinden, wo du sie brauchst.
- kann man mehrere dateien/dateiteile includieren in so nem case, also: case "1": include("includes/kontakt1.inc" + "noch ein baustein"); break;
jain. Du kannst zwar mehrere Dateien einbinden, aber nicht so wie du es geschrieben hast. Um mehrere Dateien einzubinden musst du einfach mehrere include(...) Zeilen einbauen.
3."er" lädt zwar bei case2 die test1.php aber includiert dort net? warum bzw wie machen?
Was meinst du damit? ich sehe nirgends etwas von einer test1.php
Grüße aus Nürnberg
Tobias