Include-Problem O.o?

  • Themenstarter Themenstarter SilverVegeto
  • Beginndatum Beginndatum
S

SilverVegeto

Hallo Community,
ich habe ein sehr komisches include-problem, was mir echt Kopfschmerzen bereitet.
Folgendes Problem:
Ich bin gerade dabei für ein Jugendzentrum eine Website zu erstellen [http://www.juze-schongau.de]
Jetzt möchte ich machen das wenn ein User auf z. B.: Kontakt klickt er via include auf das Kontaktformular kommt. Ausgelesen soll immer alles über die URL-Zeile werden juze-schongau.de/index.php?page=kontakt, dass ist mein Code:
PHP:
<?php
        if ($page == ""){
          include("inc/news.php");
        } else if ($page == "kontakt"){
          include("inc/kontakt.php");
        }
?>

Genauso wenn ich eine Überschrift erscheinen lassen will, geht nicht -.- das ist sehr komisch hier der Code:
PHP:
<?php
 switch($page) {
    case "" : $ubs = 'News'; break;
    case "Kontakt" : $ubs = 'Kontakt'; break;
}
?>

<?php echo $ubs; ?>

Bitte helft mir ich verzweifel bald....
 
Hallo,
also funktioniert beides nicht? Wie äußert sich das "Nicht-Funktionieren"?
 
Schau doch mal hier vorbei Vordefinierte Variablen und schau dir das Kapitel über $_GET an.

Seit PHP 4.2.0 register_globals offline so dass man Variablen aus der URI über $_GET['var'] aufrufen muss.

Nachtrag:
Außerdem rate ich dir lieber nicht case "" zu nehmen, sondern lieber default:
PHP:
<?php
switch($var) {
  case "foo": 
    include("foo");
  break;
  default:
    include("bar");
}
?>
 
Hallo,

fang mal oben deine Variabeln ab:

PHP:
$var = isset($_GET['var']) ? strip_tags($_GET['var']) : "";

und probier es nochmal.


Tobee
 
Also der Fehler ist das immer nur die News angezeigt werden, ist auf der Website momentan folgender Text: "Die Website ist gerade im Aufbau." sprich er nimmt das "Kontakt" nicht war. Kannst du selber testen wenn du auf den Link klickst.
 
@Flex: Mit deiner Default-Funktion gehen doch nur zwei Links oder? od. wie kann ich die Reihenfolge fortsetzten?

@tobee: Hab ich jetzt nicht ganz verstanden sry, kannst kurz genau erklären was ich ändern soll, danke?
 
Nein, der default case wird immer dann angewendet, wenn Page keinen Inhalt hat, also einfach die anderen cases vor default definieren. Dadurch kannst du beliebig viele Fälle hinzufügen.

Und ohne Code ist die Fehleranalyse nicht wirklich vernünftig. Ich vermute weiterhin, dass du die Variable nicht richtig benutzt.
 
Also Flex, habe deine Script getestet:
PHP:
<?php
switch($page) {
  case "kontakt": 
    include("include/kontakt.php");
  break;
  case "events": 
    include("include/events.php");
  break;
  default:
    include("include/news.php");
}
?>

Hat wieder nicht funktioniert, es bleibt immer nur die "Die Website ist gerade im Aufbau. "-Datei bestehen.

Hab euch mal die gesamte Seite als anhang mitgehangen.
 

Anhänge

Zurück