Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » PHP Navigation Fehler Antworten
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
 

Antworten
Nach oben