Backslash bei Stringdaten

Alles, was den Apache betrifft, kann hier besprochen werden.

Backslash bei Stringdaten

Postby mynona » 09. January 2004 20:00

Hallo

Ich sende als Ergebnis einer Formulareingabe einen SQL String an eine PHP Funktion. Der String wird im Formular folgend eingegeben:

Select * from tabellennamen where textfeld = 'Spenden'

In der PHP Funktion (Parameterübergabe) kommt eingegebener Text folgend an.

Select * from tabellennamen where textfeld = \'Spenden\'

Damit fängt aber mysql_query() nichts an - Fehlermeldung wegen der BSlashes.
Ich denke mir, dass das Problem in einer fehlerhaften Einstellung des Apache liegt. Oder ??

Bitte um Hilfe
mynona
 
Posts: 2
Joined: 09. January 2004 19:46

Postby DJ DHG » 10. January 2004 00:27

Moin Moin

ich weis zwar nicht wie du die parameter übergibst, aber

vieleicht hilft dir das weiter

http://de.php.net/manual/de/function.stripslashes.php

mfg DJ DHG
User avatar
DJ DHG
AF Moderator
 
Posts: 2455
Joined: 27. December 2002 13:50
Location: Kiel

Postby mynona » 10. January 2004 12:57

Danke für den Tipp !

Das man mit PHP selbst die Slashes entfernen kann, war mir auch bekannt. Ich suchte eine Methode, um den im Formular eingegebenen Text 1:1, also ohne Manipulation durch Apache ??? oder sonstwen in die aufgerufene Funktion zu bringen.

Quelltext - Formular - Auszug
...
.....
include ("defs.inc");
. if($sqlquery != "") // es wurde ein Text eingegeben
{
// Datensätze anzeigen
seeSQL($sqlquery);
}
else
{
echo "<body class='bg'>";
$sqlquery = "select * from "; ..
......
<form action="<? echo $PHP_SELF; ?>" method="POST">
...
<textarea name="sqlquery" cols="100" rows="15" ><? echo $sqlquery; ?></textarea></td>
......
..........
<td><input type="submit" name="senden" value="Query" accesskey="q"></td>
.......
. ........

Quelltext - PHP Funktion in defs.inc

function seeSQL($sqlquery)
{
global $DBHost;
global $DBName;
global $DBUser;
global $DBPass;
ab hier hat die Variable $sqlquery bei den ' der \ mit
$link = mysql_connect($DBHost,$DBUser,$DBPass) or die(mysql_error());
mysql_select_db($DBName,$link) or die(mysql_error());
$result = mysql_query($sqlquery,$link) or die ("query fehler in seeSQL".mysql_error());
.
Vielleicht gibt es globale Einstellungen, die die Ausgabe der mit POST übertragenen Daten beeinflusst.

:D Gruss

mynona
mynona
 
Posts: 2
Joined: 09. January 2004 19:46


Return to Apache

Who is online

Users browsing this forum: No registered users and 4 guests