![]() |
Delphi / PHP Falsche String Ausgabe
Hi DP
ich hab mal folgende frage ich verwende den Code vom diesen Thema ![]() kommt bei der PHP Datei immer folgender String an INSERT INTO 'pg' (pname,ppreis,pnummer) Values (\'aaa\',\'0,00\',\'1-1\') Vieleicht kennt jemand das Problem und kann mir helfen mehr Code kann ich leider jetzt nicht geben weil ich noch ein Termin habe MFG deadinpac |
Re: Delphi / PHP Falsche String Ausgabe
Das Problem kennen glaube ich viele. Meines Wissens hast du nur eine Möglichkeit: mit str_replace das ganze rückgängig zu machen:
Code:
Wenn jemand was besseres kennt, wäre ich froh :|
$str = str_replace('\\\'','\'',$str); // \' => '
$str = str_replace("\\\"","\"",$str); // \" => " ... |
Re: Delphi / PHP Falsche String Ausgabe
Übernimmt das PHP-Skript MySQL-Datenbankabfragen?
Dann kannst du die Abfrage auch als solches schicken:
SQL-Code:
bzw.
INSERT INTO ´pg´ (pname,ppreis,pnummer) Values (´aaa´,´0,00´,´1-1´)
SQL-Code:
Welcher von den beiden richtig ist, kann ich dir leider grad nicht sagen... ist schon länger her ;)
INSERT INTO `pg` (pname,ppreis,pnummer) Values (`aaa`,`0,00`,`1-1`)
mfg |
Re: Delphi / PHP Falsche String Ausgabe
Hi
@Maxk Ich weiss leider nicht wie ich dein code anwenden soll sorry @Karbrüggen und die form die du mir geschrieben hast erhält auch sonderzeichen deshalbs klappts nicht denn die schrägstriche vor den sonderzeichen kann ich mit folgenden code wegbekommen nur leider nicht bei mir
Code:
aber hier erstmal der Delphi Programm code
Stripslashes()
Delphi-Quellcode:
und hier aus der PHP datei
var sl : TStringlist;
begin sl := TStringList.Create; sl.Add('$sql1='+Edit1.Text); Memo1.Text := idHttp1.Post('http://localhost/test.php',sl); FreeAndNil(sl); end;
Code:
danke an alle für eure Hilfe
<?php
$dbserver = 'localhost'; $dbuser = 'root'; $dbpwd = ''; $dbdata = 'Prog'; $dbconn = mysql_connect($dbserver, $dbuser, $dbpwd); $dbselect = mysql_select_db($dbdata); echo "$sql1" ,$_POST['$sql1'].chr(13).chr(10); ?> MFG deadinpac |
Re: Delphi / PHP Falsche String Ausgabe
Ich meinte es so:
Code:
Theoretisch müsste stripslashes($_POST['$sql1']); aber eigentlich auch funktionieren :roll: Welche PHP Version hast du?
<?php
$dbserver = 'localhost'; $dbuser = 'root'; $dbpwd = ''; $dbdata = 'Prog'; $dbconn = mysql_connect($dbserver, $dbuser, $dbpwd); $dbselect = mysql_select_db($dbdata); $str = $_POST['$sql1']; $str = str_replace('\\\'','\'',$str); // \' => ' $str = str_replace("\\\"","\"",$str); // \" => " echo "$sql1" ,$str.chr(13).chr(10); ?> |
Re: Delphi / PHP Falsche String Ausgabe
hi
@Maxk Ich habe PHP 4.x.x.x aber wie gesagt ich wusste nicht wie ich das in php einbinden soll ich habe es gestern so versucht.
Code:
aber ich versuch es mal so wie du geschrieben hast
echo "$sql1" , Stripslashes($_POST['$sql1'].chr(13).chr(10));
MFG deadinpac |
Re: Delphi / PHP Falsche String Ausgabe
Also soll müsste es eigentlich problemlos gehen:
Code:
Wichtig ist, dass du nach stripslashed die Klammer wieder zumachst (vor den ASCII Codes) und die Funktion kleinschreibst, da PHP dort anfällig ist.
echo "$sql1" , stripslashes($_POST['$sql1']).chr(13).chr(10);
|
Re: Delphi / PHP Falsche String Ausgabe
Hi,
@Maxk Danke dein code hat funkioniert :-D Nur wenn ich am ende des Quelltext noch
Code:
einfüge wird der datensatz nicht in der Datenbank gespeichert warum nicht :gruebel:
Mysql_query ($sql1); oder Mysql_query ("$sql1"); oder Mysql_db_query ("$dbdata" , "$sql1");
Habt ihr da auch noch eine antwort wäre nett von euch Mfg deadinpac |
Re: Delphi / PHP Falsche String Ausgabe
Hallo,
das ganze wird bewirkt durch die magic_quotes_gpc Konfiguration von PHP: Zitat:
BTW: Ist das eigentlich dein ernst das man dem PHP-Skript SQL-Kommandos übergeben kann? Das ist aber ne ziemlich krasse Sicherheitslücke - da muß man sich ja erst garnicht anstregen mit SQL-Injecten :-) |
Re: Delphi / PHP Falsche String Ausgabe
Hi,
@fiasko Danke für dein tipp werd ich gleich mal gucken ob das klappt zur dein sicherheitshinweis kann man den die PHP datei denn mit ein passwort schützen so das nur das Prog die sql anweisung an der PHP datei schicken kann? MFG deadinpac |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz