portseven: GET & POST

tag,

ich wollte mal fragen wie ihr sowas machen würdet. Ich habe z.b ein Button der mir alle User anzeigt. In der Form ist das Attribute "POST". (Method="POST").

Ich gebe die Daten per POST rüber an die "load.php".

Davor habe ich aber noch ein Button gedrückt, wo meine URL dann so aussieht nach dem klicken:

load.php?sort=newest

Jetzt habe ich in meiner Load.php sowas z.b stehen:

<?php if(isset($_GET["sort"]) && $_GET["sort"] == "newest") { $stmt = $pdo->prepare("SELECT * FROM user LIMIT 5;"); $stmt->execute(); while($row = $stmt->fetch()) { .... } ?>

Jetzt zeigt er mir keine Beiträge an. Wie kann ich es also machen, dass er mir die Beiträge anzeigen kann mit $_GET["sort"] ?

  1. tag,

    Ich gebe die Daten per POST rüber an die "load.php".

    Davor habe ich aber noch ein Button gedrückt, wo meine URL dann so aussieht nach dem klicken:

    load.php?sort=newest

    Jetzt habe ich in meiner Load.php sowas z.b stehen:

    Da musst Du halt beide Arrays auswerten $_GET und $_POST. Machn Dump und guckt Dir doch an was da drinsteht. MfG

  2. Aloha ;)

    Wenn ich dich recht verstehe hast du eine Seite mit Formular unter load.php?sort=newest, von der aus per POST Werte an sich selbst geschickt werden, und du fragst dich, wie du nach dem Abschicken an load.php an das ?sort=newest rankommst, da dir deine Seite sonst nichts anzeigt. Korrekt soweit?

    Dann wäre in meinen Augen die Lösung, im action-Attribut des Formular nicht load.php einzutragen, sondern load.php?sort=newest bzw. load.php?sort=MitPHPeingefügterWertvomSeitenaufruf.

    Mehr gibt meine Glaskugel bei der dürftigen Informationslage nicht her.

    Grüße,

    RIDER

    -- Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller

    # Twitter # Steam # YouTube # Self-Wiki #

    Selfcode: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[
    1. Lass Dich nicht beirren von der Request-Method. Der Query_String wird bei jedem Request gesendet:

      POST /p.php?query=123 HTTP/1.0 Connection: Close Content-Length: 3 Content-Type: application/x-www-form-urlencoded Host: egal ================================================================= HTTP/1.1 200 OK Date: Thu, 17 May 2018 18:45:47 GMT Server: Apache/2.2.14 (Win32) PHP/5.3.0 mod_fastcgi/mod_fastcgi-SNAP-0910052141 mod_perl/2.0.7 Perl/v5.16.3 X-Powered-By: PHP/5.3.0 Content-Length: 139 Connection: close Content-Type: text/plain; Charset=UTF-8 Array ( [post] => Array ( [x] => y ) [get] => Array ( [query] => 123 ) ) <?php header('Content-Type: text/plain; Charset=UTF-8'); print_r( array('post' => $_POST, 'get' => $_GET)); ?>

      D.h., wenn <form method="POST" action="/p.php?query=123"> gesetzt ist, macht der Browser schon ein POST. Action dito, s. nebenstehend.

      Entscheidend ist, was man serverseitig als Kriterium für die gewünschte Aktion betrachtet. Also, ob dieser sog. Schlüsselparameter in $_GET oder $_POST angesiedelt ist.

      MfG

      1. Aloha ;)

        Lass Dich nicht beirren von der Request-Method. Der Query_String wird bei jedem Request gesendet:

        Ich glaube du hast nicht recht verstanden was ich geschrieben habe, denn genau...

        D.h., wenn <form method="POST" action="/p.php?query=123"> gesetzt ist

        ...das war ja mein Lösungsvorschlag?

        Mir ist das schon klar, ich denke nur dem OP ist genau das nicht klar.

        Grüße,

        RIDER

        -- Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller

        # Twitter # Steam # YouTube # Self-Wiki #

        Selfcode: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[