gelöst POST schneidet nach dem Leerzeichen ab.
Moin,
folgendes Problem.
Ich habe ein Formular, das mittels $_POST Daten an ein Script weitergibt, das diese Daten in die Datenbank schreibt.
Wenn jetzt ein Wert mit Leerzeichen kommt. Zum Beispiel Vorname Nachname wird alles nach dem Leerzeichen nicht in die Datenbank geschrieben. Gebe ich mit print die Variable aus, ist es aber noch drin.
Kann mir jemand helfen?
Hier ein wenig Code.
$qry_update_clients="update clients set client_is_admin = '".$_POST['admin']."' " .
", client_location_id = '".$_POST['location_id']."' " .
", client_name = '".$_POST['client_name']."' " .
", client_full_name = '".$_POST['client_full_name']."' " .
", client_category = '".$_POST['client_category']."' " .
", client_pass = '".$client_pass."' " .
", client_is_news_add = '".$_POST['news_add']."' " .
", client_is_active = '".$_POST['active']."' " .
", client_is_news_modify = '".$_POST['news_modify']."' " .
", client_is_news_modify_all = '".$_POST['news_modify_all']."' ".
", client_is_contest_add = '".$_POST['contest_add']."' ".
", client_is_bonus_add = '".$_POST['bonus_add']."' ".
", client_is_cl_add = '".$_POST['cl_add']."' ".
", client_is_cl_admin= '".$_POST['cl_admin']."' ".
", client_is_mail_add= '".$_POST['mailadd']."' ".
"where client_id = '".$HTTP_GET_VARS['id']."'";
$db=mysql_connect(c_db_server,c_db_user,c_db_pass);
mysql_db_query(c_db_database, $qry_update_clients);
mysql_close($db);
folgendes Problem.
Ich habe ein Formular, das mittels $_POST Daten an ein Script weitergibt, das diese Daten in die Datenbank schreibt.
Wenn jetzt ein Wert mit Leerzeichen kommt. Zum Beispiel Vorname Nachname wird alles nach dem Leerzeichen nicht in die Datenbank geschrieben. Gebe ich mit print die Variable aus, ist es aber noch drin.
Kann mir jemand helfen?
Hier ein wenig Code.
$qry_update_clients="update clients set client_is_admin = '".$_POST['admin']."' " .
", client_location_id = '".$_POST['location_id']."' " .
", client_name = '".$_POST['client_name']."' " .
", client_full_name = '".$_POST['client_full_name']."' " .
", client_category = '".$_POST['client_category']."' " .
", client_pass = '".$client_pass."' " .
", client_is_news_add = '".$_POST['news_add']."' " .
", client_is_active = '".$_POST['active']."' " .
", client_is_news_modify = '".$_POST['news_modify']."' " .
", client_is_news_modify_all = '".$_POST['news_modify_all']."' ".
", client_is_contest_add = '".$_POST['contest_add']."' ".
", client_is_bonus_add = '".$_POST['bonus_add']."' ".
", client_is_cl_add = '".$_POST['cl_add']."' ".
", client_is_cl_admin= '".$_POST['cl_admin']."' ".
", client_is_mail_add= '".$_POST['mailadd']."' ".
"where client_id = '".$HTTP_GET_VARS['id']."'";
$db=mysql_connect(c_db_server,c_db_user,c_db_pass);
mysql_db_query(c_db_database, $qry_update_clients);
mysql_close($db);
3 Antworten
- LÖSUNG Admin666 schreibt am 29.09.2008 um 14:23:48 Uhr
- LÖSUNG chb1982 schreibt am 29.09.2008 um 14:52:16 Uhr
- LÖSUNG dtzzzzzz schreibt am 30.09.2008 um 10:04:48 Uhr
LÖSUNG 29.09.2008 um 14:23 Uhr
Wenn in einem Wert Leerzeichen enthalten sind und Anführungszeichen musst du den ganzen String unter Anführungszeichen setzen!
z.B.:
WshShell.Run "tools\MsgWnd.exe 0 ""Softwareinstallation"" ""Softwarepaket " & PACKAGENAME & " wird installiert."""
Grüß
z.B.:
WshShell.Run "tools\MsgWnd.exe 0 ""Softwareinstallation"" ""Softwarepaket " & PACKAGENAME & " wird installiert."""
Grüß
LÖSUNG 29.09.2008 um 14:52 Uhr
Hi,
inzwischen habe ich herausgefunden, dass der String mitsamt Leerzeichen zwar in der Datenbank ankommt, wenn ich das aber später in ein Formular schreibe
<input type="text" name="client_full_name" value=' . $clients['client_full_name'] . '></input>;
fehlt das Leerzeichen auf einmal wieder.
Ahh. Ok. Anführungszeichen... Schon verstanden - jetzt klappt es auch. Danke!
inzwischen habe ich herausgefunden, dass der String mitsamt Leerzeichen zwar in der Datenbank ankommt, wenn ich das aber später in ein Formular schreibe
<input type="text" name="client_full_name" value=' . $clients['client_full_name'] . '></input>;
fehlt das Leerzeichen auf einmal wieder.
Ahh. Ok. Anführungszeichen... Schon verstanden - jetzt klappt es auch. Danke!
LÖSUNG 30.09.2008 um 10:04 Uhr
Werte aus einer $_POST Variable direkt ins SQL-String zu schreiben, ohne sie voher zu escapen ist ein großes Sicherheitsrisiko, nur so als Tip!!!
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte