AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi / PHP Falsche String Ausgabe
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi / PHP Falsche String Ausgabe

Ein Thema von Deadinpac · begonnen am 14. Okt 2004 · letzter Beitrag vom 16. Okt 2004
Antwort Antwort
Seite 1 von 2  1 2      
Deadinpac

Registriert seit: 8. Aug 2003
Ort: Oberreute
74 Beiträge
 
Delphi 2007 Enterprise
 
#1

Delphi / PHP Falsche String Ausgabe

  Alt 14. Okt 2004, 14:55
Hi DP

ich hab mal folgende frage ich verwende den Code vom diesen Thema funktionen mit delphi in phpscript nur leider taucht folgendes Problem auf wenn ich ein String an die PHP Datei sende z.b INSERT INTO 'pg' (pname,ppreis,pnummer) Values ('aaa','0,00','1-1')

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
Sven Grimm
  Mit Zitat antworten Zitat
Benutzerbild von maxk
maxk

Registriert seit: 19. Sep 2004
Ort: Berlin
57 Beiträge
 
Delphi 6 Personal
 
#2

Re: Delphi / PHP Falsche String Ausgabe

  Alt 14. Okt 2004, 15:54
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:
$str = str_replace('\\\'','\'',$str); // \' => '
$str = str_replace("\\\"","\"",$str); // \" => "
...
Wenn jemand was besseres kennt, wäre ich froh
Ein im Mittelpunkt stehender Kunde steht im Weg.
  Mit Zitat antworten Zitat
Karbrüggen

Registriert seit: 11. Okt 2004
16 Beiträge
 
#3

Re: Delphi / PHP Falsche String Ausgabe

  Alt 14. Okt 2004, 19:02
Übernimmt das PHP-Skript MySQL-Datenbankabfragen?

Dann kannst du die Abfrage auch als solches schicken:
INSERT INTO ´pg´ (pname,ppreis,pnummer) Values (´aaa´,´0,00´,´1-1´) bzw.
INSERT INTO `pg` (pname,ppreis,pnummer) Values (`aaa`,`0,00`,`1-1`) Welcher von den beiden richtig ist, kann ich dir leider grad nicht sagen... ist schon länger her

mfg
  Mit Zitat antworten Zitat
Deadinpac

Registriert seit: 8. Aug 2003
Ort: Oberreute
74 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Delphi / PHP Falsche String Ausgabe

  Alt 15. Okt 2004, 11:08
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:
Stripslashes()
aber hier erstmal der Delphi Programm code

Delphi-Quellcode:
var sl : TStringlist;
begin
  sl := TStringList.Create;
  sl.Add('$sql1='+Edit1.Text);
  Memo1.Text := idHttp1.Post('http://localhost/test.php',sl);
  FreeAndNil(sl);
end;
und hier aus der PHP datei

Code:
<?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);

?>
danke an alle für eure Hilfe

MFG

deadinpac
Sven Grimm
  Mit Zitat antworten Zitat
Benutzerbild von maxk
maxk

Registriert seit: 19. Sep 2004
Ort: Berlin
57 Beiträge
 
Delphi 6 Personal
 
#5

Re: Delphi / PHP Falsche String Ausgabe

  Alt 15. Okt 2004, 11:24
Ich meinte es so:
Code:
<?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);

?>
Theoretisch müsste stripslashes($_POST['$sql1']); aber eigentlich auch funktionieren Welche PHP Version hast du?
Ein im Mittelpunkt stehender Kunde steht im Weg.
  Mit Zitat antworten Zitat
Deadinpac

Registriert seit: 8. Aug 2003
Ort: Oberreute
74 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Delphi / PHP Falsche String Ausgabe

  Alt 15. Okt 2004, 11:33
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:
echo "$sql1" , Stripslashes($_POST['$sql1'].chr(13).chr(10));
aber ich versuch es mal so wie du geschrieben hast

MFG

deadinpac
Sven Grimm
  Mit Zitat antworten Zitat
Benutzerbild von maxk
maxk

Registriert seit: 19. Sep 2004
Ort: Berlin
57 Beiträge
 
Delphi 6 Personal
 
#7

Re: Delphi / PHP Falsche String Ausgabe

  Alt 15. Okt 2004, 11:45
Also soll müsste es eigentlich problemlos gehen:
Code:
echo "$sql1" , stripslashes($_POST['$sql1']).chr(13).chr(10);
Wichtig ist, dass du nach stripslashed die Klammer wieder zumachst (vor den ASCII Codes) und die Funktion kleinschreibst, da PHP dort anfällig ist.
Ein im Mittelpunkt stehender Kunde steht im Weg.
  Mit Zitat antworten Zitat
Deadinpac

Registriert seit: 8. Aug 2003
Ort: Oberreute
74 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Delphi / PHP Falsche String Ausgabe

  Alt 15. Okt 2004, 20:29
Hi,

@Maxk

Danke dein code hat funkioniert


Nur wenn ich am ende des Quelltext noch
Code:
Mysql_query ($sql1); oder Mysql_query ("$sql1"); oder Mysql_db_query ("$dbdata" , "$sql1");
einfüge wird der datensatz nicht in der Datenbank gespeichert warum nicht

Habt ihr da auch noch eine antwort wäre nett von euch


Mfg

deadinpac
Sven Grimm
  Mit Zitat antworten Zitat
Benutzerbild von fiasko
fiasko

Registriert seit: 10. Dez 2002
Ort: Dresden
506 Beiträge
 
#9

Re: Delphi / PHP Falsche String Ausgabe

  Alt 15. Okt 2004, 20:37
Hallo,

das ganze wird bewirkt durch die magic_quotes_gpc Konfiguration von PHP:

Zitat von PHP Manual:
Sets the magic_quotes state for GPC (Get/Post/Cookie) operations. When magic_quotes are on, all ' (single-quote), " (double quote), \ (backslash) and NUL's are escaped with a backslash automatically.

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
Thomas Liske
Posts comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
  Mit Zitat antworten Zitat
Deadinpac

Registriert seit: 8. Aug 2003
Ort: Oberreute
74 Beiträge
 
Delphi 2007 Enterprise
 
#10

Re: Delphi / PHP Falsche String Ausgabe

  Alt 15. Okt 2004, 20:48
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
Sven Grimm
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz