Hallo Zusammen,
ein leidliches Thema wenn ich das Forum so durchforste. Aber so ganz habe ich das ganze Thema noch nicht verstanden.
Mein Beispiel:
Mein Script überträgt nach Betätigen eines Button einen SQL Statement via xmlhttp.open bzw. .send();
Ergebnis: Das Statement wird nicht ganz ausgelesen bzw. in einer Variablen gesichert.
Habe hier mal meine Testscripts (Senden.php und Empfangen.php) reingestellt um die Sachlage klarer darstzustellen. Wohlbemerkt es ist nur ein Auszug des eigentlichen Scripts, soll ja nur das Problem schildern.
Code: Senden.php
<script>
function XMLInsertNewRekl(fQuery, fAsync)
{
var xmlhttp;
if (window.XMLHttpRequest)
{ //code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{ //code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (fAsync == true)
{
//Asynchroner Aufruf: Rücksprung ist die Refrenz der Funktion funktion ()
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
SetReklID(xmlhttp);
}
}
}
xmlhttp.open("GET","Empfangen.php" + "?Query=" + fQuery, fAsync);
xmlhttp.send();
if (fAsync == false)
{
//alert("XMLHTTP-Status: " + xmlhttp.status);
if (xmlhttp.status === 200) {
//alert(xmlhttp.responseText);
SetReklID(xmlhttp);
}
}
}
$('input').click(function()
{
switch ($(this).attr("Name"))
{
case "Anlegen":
query = "Insert into Mastertab (Datum) Values ('#2014/09/16#');";
XMLInsertNewRekl(query, true);
}
});
</script>
<head>
<body>
<div id="Hauptrahmen">
<input name="Anlegen" type="Button" class="Button" id="Anlegen" value="Anlegen" style="float:left">
</div>
</body>
</head>
Code: Empfangen.php
<?php
$Query = $_GET['Query'];
?>
Ergebnis: "Insert into Mastertab (Datum) Values ('"
Nach dem # Zeichen wird der String abgeschnitten.
Frage generell, ich gehe davon aus, gerade bei SQL Statements dass dort vielfach Sonderzeichen wie *,%, usw. genutzt werden.
Gibt es hier eine generelle Vorgehnsweise bei der Übertragung von Soderzeichen. Hat hier jemand einen Link wo man das nachlesen kann?
Wäre sehr dankbar wenn Ihr mich hier unterstützen könntet.
Vielen Dank im Voraus.
Gruß
Ralf
ein leidliches Thema wenn ich das Forum so durchforste. Aber so ganz habe ich das ganze Thema noch nicht verstanden.
Mein Beispiel:
Mein Script überträgt nach Betätigen eines Button einen SQL Statement via xmlhttp.open bzw. .send();
Ergebnis: Das Statement wird nicht ganz ausgelesen bzw. in einer Variablen gesichert.
Habe hier mal meine Testscripts (Senden.php und Empfangen.php) reingestellt um die Sachlage klarer darstzustellen. Wohlbemerkt es ist nur ein Auszug des eigentlichen Scripts, soll ja nur das Problem schildern.
Code: Senden.php
<script>
function XMLInsertNewRekl(fQuery, fAsync)
{
var xmlhttp;
if (window.XMLHttpRequest)
{ //code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{ //code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (fAsync == true)
{
//Asynchroner Aufruf: Rücksprung ist die Refrenz der Funktion funktion ()
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
SetReklID(xmlhttp);
}
}
}
xmlhttp.open("GET","Empfangen.php" + "?Query=" + fQuery, fAsync);
xmlhttp.send();
if (fAsync == false)
{
//alert("XMLHTTP-Status: " + xmlhttp.status);
if (xmlhttp.status === 200) {
//alert(xmlhttp.responseText);
SetReklID(xmlhttp);
}
}
}
$('input').click(function()
{
switch ($(this).attr("Name"))
{
case "Anlegen":
query = "Insert into Mastertab (Datum) Values ('#2014/09/16#');";
XMLInsertNewRekl(query, true);
}
});
</script>
<head>
<body>
<div id="Hauptrahmen">
<input name="Anlegen" type="Button" class="Button" id="Anlegen" value="Anlegen" style="float:left">
</div>
</body>
</head>
Code: Empfangen.php
<?php
$Query = $_GET['Query'];
?>
Ergebnis: "Insert into Mastertab (Datum) Values ('"
Nach dem # Zeichen wird der String abgeschnitten.
Frage generell, ich gehe davon aus, gerade bei SQL Statements dass dort vielfach Sonderzeichen wie *,%, usw. genutzt werden.
Gibt es hier eine generelle Vorgehnsweise bei der Übertragung von Soderzeichen. Hat hier jemand einen Link wo man das nachlesen kann?
Wäre sehr dankbar wenn Ihr mich hier unterstützen könntet.
Vielen Dank im Voraus.
Gruß
Ralf
Kommentar