# index.php?id=1



## kuli2011 (26. April 2010)

Hallo 
Wie kann man das machen, dass man z.B nicht index_id1.php hat, sondern index.php?id=1   ?


----------



## Yaslaw (26. April 2010)

Genauso wie die es schreibst. Man schreibt index.ph?id=1
Das ist leider die einzige Antwort die auf deine kurz gehaltene Frage past.

Ansonsten führ doch mal aus, wass index.php?id nachher machen soll, im vergleich zu index_id1.php


----------



## marvinlol (26. April 2010)

Du lässt eine andere PHP-Datei in deiner index.php includen.
Das heißt du erstellst eine index.php und 1.php 2.php usw.

Dann lässt du dir die Dateien mit folgendem Code in deiner Index.php einbinden.


```
<?php
      $id = $_GET['id'];
      if(!isset($id)) $id="start";
      $invalide = array('/','/\/',':','.');
      $id = str_replace($invalide,' ',$id);
      if(!file_exists($id.".php")) $id = "start";
      include($id.".php");
     ?>
```

Die Seiten sind dann unter 
	
	
	



```
http://domain.de/index.php?id=1
```
zu erreichen.


----------



## kuli2011 (26. April 2010)

Nein, ich meine, dass man in der php datei dann einen eintrag macht, damit der und der Text dann angezeigt wir, wenn man z.B. index.php?id=1 aufruft.
Aber wie geht das dann mit index.php?id=1&action=2 ?


----------



## Yaslaw (26. April 2010)

genau gleich

```
if($_GET['action'] ==2){
    echo "Action ist 2";
 }
```


----------



## kuli2011 (26. April 2010)

Wie würde dann der php code dafür lauten das man index.php?id=1&action=2 aufrufen kann und dann ein Text dort steht ?


----------



## ByeBye 154279 (26. April 2010)

Hey,

ich würde die GET-Variablen in einem Array packen und überprüfen, ob die Elemente,
die über GET kommen auch in dem Array stehen.




marvinlol hat gesagt.:


> ```
> <?php
> include($id.".php");
> ?>
> ...



Mit deinem Code könnte man durch spezielle Parameter Schaden anrichten.
Also

```
$var = array("home" => "home.php"; "var2" => "var2.php") 
if($var[$_GET['param']]){include $var[$_GET['param']];}
```

kuli2011:
Ein weiterer Ansatz ( aber erbesserungswürdig)wäre:


```
$action = $_GET['action']
switch ($action){
case "home": $content = "Home";break;
case "bla": $content = "bla";break:
default: $content = "";break
}
```

mfg 
bo


----------



## kuli2011 (26. April 2010)

Äm entschuldigung, aber ich verstehe leider nicht so viel davon.


----------



## Yaslaw (26. April 2010)

Eine White-List ist immer iene gute Idee
Man ersetze $_POST durch $_GET in der folgenden White-List-Lösung
http://wiki.yaslaw.info/wikka/PhpPost2Var


----------



## kuli2011 (26. April 2010)

Und was soll das bringen?


----------



## Yaslaw (26. April 2010)

Das, (wie wir deine Frage verstanden haben), ist due Lösung die du suchst.


----------



## kuli2011 (26. April 2010)

Also ich erkläre noch mal Meine Frage:
Man nimmt z.B. einen Link, der auf /test.php?id=1&action=2 verweist.
Und ich wollte wissen wie der PHP Code dann für die test.php Seite lauten muss.


----------



## Yaslaw (26. April 2010)

Es währe interessant zu wissen, was denn test.php damit machen sollte.

Deine Frage ist etwa so wie :"_Ich brauche ein Program. Kannst du es mir machen und wie lange brauchst du dazu?_"

PS: Ansonsten stehen schon so viele Lösungsansätze im Thread, dass du ruhig mal selber etwas ausprobieren darfst....


----------



## kuli2011 (26. April 2010)

test.php soll dann einfach nur einen Text ausgeben z..B. :

test.php?id=1 soll ausgeben : Nummer 1 Geklickt
test.php?id =1&action=3 : Nummer 1 Gecklickt und geschrien


----------



## Yaslaw (26. April 2010)

Ja. Und ide Lösungen stehen in diesem Thread (und zwar vor den komplizierten Ansätzen!). Du musst sie nur zusammenführen.

du brauchst die folgenen Befehle
if()
$_GET[]
echo

Wenn du das nicht hinkriegst, solltest du nochmals über das 1x1 vom Programmieren brüten.


----------



## kuli2011 (26. April 2010)

So ?

```
if($_GET['action'] == 'start'){
        echo 'OK. Nun wähle:<br>';
```
Und was ist das 1x1 Programmieren


----------



## chmee (26. April 2010)

Grummel. Das 1x1 des Programmierens sind die Basics, die Grundkenntnisse, das Verständnis für das Ver- und Abarbeiten von Befehlen und ihrer gegenseitigen informationstechnischen Auswirkung.

mfg chmee

Nachtrag: Wir helfen ja gerne, aber Pflicht Nummer 1 ist es, dass DU etwas dabei verstehst und begreifst. Kauf Dir ein Buch zum Thema php (ich würd sogar sagen, nimm eins zu Javascript gleich dazu) und lerne!


----------



## kuli2011 (26. April 2010)

Und wo sind die?


----------



## Mr. FISHMAN (26. April 2010)

Vielleicht wäre auch hilfreich, wenn wir erfahren, aus welchem Grund du das so haben willst.
Also was du damit bezwecken möchtest !? 
Denn theoretisch sind die Antworten hier nu schon öfter gefallen.


----------



## Yaslaw (26. April 2010)

kuli2011 hat gesagt.:


> Und wo sind die?



Sag ma, stellst du dich nur so blöd an?
chmee hats beschrieben. Kauf dir ein Buch in der Art "PHP für Dummies" und leis es durch. Dann kannst du das 1x1 der Programmiersn mit PHP.

Yaslaw, der keine weitere Hilfestellung für kuli2011 mehr macht, bis etwas mehr eigenarbeit reinkommt


----------

