$_GET Funktion

pl_90

Angesehenes Mitglied
Heyla Heyli Heylou...
biggrin.gif


Ich hab ne Frage bzw. ein Problemchen.. hehe..
laugh.gif

ich hab so etwas geschrieben:

QUOTE
$search = $_GET['search'];

function GetIDForSearch () {
$search = $_GET['search'];
$ausgabe_id = preg_replace ('/\D/', '', $search);
return ($ausgabe_id);
}

$link_id = GetIDForSearch();
$ss_09 = "id:'/[^0-9]/'";

$site_id = "/siteid=$link_id";


if ($search >= $ss_09) {
header ("Location: $site_id");
exit;
}

...



Nur boft das nicht richtig..
Ich möchte jetzt so machen, sobald man in das Feld id:EINE_ZAHL eingibt,
soll das eingegebene id: gelöscht werden und die Zahl nach XYZ weitergegeben werden.
Also jetzt ist das so, wenn man id:EINE_ZAHL eingibt wird das Ding nach XYZ weitergeleitet, aber wenn man was anderes eingibt, wird es trotzdem nach XYZ weitergeleitet, das passiert nicht immer aber es soll ja nicht..

Wie kann man das den machen?

Thx.. im Voraus...


Dawid
 
Hey pl,

zunächst mal möchte ich drauf hinweisen (wollte ich schonmal machen), daß Du besser nicht so viele reguläre Ausdrücke verwendest, und wo möglich vielleicht lieber auf einfache Stringfunktionen ausweichst. Das wird Deine Anwendungen sicherlich beschleunigen ;-)

Zu Deinem Problem, bin ich mir nicht sicher, ob ich folgen konnte, aber ich würde es mal so verstehen:

CODE $search = $_GET['search'];

function GetIDForSearch () {
$search = strtolower(trim($_GET['search']));
$ausgabe_id = str_replace('id:', '', $search);
return ($ausgabe_id);
}

$link_id = GetIDForSearch();
$site_id = "/siteid=$link_id";


if (intval($link_id)>0) {
header ("Location: $site_id");
exit;
}


Deine eigene if-Abfrage kann ich dabei nicht ganz nachvollziehen. Entweder hast Du einen wichtigen Teil vergessen, oder Du vergleichst Strings mit einem größer/kleiner-Operator. Ich bin mir nicht sicher (hab das noch nie benötigt), aber ich denke, Du vergleichst damit die ASCII-Werte der Strings, und das ist ja eigentlich nicht gewollt ;-)

Grüße

[Edit:]

QUOTE Ok, danke hat sich erledigt...

Grrrr... ;-)
 
Hi... Thx...

Ich hab total vergessen, dass noch preg_match gibt.. hehe
wink.gif


Also statt:

if ($search >= $ss_09) {
header ("Location: $site_id");
exit;
}

habe ich so gemacht:

if (preg_match ('`id:(\d+)`', $search)) {
header ("Location: $site_id");
exit;
}


Grüße

Dawid


biggrin.gif
 
Zurück
Oben