| PHP Navigation Fehler |
FreakAZOID
Pixelschubser
Beiträge: 6
|
Die PHP Navigation aus dem Tutorial funktioniert bei mir nicht richtig,
"start.html" wird angezeigt, klicke ich aber auf eine Link um auf "seite1.html" ändert sich nichts, also "start.html" wird weiterhin angezeigt.
Der Server unterstütz PHP, woran kann das liegen?
thx und greez Freak!
|
|  Profil
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795
|
Nun, wenn es sich um die Navigation mit PHP handelt solltest du deinen Seiten auch die Endung PHP verpassen, sonst kann der Server die nicht verarbeiten.
---
Take a look here!
Lichtblick - Einblick - Ausblick
|
|  Profil
E-Mail
Website
Editieren
Zitieren
|
FreakAZOID
Pixelschubser
Beiträge: 6
|
Den Hauptseiten index mit den fixen Verweisen habe ich mit der endung "*.php3" hochgeladen. Die Seiten die in den "Frame" geladen werden sollen mit "*.html".
Der Code wird zwar richtig eingesetzt, er ändert sich nur nicht.
Wenn ich bei
1:
2:
3: | <?php
if ($page=="") $page="start.html";
?> |
"start.html" auf "seite1.html" ändere wird "seite1" angezeigt aber wenn ich auf den Verweis klicke um zu "start" zu kommen bleibt "seite1" und umgekehrt.
thx und greez Freak!
Diese Nachricht wurde geändert von: FreakAZOID |
|  Profil
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795
|
Äh Sorry, ich glaub hier liegt irgendwie ein grundsätzlicher Fehler in der denkweise. kannst du mir mal den Code von den Seiten posten?
---
Take a look here!
Lichtblick - Einblick - Ausblick
|
|  Profil
E-Mail
Website
Editieren
Zitieren
|
FreakAZOID
Pixelschubser
Beiträge: 6
|
index.php3
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33: | <html>
<head>
<title>PHP Test</title>
<?php
if ($page=="") $page="start.htm";
?>
</head>
<body>
<a href="index.php3?page=start.htm">Startseite</a>
<a href="index.php3?page=seite1.htm">Unterseite</a>
<table border="0">
<tr>
<td valign="top"><?php
$fd = fopen($page, "r");
while (!feof($fd)) {
echo fgets($fd, 4096);
}
fclose ($fd);
?>
</td>
</tr>
</table>
</body>
</html> |
start.htm
1:
2:
3:
4:
5: | <table border="0">
<tr>
<td>Startseite</td>
</tr>
</table> |
seite1.htm
1:
2:
3:
4:
5: | <table border="0">
<tr>
<td>Unterseite</td>
</tr>
</table> |
thx und greez Freak!
Diese Nachricht wurde geändert von: FreakAZOID |
|  Profil
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795
|
du, warum machst du das nicht einfach mit include?
---
Take a look here!
Lichtblick - Einblick - Ausblick
|
|  Profil
E-Mail
Website
Editieren
Zitieren
|
FreakAZOID
Pixelschubser
Beiträge: 6
|
Naja, weil ich mir ein Tutorial angesehen habe und mir dachte das es so ziemlich einfach ist.
Ich werd mal versuchen es mit include zu machen, hoffe ich finde ein Tut dazu.
thx und greez Freak!
|
|  Profil
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795
|
das ist wirklich einfach mit include,. Du musst da nur einfach schreiben include ("$page");
Der eigentliche vorteil liegt aber darin, dass du auch sinnvollere Namen verwenden kannst.
Du könntest z.B. einen Aufruf machen index.php?page=start und der includecode sähe dann so aus:
1:
2:
3: | if ($page == "start") include ("start.inc.php");
if ($page == "anderekategorie") include ("nochnedatei");
... |
Die Endung der Dateien die du Includest ist dabei eigentlich egal.
Mit diesem System bekommen deine Besucher die interne Dateistruktur nicht mit und der Aufruf wird besser zu merken. Wenn du mit deiner Version z.B. eine Datei aus nem Unterordner includen willst, wird der Aufruf echt haarig.
Nur als Beispiel: index.php?page=docs/webwork/graphics/nochnedatei.html *schauder*
---
Take a look here!
Lichtblick - Einblick - Ausblick
Diese Nachricht wurde geändert von: languitar |
|  Profil
E-Mail
Website
Editieren
Zitieren
|
FreakAZOID
Pixelschubser
Beiträge: 6
|
Gut, das hab ich jetzt so gemacht, jetzt weiß ich wo der fehler liegt.
Wenn ich auf den link klicke
1: | <a href="index.php3?page=news">Startseite</a> |
ändert sich zwar die Url in der Adressleiste, die Variable page bleibt aber "start" und ändert sich nicht.
Woran kann das liegen?
thx und greez Freak!
|
|  Profil
Editieren
Zitieren
|
Lizard
Pixelschubser
Beiträge: 2
|
naja ganz einfach bei include mussu halt case angeben
also praktisch in dem table wo du des haben willst
....
<table>
...
1:
2:
3:
4: | <tr>
<td><a href="?section=news">News</a></td>
<td><a href="?section=guestbook">Gästebuch</a></td>
</tr> |
das sind deine links
dann kommt
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19: | <tr>
<td>
<?
swicht ($section) {
case "news":
include ("news.php");
break;
default:
include ("home.php");
break;
}
?>
</td>
</tr>
...
</table> |
---
Livin' The Life!
|
|  Profil
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795
|
vielleichtl iegt das auch an dieser vorgeschalteten Abrfrage, ob die Variable $page schon gesetzt wurde. Mach mal lieber
1: | if (!isset($page)) $page = "start"; |
---
Take a look here!
Lichtblick - Einblick - Ausblick
|
|  Profil
E-Mail
Website
Editieren
Zitieren
|
MCM
Quasselstrippe
Beiträge: 425
|
Hi, manche Einstellungen mögen es nicht, wenn da nur $page steht. Verwende lieber $HTTP_GET_VARS["page"].
---
cya MCM
[ my page] [ about me]
[Je mehr Bürger mit Zivilcourage ein Land hat, desto weniger Helden wird es einmal brauchen]
[by Franca Magnani]
|
|  Profil
Website
Editieren
Zitieren
|