# php htaccess



## hehe_me (1. November 2008)

hi,

ich stelle meine pages per htaccess mod rewrite so dar:

http://www.****.de/index.php?seite=registrieren

wird dargestellt als:

http://www.****.de/seite/registrieren

das problem ist das bei der verwendung einer form und dem anschließenden submit (senden dieser daten, die variablen der einzelnen form elemente leer sind...

sprich:

<form action="/seite/registrieren/registrieren.php" method="post" id="frm_reg">
...
... hier sind textboxe und andere input felder
...
</form>

und dem prüfen der felder mit $_POST, $_GET oder auch $_REQUEST führt zu leeren variablen...

ich hoffe ihr könnt mir da helfen...


----------



## Gumbo (1. November 2008)

Welche Regeln setzt du denn ein?


----------



## hehe_me (1. November 2008)

So sieht meine htaccess aus:


```
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . ./index.php [L]
```

Ich habe gemerkt, dass die die Formelemente wie z.b. Textfelder nicht übergeben werden...
Ein <input type="hidden" aber doch...

das scheint an der rewrite rule zu liegen glaub ich...


----------



## Gumbo (1. November 2008)

An der genannten Regel liegt es nicht. Es muss eine andere Ursache haben.


----------



## hehe_me (1. November 2008)

hmmmmmmmmmmmmmmmm...

Meine PHP-Datei, die ich zum parsen verwende, sieht so aus:


```
<?

$path = '';

$params = str_replace($path, '', $_SERVER['REQUEST_URI']);

// zu testzewcken....
$global = $_SERVER['QUERY_STRING'];
$global2 = $params;

$_params = explode('/', $params);

foreach($_params as $key => $value)
{
	if(empty($value))
		unset($_params[$key]);
}

$_params = array_values($_params);

?>
```

Also die ganzen Paramter werden in das Array $_params gespeichert und im laufe des scriptes ausgegeben..

Meine Seite arbeitet so:

In der Index.php wird je nach Paramter der Adresse der jeweilige Content geladen (per include).

http://www,******.de/seite/registrieren/

also etwas seltsam das es nicht geht...


----------



## Gumbo (1. November 2008)

Dann solltest du sicherstellen, dass der genannte Algorithmus korrekt läuft und anschließend das richtige Skript aufgerufen wird.


----------



## Sven Mintel (1. November 2008)

Moin,

es gibt keine Notwendigkeit, an der URL handgreiflich zu werden.
Auch wenn beim Browser nichts mehr in der Adresszeile steht.....nach dem rewriten ist GET unverändert vorhanden, probiere es einfach mal aus


----------



## hehe_me (1. November 2008)

seltsam seltsam....

ich habe gemerkt das normale form submits auch nicht gehen...

zumindest nicht über id.... muss ein name bei den form elementen mit angegeben werden um sie zu identifizieren? Ich habe immer gedacht id würde ausreichen....`?


----------



## hehe_me (1. November 2008)

jap alles klar danke für eure mühe...

wenn ich mit 


```
$_REQUEST['var']
```

die form elemente abfrage... geht das nicht über id... sondern über ihren name tag den ich nicht definiert hatte... nun ja ich glaubte bisher das das id tag ausreichen würde...


----------

