Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: [url]http://link=sektion[/url]

  1. #1
    Gast

    Standard http://link=sektion

    Hallo, auf manchen Seiten sehe ich, das wenn man auf einen Link klickt, nicht eine komplett neue Seite geladen wird, sondern es wird: der link=sektion und dann xyz dahintergehangen.
    Koennt ihr mir da evtl genaueres zu erklaeren, wie das Funktioniert und so??
    Waere fuer jegliche hilfe sehr geniert.

    Julian
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    König(in)
    Registriert seit
    03.07.2004
    Ort
    Rosenheim
    Beiträge
    1.024
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hi,

    ich glaub du meinst die Switch/Case Funktion mit PHP um Seiteninhalte zu includen... beispiel: http://www.domain.de/index.php?action=kontakt ?!?

    Das geht ist so, du hast eine HTML Seite mit deinem Design etc., normal müsste man jetzt um andere Seiteninhalte einzufügen das Design für jede Seite kopieren und überall einfügen und auf die einzelnen Seiten verlinken, oder man arbeitet mit Frames. Aber das hier ist eine elegantere Variante mit PHP.

    Du hat deine HTML Seite, schreibst dann in die Zelle wo der Inhalt angezeigt werden soll:

    Code:
    <?php
         switch &#40;$_GET&#91;'action'&#93;&#41; &#123;
           case "home"&#58;
             include&#40;"home.php"&#41;;
             break;
    
           case "kontakt"&#58;
             include&#40;"kontakt.php"&#41;;
             break;
    
          default&#58;
             include&#40;"home.php"&#41;;
             break;
         &#125;
         ?>
    Dieser code nimmt die Befele aus der URL und cased die Inhalte wo se hinsollen, beispiel du hast ...domain.de/index.phpaction=kontakt dann sucht das Script nach "Kontakt" findet Case kontakt und führt den Befehl bis Break aus, da steht halt dass die kontakt.php included werden soll, so wird der Inhalt aus der Datei "kontakt.php" in die akutelle Zelle eingefügt.

    Diese Methode ist sehr nützlich, man brauch nur einmal das CSS Stylesheet in dei HTML Seite im head einzufügen. Die zu includenden Seiten brauchen keine HTML Einleitung, also ohne Html, Head oder Body. Purer Text, der dann im Hauptdokument durchs CSS formatiert wird. Natürlich nur wenn ein CSS angegeben ist.

    Ich mach es immer so, schreibe meine Switch/Case Funktion in eine seperate PHP Datei und nenn diese case.php, dann schreib ich nur noch in meine index.php:
    Code:
    <?php
    include&#40;"case.php"&#41;;
    ?>
    Das ist nur die leichte Variante.
    Man kann die ganzen INhalte auch über eine Datenbank auslesen lassen, u nd die URL angabe sagt dann welche Inhalte über den Query abgefragt werden sollen.
    Genau wie CMS (z.B. Typo3) arbeiten so, um die Inhalt einzufügen.

    Ich kann mir keine Seite mehr ohne diese Art von verlinkung vorstellen

    Ein Beispiel für über DB abfragen findest du hier:
    http://www.malberg-united.de/page/
    da auf Profile und auf spieler, guck in die URL, das sind angaben für die Abfrage.

    Ein Beispiel für normale Seiteinhalte findest du hier:
    http://www.rettet-stromberg.de

    hoffe ich konnte helfen!

    greetz

  3. #3
    Gast

    Standard

    Mh ja, also danke, jetzt weiß ich sehr gut, wofuer es ist!
    Aber ich versteh noch nicht ganz, wie ich dafuer die Links mache.
    Also, wie ich die Speziale Seite dann aufrufen kann...
    Oder ich habs "ueberlesen"...
    Ich hab das so verstanden, man includet in der index.php
    das hier:
    Code:
    <?php
         switch &#40;$_GET&#91;'action'&#93;&#41; &#123;
           case "home"&#58;
             include&#40;"home.php"&#41;;
             break;
    
           case "kontakt"&#58;
             include&#40;"kontakt.php"&#41;;
             break;
    
          default&#58;
             include&#40;"home.php"&#41;;
             break;
         &#125;
         ?>
    Und dann wird home.php includet, wenn es die Seite gibt, wenn nciht, includet er kontakt.php.
    Aber das ist sicherlich falsch...
    Ich woltle dieses System auch nutzen, da ich auch mit CSS arbeite, und keine Lust habe, immer ne neue Seite fuer jeden Link anzulegen..
    Da waere das ja nahezu Perfekt
    normal müsste man jetzt um andere Seiteninhalte einzufügen das Design für jede Seite kopieren und überall einfügen und auf die einzelnen Seiten verlinken, oder man arbeitet mit Frames. Aber das hier ist eine elegantere Variante mit PHP.
    Danach habe ich naemlcih schon sehr lange gesucht..

    Evtl koenntest du mich ein bisschen mehr aufklaeren!

    Viele dank vorab

  4. #4
    König(in)
    Registriert seit
    03.07.2004
    Ort
    Rosenheim
    Beiträge
    1.024
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hi,

    ja, so falsch haste das ja nicht verstanden.
    Das "default" gibt an wenn ichts in der URL angegeben ist, also wenn du nur die index.php aufrufst.

    Die Switch funktion muss in der Datei stehen wo die Inhalte included werden soll.

    die Links schreibst du ganz eifnach selbst, du kannst die Datei endlos erweitern.
    leg dir am besten eine seperate Case.php an und include nur die case.php, das ist übersichtlicher, als wenn du in deiner index.php diesen (evtl. endlosen) PHP code hast.

    Du kannst die Funktion endlos erweitern:
    Code:
    <?php
         switch &#40;$_GET&#91;'action'&#93;&#41; &#123;
           case "home"&#58;
             include&#40;"home.php"&#41;;
             break;
    
           case "kontakt"&#58;
             include&#40;"kontakt.php"&#41;;
             break;
    
           case "link"&#58;
             include&#40;"link.php"&#41;;
             break;
    
           case "link2"&#58;
             include&#40;"link2.php"&#41;;
             break;
    
           case "link3"&#58;
             include&#40;"link3.php"&#41;;
             break;
    
           case "link4"&#58;
             include&#40;"ordner/link4_im_ordner.php"&#41;;
             break;
    
           case "gb"&#58;
             if&#40;$value == "eintragen"&#41; &#123;
             include&#40;"gb/eintragen.php"&#41;;
             &#125; else &#123;
             include&#40;"gb/gb.php"&#41;;
             &#125;
             break;
    
          default&#58;
             include&#40;"home.php"&#41;;
             break;
         &#125;
         ?>
    Du kannst die einzelnen Cases immer wiederholen, dazu noch bedingungen aufstellen, wenn du z. B. ein Gästebuch hast, gibst ein "index.php?action=gb" wir das Gästbuch aufgerufen, hast du im Gästebuch ein Link zur Seite eintragen.php um Einträge zu schreiben, schreibste in diesen Link index.php?action=gb&value=eintragen dann wird die Seite eintragen.php included (oben die If Bedingung).

    Die Links musst du halt alle manuell angeben, hast du Home, kontakt und Impressum auf deiner Page, musste in deiner index.php angeben, wohin gelinkt wird, also bei
    home => index.php?action=home
    kontakt => index.php?action=kontakt
    impressum => index.php?action=impressum

    natürlich sind die Namen frei wählbar, man kann da auch Nummern für nehmen, wobei ich klartext Bezeichnungen besser finde.

    Was dumm ist, wenn du viele Seiten hast, die müssen (fast) alle manuell included werden, man kann unterhalb der Seiten mit PHP diverse Bedingungen aufbauen wo die Seiteninhalte variieren, aber das kommt drauf an welche Inhalte du hast. Das ist leider viel Arbeit, aber das zu automatisieren ist sehr viel mehr aufwand.
    Habe z. B. auf einer Seite eine suche integriert, die über index.php?komp_id=search aufgerufen wird, das Suchformular verweis ich ganz einfach auf die Adresse index.php?komp_id=search&result=$result, result ist hier die Variable die eine URL zurück gibt, das Such Script fasst da auf und included den Link derg esucht wurde, alles in einer Datei, einfach vorne dran eine IF Bedingung,w enn Such Knopf nicht gedrückt, zeig das Formular, sonst zeig das ergbnis.
    Das kann man alles schön integrieren.

    Wenn man es aber ganz einfach will, dann nimmt man ein CMS.

    Was du natürlich auch machen kannst ist mehrere Cases einbauen, d.h. du legst z.B. eine case2.php und case.php an, dann legste die eine z.B. in die Mitte der Page und die case2 in eine spalte rechts daneben, dann könnte der Link heißen index.php?action_middle=content&action_right=conte nt_right hierbeir gilt "action_middle" für die case.php und "action_right" für die case2.php.

    hm, hoffe ich habs dir verständlich rüber bringen können

    gruß

  5. #5
    Gast

    Standard

    Jau, danke, das hast du, meiner Meinung nach!
    Also, ich fass nochmal zusammen.
    Code:
    <?php
         switch &#40;$_GET&#91;'action'&#93;&#41; &#123;
           case "home"&#58;
             include&#40;"home.php"&#41;;
             break;
    
           case "kontakt"&#58;
             include&#40;"kontakt.php"&#41;;
             break;
    
           
          default&#58;
             include&#40;"home.php"&#41;;
             break;
         &#125;
         ?>
    Den code in die case.php
    Der wird in der Index includet.
    In der Navigationslieste ein link mit
    link.php?action=news
    Dann sucht er, stoeßt auf case "news" include("news.php")
    und dann wird da, wo cih das case.php include, news.php includet, richtig?

  6. #6
    König(in)
    Registriert seit
    03.07.2004
    Ort
    Rosenheim
    Beiträge
    1.024
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Du hast es erfasst ...

    Ein tipp noch, du musst in deine Dateien mit dem Seiteninhalt keine zwingendend HTML Tags wie <html><body> oder <head> einbauen, wenn dus machst gehts auch, aber du hast mitten im Quelltext nochmal head etc. stehen, damit da keine Konflikte oder so gibt, machs lieber ohne diese. Nur reiner Text, als würdest du die per Hand in die Index.php schreiben, natürlich hast du beim schreiben keine formatierung, die kommt aber dann beim includen automatisch.

    viel spaß damit!

    greetz

  7. #7
    Gast

    Standard

    Dankeschoen, das klappt ja wunderbar!!
    Erst dachte ich es geht nich, hatte schon ein Bombentext hier geschrieben.
    Aber der bleibt euch erspart, ich hab den Fehler rausgefunden.. :P

    Also vielen dank, ich Denke mal so werde ich meine Seiten jetzt nur noch gestalten..
    dann werde ich mal fleißig coden!
    Vielen dank fuer diesen sehr Hilfreichen tipp


    MFG

  8. #8
    König(in)
    Registriert seit
    03.07.2004
    Ort
    Rosenheim
    Beiträge
    1.024
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Bitteschön, gern geholfen!

    Ach, welch eine Freude, ein nächster der auf Frames verzichtet, herrlich

    hau rein...

    greetz!

  9. #9
    Gast

    Standard

    Hehe, Frames habe ich immer schon gehasst, der eine Frame veraendert sich, dann wird es wieder in dem einen Frame geoeffnet..
    Mit frames habe ich nie gearbeitet, ich hab immer fuer jeden Link eine neue Seite erstellt...
    Aber jetzt ist es total super!!!!!
    Ich freu mich irgendwie grade etwas.. naja
    Aber eine kleine Fehlermeldung zeugt er mir an, hier der Grund fuer die Meldung:
    Code:
    <? switch &#40;$_GET&#91;'action'&#93;&#41; &#123;
    Das ist halt bei meiner Switchabfrage, und hier der Fehler
    Notice: Undefined index: action in C:\Programme\xampp\htdocs\self\dreispalten\include \case.php on line 1
    Das ist halt auch line 1
    Soweit ich das verstanden habe, versteht er das 'action' nicht, aber das weißt du warscheinlich besser als ich! :P
    Irgendeine Moeglichkeit das wegzubekommen?!

    Dann waere mein Leben rund!

    MFG

  10. #10
    König(in)
    Registriert seit
    03.07.2004
    Ort
    Rosenheim
    Beiträge
    1.024
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    hm, normal ist das richtig, das action ist ne variable, kann genaus gut "link" oder "id" heißen, ist nur die variable die hinter der index.php steht (index.php?link= ... index.php?id= etc.)

    Hm, was hast du in deiner Index datei stehen? Dass der action nicht definieren kann ist eigentlich wruscht, ich sehe du hast die case.php in einem unterordner liegen, wenn du die includest musste dran denken, dass sich die case.php dann auf oberster ebene befindet und alle verweise von da ausgehen müssen. Leg die mal auf gleicher ebene wie die index.php, bin grad etwas ratlos, der code ist richtig..

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 29.08.2007, 00:19
  2. http:// zu www.
    Von Sephiroth im Forum HTML & CSS Forum
    Antworten: 17
    Letzter Beitrag: 20.08.2007, 14:53
  3. Antworten: 3
    Letzter Beitrag: 23.02.2006, 18:58
  4. bild als link ohne link-markierung
    Von Kanzler2 im Forum HTML & CSS Forum
    Antworten: 7
    Letzter Beitrag: 06.04.2005, 23:14
  5. Antworten: 2
    Letzter Beitrag: 17.08.2004, 17:31

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •