ilch Forum » Allgemein » HTML, PHP, SQL,... » Index.php?id=1 funzt nich

Geschlossen
  1. #1
    User Pic
    freethinker Mitglied
    Registriert seit
    12.05.2007
    Beiträge
    101
    Beitragswertungen
    0 Beitragspunkte
    Hallo leute

    Ich habe jetz meine neue Website online gestellt!
    Ich wollte diesmal das alle Links in etwa so aussehen:

    <a href="index.php?id=6">Forum</a>

    also immer mit index.php?id=

    also hab ich diese datei (id.php) erstellt:

    <?php
    $id = $_GET['id']; 
    
    if($id == '1')
     {
     include('index.php'); 
    }
    elseif($id == '2') 
    {
     include('profil.php'); 
    }
    elseif($id == '3') 
    {
     include('kontakt.php'); 
    }
    elseif($id == '4') 
    {
     include('referenzen.php');
    }
    elseif($id == '5') 
    {
     include('service.php'); 
    }
    elseif($id == '6') 
    {
     include('produkte.php'); 
    }
    elseif($id == '7') 
    {
     include('ref3073.php'); 
    }
    elseif($id == '8') 
    {
     include('ref3071.php'); 
    }
    elseif($id == '9') 
    {
     include('ref3072.php'); 
    }
    elseif($id == '10') 
    {
     include('ref3061.php'); 
    } 
    elseif($id == '11')
     {
     include('ref305.php'); 
    }
    elseif($id == '12')
     {
     include('ref306.php'); 
    }
    elseif($id == '13') 
    {
     include('ref307.php');
    }
    elseif($id == '14') 
    {
     include('ref308.php'); 
    } 
    elseif($id == '15') 
    {
     include('ref309.php'); 
    }
    elseif($id == '16') 
    {
     include('ref201.php'); 
    } 
    elseif($id == '17')
     {
     include('ref202.php'); 
    }
    elseif($id == '18')
     {
     include('ref101.php'); 
    }
    elseif($id == '19') 
    {
     include('ref102.php'); 
    }
    elseif($id == '20') 
    {
     include('ref103.php'); 
    }
    elseif($id == '21') 
    {
     include('ref104.php'); 
    }
    elseif($id == '22') 
    {
     include('bestellen.php'); 
    }
    elseif($id == '23') 
    {
     include('ref404.php'); 
    }
    ?>



    und bei jeder seite hab ich es eingefügt:
    <?php include('id.php') ?>


    bis jetz alles schön und gut aber wenn ich jetz auf einen Link klicke, dann kommt aufeinmal 10000 mal die selbe seite!

    schaut selbst:

    hatecrew.onemrd.info


    kan mir wer helfen????

    betroffene Homepage: hatecrew.onemrd.info
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Jan Hall Of Fame
    Registriert seit
    17.01.2007
    Beiträge
    3.646
    Beitragswertungen
    54 Beitragspunkte
    Pack erstmal dieses Design aus deinen Referenzen!

    gesperrtes Bild

    Das ist von lod-clan.eu !
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    freethinker Mitglied
    Registriert seit
    12.05.2007
    Beiträge
    101
    Beitragswertungen
    0 Beitragspunkte
    so is drausen
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    freethinker Mitglied
    Registriert seit
    12.05.2007
    Beiträge
    101
    Beitragswertungen
    0 Beitragspunkte
    was is jetz?
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Son!c Hall Of Fame
    Registriert seit
    14.09.2006
    Beiträge
    3.766
    Beitragswertungen
    5 Beitragspunkte
    ich sehs immer noch, kann leider bei deinem prob nich helfen weil ich mich mit php nicht auskenne
    Nimm das Leben nicht zu ernst, du kommst sowieso nicht lebend raus.
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    freethinker Mitglied
    Registriert seit
    12.05.2007
    Beiträge
    101
    Beitragswertungen
    0 Beitragspunkte
    kann mir sonst keiner helfen?
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Son!c Hall Of Fame
    Registriert seit
    14.09.2006
    Beiträge
    3.766
    Beitragswertungen
    5 Beitragspunkte
    mairu vllt, wenn er on wäre - n bisschen geduld zwinker
    Nimm das Leben nicht zu ernst, du kommst sowieso nicht lebend raus.
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ok ich versuchs mal zu erklären, du rufst also jetzt eine Seite auf und beim Aufruf hast du eine id angegeben, dann wird dieses Seite aufgerufen, da jedoch in der Datei die, die zum laden der Dateien ist wieder includiert ist, wird erneut geprüft und die Seite wieder eingebunden und das in einer Endlosschleife.

    Es gibt da jetzt mehrere Lösungsansätze, zum ersten du rufst immer index.php auf, also brauchst du die Datei nur dort, oder nicht?

    Dann gibt es statt include auch include_once -> www.php.net/manual/de/function.include-once.php

    Und bei deiner Seite wird glaube ich immer erstmal die Startseite geladen, egal welche Unterseite du anzeigen willst, ich würde dir empfehlen in der index.php die Auswahl zu machen, welche Seite angezeigt werden soll und dass nur eine gleichseitig Angezeigt wird, du kannst für die Variable einen Startwert verwenden oder switch verwenden, ist in dem Fall angebracht.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    freethinker Mitglied
    Registriert seit
    12.05.2007
    Beiträge
    101
    Beitragswertungen
    0 Beitragspunkte
    thx soweit funzts aber das mit dem switch und so hab ich nich kapiert!
    bitte nochmal erklären *hilflosbin*



    ______________________
    ps.: mairu is der beste zwinker
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ich denke www.php.net/manual/de/control-structures.switch.php erklärt die Sache ganz gut, und beachte, dass es eben auch default gibt, sprich die Standardseite, und du kannst auch default: case 1: machen um mehrere Sachen zusammenzufassen, wichtig ist, dass du die breaks nicht vergisst.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    freethinker Mitglied
    Registriert seit
    12.05.2007
    Beiträge
    101
    Beitragswertungen
    0 Beitragspunkte
    die seite mit dem switch hab ich mir vorher schon angesehen aber ich weis nich wie ich das swich einbinde, an welche stelle...

    [code<?php
    $id = $_GET['id'];

    if($id == '1')
    {
    include_once('index.php');
    }
    elseif($id == '2')
    {
    include_once('profil.php');
    }
    ?>code]

    wo muss ich das switch reinmachen?


    Zuletzt modifiziert von freethinker am 04.08.2007 - 15:14:32
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    freethinker Mitglied
    Registriert seit
    12.05.2007
    Beiträge
    101
    Beitragswertungen
    0 Beitragspunkte
    die seite mit dem switch hab ich mir vorher schon angesehen aber ich weis nich wie ich das swich einbinde, an welche stelle...

    <?php 
    $id = $_GET['id'];  
    
    if($id == '1') 
     { 
     include_once('index.php');  
    } 
    elseif($id == '2')  
    { 
     include_once('profil.php');  
    } 
    ?>


    wo muss ich das switch reinmachen?


    Zuletzt modifiziert von freethinker am 04.08.2007 - 15:14:32
    [/quote]


    Zuletzt modifiziert von freethinker am 04.08.2007 - 15:15:31
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    switch ($id) {
    default: case 1: include_once('index.php'); break;
    case 2: include_once('profil.php'); break;
    case 3: ...
    
    }


    ABER wozu die index.php in der index.php includen, das ist bestimmt Unsinn zunge
    das default sagt halt, dass wenn $id was anderes oder nichts ist, dann wird das hinter default, in diesem Fall das gleiche wie bei case 1 gemacht.

    Wie schon oben geschrieben, ändere mal die Struktur, so dass deine jetzige index.php bzw der Teil, der für die Ausgabe der Seite zuständig ist, meinetwegen in eine startseite.php und diese dann bei default bzw case 1 eintragen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    freethinker Mitglied
    Registriert seit
    12.05.2007
    Beiträge
    101
    Beitragswertungen
    0 Beitragspunkte
    also bei mir sieht die datei id.php jetz so aus:


    <?php
    $id = $_GET['id']; 
    switch ($id) { 
    default: case 1: include_once('index.php'); break; 
    case 2: include_once('profil.php'); break; 
    case 3: include_once('kontakt.php'); break; 
    case 4: include_once('referenzen.php'); break; 
    case 5: include_once('service.php'); break; 
    case 6: include_once('produkte.php'); break; 
    case 7: include_once('ref3073.php'); break; 
    case 8: include_once('ref3071.php'); break; 
    case 9: include_once('ref3072.php'); break; 
    case 10: include_once('ref3061.php'); break; 
    case 11: include_once('ref305.php'); break; 
    case 12: include_once('ref306.php'); break; 
    case 13: include_once('ref307.php'); break; 
    case 14: include_once('ref308.php'); break; 
    case 15: include_once('ref309.php'); break; 
    case 16: include_once('ref201.php'); break; 
    case 17: include_once('ref202.php'); break; 
    case 18: include_once('ref101.php'); break; 
    case 19: include_once('ref102.php'); break;
    case 20: include_once('ref103.php'); break; 
    case 21: include_once('ref104.php'); break; 
    case 22: include_once('bestellen.php'); break; 
    case 23: include_once('ref404.php'); break; 
    
    
    }
    ?>


    aber da funktioniert noch was ned oder i-was is falsch


    und bei der struktur änderung, wie soll ich das ändern??

    ich weis ich bin dumm xD
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    freethinker Mitglied
    Registriert seit
    12.05.2007
    Beiträge
    101
    Beitragswertungen
    0 Beitragspunkte
    hab ich da irgendwas falsch gemacht?
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Doch geht doch, was falsch ist, ist das was ich dir versuche die ganze Zeit zu erklären.
    Wenn ich es richtig verstehe, stellt deine index.php diese Seite dar -> hatecrew.onemrd.info/
    Wenn du jetzt ein Unterpunkt aufrufst, wird die Seite auch dargestellt und erst danach das was du eigentlich willst, also sind 2 Seiten untereinander, deswegen sollst du den Code, der fürs Anzeigen der Seite zuständig ist aus der index.php in einer andere Datei kopieren und diese einbinden, so dass immer nur eine Seite angezeigt wird, das default sorgt dafür, dass bei keiner id eben trotzdem eine Seite angezeigt wird.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    freethinker Mitglied
    Registriert seit
    12.05.2007
    Beiträge
    101
    Beitragswertungen
    0 Beitragspunkte
    ja jetz gehts und jetz habe ich den inhalt der index.php in die main.php eingefügt und in der index.php steht jetz der inhalt der id.php!

    nur wenn ich jetz bei den referenzen auf eine jahreszahl klicke kommt so ein warning irgendwas

    da is noch irgendwein fehler
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    freethinker Mitglied
    Registriert seit
    12.05.2007
    Beiträge
    101
    Beitragswertungen
    0 Beitragspunkte
    hab den fehler
    bei den jahreszahlen heisen die dateien nich ref305.php ref306.php...
    sondern ref_305.php ref_306.php ....

    thx mairuaber jetz hab ich noch ne frage

    könnte man das jetz noch hinzufügen das zb bei referenzen wenn man auf deine jahreszahl klickt zb.: index.php?id=11&action=2005 ?
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Du könntest es Schachteln
    also
    $id = $_GET['id'];
    $jahr = $_GET['jahr']; //<- index.php?id=4&jahr=2005
    
    switch ($id) {
    default: ...
    case 4:
      switch ($jahr) {
       default: ...
    
      }
    break;
    ...
    }



    Zuletzt modifiziert von Mairu am 04.08.2007 - 16:28:55
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    freethinker Mitglied
    Registriert seit
    12.05.2007
    Beiträge
    101
    Beitragswertungen
    0 Beitragspunkte
    ok ich hab das jetz mal in die index.php so reingeschrieben:

    <?php
    $id = $_GET['id']; 
    $jahr = $_GET['action']; 
    switch ($id) { 
    default: case 1: include_once('main.php'); break; 
    case 2: include_once('profil.php'); break; 
    case 3: include_once('kontakt.php'); break; 
    case 4: include_once('referenzen.php'); break; 
    switch ($action) { 
       default: case 2005: include_once('ref_305.php'); break; 
    	case 2006: include_once('ref_306.php'); break; 
    	case 2007: include_once('ref_307.php'); break; 
    	case 2008: include_once('ref_308.php'); break; 
    	case 2009: include_once('ref_309.php'); break; 
    case 5: include_once('service.php'); break; 
    case 6: include_once('produkte.php'); break; 
    case 7: include_once('ref3073.php'); break; 
    ....
    ?>


    aber da geht dann gar nix mehr
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ist ja auch falsch, Syntaxfehler.

    <?php
    $id = $_GET['id']; 
    $action = $_GET['action']; 
    switch ($id) { 
    default: case 1: include_once('main.php'); break; 
    case 2: include_once('profil.php'); break; 
    case 3: include_once('kontakt.php'); break; 
    case 4: 
     switch ($action) { 
       default: include_once('referenzen.php'); break;
     case 2005: include_once('ref_305.php'); break; 
        case 2006: include_once('ref_306.php'); break; 
        case 2007: include_once('ref_307.php'); break; 
        case 2008: include_once('ref_308.php'); break; 
        case 2009: include_once('ref_309.php'); break;
      }
    case 5: include_once('service.php'); break; 
    case 6: include_once('produkte.php'); break; 
    case 7: include_once('ref3073.php'); break; 
    ....
    ?>


    Und du hattest noch $jahr

    Zuletzt modifiziert von Mairu am 04.08.2007 - 16:44:29
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    freethinker Mitglied
    Registriert seit
    12.05.2007
    Beiträge
    101
    Beitragswertungen
    0 Beitragspunkte
    ja soweit geht wieder alles aber wie heist jetz der link?

    index.php?id=4&action=2005 oder
    index.php?id=4?action=2005 oder
    index.php?id=4action=2005
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Mit &
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    freethinker Mitglied
    Registriert seit
    12.05.2007
    Beiträge
    101
    Beitragswertungen
    0 Beitragspunkte
    thx das funzt jetz, aber unter den referenzen kommt immer die service.php

    ich glaub da is in der index.php nach den switch action noch ein fehler
    0 Mitglieder finden den Beitrag gut.
  25. #25
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Stimmt da muss noch ein break; hin, ich denke du weißt schon wo hin, ansonsten testen zwinker
    Das break bricht immer den aktuellen case ab zwinker bzw. es verlässt das switch zwinker
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  26. #26
    User Pic
    freethinker Mitglied
    Registriert seit
    12.05.2007
    Beiträge
    101
    Beitragswertungen
    0 Beitragspunkte
    jop!
    Thanks nochmal Mairu für deine Hilfe!

    jetzt mach ich das ganze noch bei den referenzen:

    index.php?id=4&action=2005&title=black-panthers

    aber ich glaub das schaffe ich jetz allein ansonsten schreib ichs wieder!


    also nochmal danke an dich Mairu!!!!!(B)BierBier
    0 Mitglieder finden den Beitrag gut.
  27. #27
    User Pic
    freethinker Mitglied
    Registriert seit
    12.05.2007
    Beiträge
    101
    Beitragswertungen
    0 Beitragspunkte
    ok!
    habs nich geschafft

    das is der ganze code

    hab das jetz nochmal geschachtelt
    ich glaub das break is falsch positioniert und der neue code teil is auch falsch

    <?php
    $id = $_GET['id']; 
    $action = $_GET['action']; 
    $title = $_GET['title']; 
    switch ($id) { 
    default: case 1: include_once('main.php'); break; 
    case 2: include_once('profil.php'); break; 
    case 3: include_once('kontakt.php'); break;  
    case 4:  
     switch ($action) {  
       default: include_once('referenzen.php'); break; 
        case 2005: 
    		switch ($title) {  
      			 default: include_once('ref_305.php'); break; 
    			break;
    			 }
    			 
     
        case 2006: 
    	   	 switch ($title) {  
      		 default: include_once('ref_306.php'); break; 
       		 case terroristforce-clan: include_once('ref3061.php'); break;
    		break;
    		 }
    		 
    	 case 2007:
    		switch ($title) {
    		default: include_once('ref_307.php'); break;
    		case whitemusic-clan: include_once('ref3071.php'); break;
    		case freethinkers: include_once('ref3072.php'); break;
    		case black-panthers: include_once('ref3073.php'); break;
    		break;
    		}
    		
    	
        case 2008:
    		switch ($title) {
    		default: include_once('ref_308.php'); break;
    		break;
    		}
    		 
        case 2009: 
    		switch ($title) {
    		default: include_once('ref_309.php'); break;
    		break;
    		}
    	break;
    	}
    case 5: include_once('service.php'); break; 
    case 6: include_once('produkte.php'); break; 
    //case 7: include_once('ref3073.php'); break; 
    //case 8: include_once('ref3071.php'); break; 
    //case 9: include_once('ref3072.php'); break; 
    //case 10: include_once('ref3061.php'); break; 
    //case 11: include_once('ref_305.php'); break; 
    //case 12: include_once('ref_306.php'); break; 
    //case 13: include_once('ref_307.php'); break; 
    //case 14: include_once('ref_308.php'); break; 
    //case 15: include_once('ref_309.php'); break; 
    case 16: include_once('ref201.php'); break; 
    case 17: include_once('ref202.php'); break; 
    case 18: include_once('ref101.php'); break; 
    case 19: include_once('ref102.php'); break;
    case 20: include_once('ref103.php'); break; 
    case 21: include_once('ref104.php'); break; 
    case 22: include_once('bestellen.php'); break; 
    case 23: include_once('ref404.php'); break; 
    case 24: include_once('profil.php'); break; 
    case 25: include_once('profil.php'); break; 
    case 26: include_once('profil.php'); break; 
    case 27: include_once('profil.php'); break; 
    case 28: include_once('profil.php'); break; 
    case 29: include_once('profil.php'); break; 
    case 30: include_once('profil.php'); break; 
    
    
    
    }
    ?>
    0 Mitglieder finden den Beitrag gut.
  28. #28
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Also du brichst manche case nicht ab z.b. 2005 und dann macht es ja nicht wirklich sinn, ein switch zu benutzen, wenn es nur eine Möglichkeit gibt.
    Ich seh gerade du hast 2 mal break; hintereinander, aber das 2. muss hinter die } zwinker
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  29. #29
    User Pic
    freethinker Mitglied
    Registriert seit
    12.05.2007
    Beiträge
    101
    Beitragswertungen
    0 Beitragspunkte
    ja so macht es ncih viel sinn aber wenn 2008 und 2009 was hinzukommt, deswegen
    bei 2005 is es ja egal


    ______


    so habe jetzt die break hinter die } gesetzt aber da is noch irgendwo ein fehler:

    case 4:  
     switch ($action) {  
       default: include_once('referenzen.php'); break; 
        case 2005: 
    		switch ($title) {  
      			 default: include_once('ref_305.php'); break; 
    			
    			 }break;
    			 
     
        case 2006: 
    	   	 switch ($title) {  
      		 default: include_once('ref_306.php'); break; 
       		 case terroristforce-clan: include_once('ref3061.php'); break;
    		
    		 }
    		 break;
    		 
    	 case 2007:
    		switch ($title) {
    		default: include_once('ref_307.php'); break;
    		case whitemusic-clan: include_once('ref3071.php'); break;
    		case freethinkers: include_once('ref3072.php'); break;
    		case black-panthers: include_once('ref3073.php'); break;
    		
    		}
    		break;
    	
        case 2008:
    		switch ($title) {
    		default: include_once('ref_308.php'); break;
    		
    		}
    		break;
    		 
        case 2009: 
    		switch ($title) {
    		default: include_once('ref_309.php'); break;
    		
    		}
    	break;
    	}
    break;
    case 5: include_once('service.php'); break;



    Zuletzt modifiziert von freethinker am 04.08.2007 - 17:27:59
    0 Mitglieder finden den Beitrag gut.
  30. #30
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Achso du hast einfach so Wörter ausgeschrieben, das müssen dann schon Strings sein also case 'terroristforce-clan': z.B. hast du den Rest deiner Seite nicht selbst gemacht, ansonsten sollte man sowas doch wissen zunge
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten