• 19.07.2025, 10:52
  • Register
  • Login
  • You are not logged in.

 

sTa-AzRAel

Full Member

PHP MySQL Übergabe: Backslash

Friday, June 18th 2004, 1:20am

Hi Leute,

ich habe folgendes Problem:
Beim Eintragen von einem PHP Script in MySQL geht jeder \ verloren.

Hier ein auszug von meinem Script:

Source code

1
2
3
4
if (!isset($gb) && ($igb=="1")) {
$eintrag=nl2br(htmlentities($eintrag));
$save="INSERT INTO guestbook (eintrag) values('$eintrag'')";
mysql_query($save, $connect);


Wenn $eintrag z.b. lediglich" \o/" ist wird nur "o/" ausgegeben. und in der Datenbank steht auch nur ein "o/"

Woran kann das liegen, dass ein \ schlichtweg ignoriert wird?

Gruß Dominik
19.01.2003 WaKü on Board ;D Ich traue jedem, nur nicht dem Teufel der in jedem steckt

xx_ElBarto

God

Re: PHP MySQL Übergabe: Backslash

Friday, June 18th 2004, 1:23am

du musst glaube ich zwei backslahs machen, dann steht einer drin, warum das nu so is weiß ich auch gerade net ;D

Shoggy

Sven - Admin

Re: PHP MySQL Übergabe: Backslash

Friday, June 18th 2004, 1:46am

Der Backslash ist ein Kontroll-Zeichen mit dem man normalerweise bestimmte Kommandos startet.

Wie schon richtig gesagt wurde musst du "\\" schreiben.
Aber zum Glück befinden wir uns in einer modernen Programmiersprache mit Lösungen für dieses Problem:

$eintrag=AddSlashes($eintrag)

diesen zusätzlichen Backslash wird man auch ebenso einfach wieder los:

$eintrag=StripSlashes($eintrag)

sTa-AzRAel

Full Member

Re: PHP MySQL Übergabe: Backslash

Friday, June 18th 2004, 2:08am

alles klar :D

ihr seid meine helden ;)
19.01.2003 WaKü on Board ;D Ich traue jedem, nur nicht dem Teufel der in jedem steckt

Y0Gi

God

Re: PHP MySQL Übergabe: Backslash

Friday, June 18th 2004, 5:30am

Source code

1
values('$eintrag'')";

aua aua. gerade bei sowas sind addslashes() bzw. mysql_escape_string SEHR wichtig.

weiterhin solltest du mit $_POST['varname'] bzw. $_GET['varname'] arbeiten. zum einen, weil $varname im restricted_mode nicht existiert, zum anderen weil man sonst uninitialisierte variablen mittels parameter überschreiben kann. infos dazu gibts an jeder guten php-ecke.

und WENN du schon INSERT INTO groß schreibst - und das ist gut so - dann aber auch bitte alle keywords, sprich VALUES. :)

und noch so ne anregung: warum machst du nl2br() vorm speichern? mach das doch lieber bei der ausgabe, dann sind weniger und im zweifelsfall manuell besser lesbarere daten in der datenbank, weil die br-tags fehlen.

ThimschE

Unregistered

Re: PHP MySQL Übergabe: Backslash

Friday, June 18th 2004, 10:15am

Ich finde es immer wieder faszinierend, wenn Yogi loslegt. :)
Bekomme das ja häufig mit..... ;)

Bluefake

God

Re: PHP MySQL Übergabe: Backslash

Friday, June 18th 2004, 10:59am

Wenn Y0Gi erstmal angefangen hat, reicht das immer für eine Gänsehaut. ;D

RESPECT!
Arbeiten am Mac ist natürlich keine Arbeit, sondern sinnvoll gestaltetes Glück.

Y0Gi

God

Re: PHP MySQL Übergabe: Backslash

Saturday, June 19th 2004, 4:13pm

Quoted from "Bluefake"

Wenn Y0Gi erstmal angefangen hat, reicht das immer für eine Gänsehaut. ;D

muahahaha. :) ich hab ja eigentlich was gegen quotes in der sig, aber in diesem fall mach ich mal ne ausnahme!