GET & POST
portseven
- php
0 pl0 Camping_RIDER0 pl
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"] ?
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
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
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
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