phpbar.de logo

Mailinglisten-Archive

[php] Kombination von GET / POST erlaubt?

[php] Kombination von GET / POST erlaubt?

Arne Klempert php at klempert.de
Die Aug 5 23:18:36 CEST 2003


Hallo Andreas,

> sicher muss man unterscheiden was der letzte Aufruf war, aber
> doch nicht in der Art _woher_ ich Daten lese.

Wieso denn nicht? Bei der Anzeige des Formulars ziehst Du die Daten doch
auch aus unterschiedlichen Quellen (POST bzw. DB). Also warum sträubst
Du Dich so dagegen, die Quelle auch bei der ID zu unterscheiden?

> Das ist für mich der springende Punkt. Wenn ich weiss das mein
> Key aus dem Get kommt dann kann ich das einfach immer aus dem
> GET lesen, die Daten dann aus dem POST ... falls es ein POST
> war z.B.
>
> if (isset($_GET['id'])) {
>   $id=$_GET['id'];
> } else {
>   $id=0;
> }
>
> if ($_SERVER['REQUEST_METHOD']=='POST') {
>   [...]
> } else {
>   [...]
> }
>
> Sowas finde ist recht sauber strukturiert.


So unstrukturiert ist meine Variante nun auch wieder nicht:

if ($_SERVER['REQUEST_METHOD']=='POST') {
    $id=isset($_POST['id'])?(int)$_POST['id']:0;
    [...]
} else {
    $id=isset($_GET['id'])?(int)$_GET['id']:0;
    [...]
}

Sie ist zudem zweifelsfrei RFC-konform und verhindert auch noch, dass
Dir als IDs irgendwelche Sonderzeichen oder Buchstaben untergejubelt
werden.


Und mit $_REQUEST gehts sogar noch kürzer (und auch nicht weniger sauber
strukturiert):

$id=isset($_REQUEST['id'])?(int)$_REQUEST['id']:0;
if ($_SERVER['REQUEST_METHOD']=='POST') {
    [...]
} else {
    [...]
}


Viele Grüße
Arne
--
http://klempert.de






php::bar PHP Wiki   -   Listenarchive