PHP-Problem mit '

Felix Weber

Angesehenes Mitglied
Hallo!

Ich habe ein problem und zwar mit : '

Also in einem Forumar wird das suchwort ($suchwort ) und die Wahlmöglichkeit ($doit) angegebnen. Das Script bekommt daas und "linkt" 8leitet) weiter in abhängigkeit zu der Eingabe.


Also das Script :


CODE
<?
# $suchwort und $doit kommt aus einem Formular



if ( $_POST[doit]=="wahl1" )
{
header("Location: http://www.wasauchimmer.de/result.php?searchterm=$suchwort");

exit();
}

if ( $_POST[doit]=="wahl2" )
{
header("Location: http://www.wasauchimmerdomain2.de/result.php?searchterm=$suchwort");
exit();
}

?>



Das problem ist, dass alles funktioniert. Bis auf das Hochkomma(?), also bis auf '

Beispiele:

ku`damm ---> funktioniert


ku'damm -----wird zu ----> ku\'damm


Warum hängt der immer bei ' ein \ davor. Also nur

' --------wird zu -------> \'


Wer kann mir dabei helfen?

Felix
 
Hi!


Mmmh,

aus

\ wird \\

aus
'' wird \'\'

Demnach scheint es echt an den "magic quotes" zu liegen!


Das problem ist, dass der mein Webhoster wohl die
magic_quotes_gpc nicht auf off stellen möchte!
Gibt es eine Möglichkeit das anders zu umgehen?


Danke für die Hilfe!

Felix
 
Hi!

Okay, ich bin definitiv kein Pogrammierer.

Habe das jetzt so gelöst:



CODE
<?
# $suchwort und $doit kommt aus einem Formular

$suche = stripslashes($suchwort);

if ( $_POST[doit]=="wahl1" )
{
header("Location: http://www.wasauchimmer.de/result.php?searchterm=$suche");

exit();
}
?>



Ist das so möglich?
Also in der Praxis geht dies.
Das meint der Experte?

Danke, Danke!
biggrin.gif
biggrin.gif



Felix
 
Ich frage mich, was du mit dem Redirect bezweckst. Du übermittelst doch nicht noch einmal die Anfrage an das aktuelle Skript, oder? Sonst hättest du ja pro Anfrage 2 Requests, was nicht sonderlich effizient ist.


Ich hätte das so gelöst:

Definiere eine Methode, mit welcher der Input - falls nötig - verarbeitet wird:
CODE
function intelligent_stripslashes($input) {
if(get_magic_quotes_gpc()) {
return stripslashes($input);
} else {
return $input;
}
}



Dann weiter:


CODE
$suchwort = intelligent_stripslashes($suchwort);

// ... ab hier weiter mit den beabsichtigten Operationen
// Wenn Magic Quotes aktiviert waren, so wurde der Input mit stripslashes() verarbeitet
// wenn nicht, wurde stripslashes nicht angewendet.

 
Zurück
Oben