Guten Tag, ich habe ein kleines Problem mit einer Funktion:
Diese Funktion soll unter Beibehaltung bestimmter übergebenen Werte andere Variablen hinzufügen.
der Aufruf erfolgt hiermit:
und
$old_url=$REQUEST_URI;
Das Problem ist, dass es manchmal funktioniert und manchmal eben nicht. Dann wird aus
gemacht dabei sollte
herauskommen. Wie schon gesagt, manchmal macht er es und manchmal eben nicht. Wenn ich dann noch eine Filterfunktion drüber lege, die mir bestimmte Switch-Variablen rauszieht, macht er meine Funktion gar nicht mehr und schreibt nur
PHP-Code:
function setnewurl($oldurl,$link_variable,$array_string)
{
if (strpos($oldurl,"index.php")===FALSE)
{
$result_url=$oldurl."index.php";
}
if (strpos($oldurl,"?")===FALSE)
{
$result_url=$oldurl."?".$link_variable."=";
}
else
{
if (strpos($oldurl,$link_variable."=")===FALSE)
{
$result_url=$oldurl."&".$link_variable."=";
}
else
{
if (count($array_string)>0)
{
foreach($array_string as $searchstring)
{
if (strpos($oldurl,$searchstring)>0)
{
$result_url = substr($oldurl,0,strpos($oldurl,"&".$searchstring)).
substr($oldurl,(strpos($oldurl,"&".$searchstring)+1+strlen($searchstring)))
."&".$link_variable."=";
}
}
}
}
}
return $result_url;
}
der Aufruf erfolgt hiermit:
PHP-Code:
$new_url2=setnewurl($old_url,"res",array("res=800","res=1024","res=1280"));
PHP-Code:
$new_url3=setnewurl($old_url,"lang",array("lang=de","lang=en"));
Das Problem ist, dass es manchmal funktioniert und manchmal eben nicht. Dann wird aus
PHP-Code:
http://localhost/index.php?res=800&lang=de
PHP-Code:
http://localhost/hp?res=800&lang=de&res=1024
PHP-Code:
http://localhost/index.php?lang=de&res=1024
PHP-Code:
http://localhost/index.php?res=1024
Kommentar