GET Variable mit + und ,
Nick
- php
0 Der Martin0 Nick
Hallo Allerseits,
ich möchte eine Suche auf meiner Seite realisieren.
Wenn der User die Such-Begriffe mit einem "," trennt, dürfen die Begriffe unabhängig voneinander vorkommen, wenn er die Begriffe mit einem "+" trennt, müssen beide Begriffe vorkommen.
Soweit so gut, alles klappt und der User erhält seine Ergebnis-Liste.
Wenn er nun auf einen Punkt dieser Liste klickt, wird der Inhalt des Punktes mit einem <a href> aufgerufen. Dabei sollen jedoch nicht Seine Suchbegriffe verloren gehen, da die Ergebnis-Liste weiterhin im linken Menü dargestellt wird. Also möchte ich sein Eingabe mit übergeben:
Als Beispiel steht in der $usersuche="Apfel+Banane+Kirsche";
[...
$temp="$rezept_id;$usersuche;";
<a href="index.php?aufruf=rezepte&detail=$temp">
...]
Meine index.php erhält jedoch folgendes in der Variable detail:
"24;Apfel Banane Kirsche"
Es verschwinden also unglücklicherweise meine Bedningungen "," und "+".
Ist das normal? Kann ich das irgendwie hinbekommen, dass mir diese Zeichen NICHT verloren gehen.
Wäre ja albern die Usersuche in einer txt Datei auf dem Server zu speichern und von der Index wieder aufzulesen...
Hallo,
Als Beispiel steht in der $usersuche="Apfel+Banane+Kirsche";
Meine index.php erhält jedoch folgendes in der Variable detail:
"24;Apfel Banane Kirsche"
das war zu erwarten.
Es verschwinden also unglücklicherweise meine Bedningungen "," und "+".
Nein, die Kommas bleiben erhalten. Aber das Pluszeichen steht im URL-Kontext als Ersatzzeichen für ein Blank, wird also vom Server beim Bearbeiten des Requests in ein Leerzeichen umgewandelt.
"Des g'hört so."
Ist das normal? Kann ich das irgendwie hinbekommen, dass mir diese Zeichen NICHT verloren gehen.
Ja. Codiere die Pluszeichen so, wie es der URL-Kontext vorsieht (Percent Encoding).
So long,
Martin
Hallo Martin,
Ja. Codiere die Pluszeichen so, wie es der URL-Kontext vorsieht (Percent Encoding).
Danke für den Tipp - klappt so alles wunderbar.
Und wieder was gelernt...
thx