Hi,
Neulich beim testen ist ein mir seltsames Problem aufgetaucht.
Undzwar, das meine Variablen nicht richtig an die Datenbank gesendet werden bzw. von dort gelesn werden?
Das komische ist, wenn ich es von meinem Rechner teste, geht es, wenn ich drüben (auf den anderen Rechner teste, geht es auch) doch wenn ich es mit meinem Freund in Deutschland teste (bin grade in Australien) geht es nicht, bzw. was noch viel merkwürdiger ist, es geht, aber nicht richtig?
Ich verschicke die Daten mit:
PHP-Code:
lv.sendAndLoad( myPath + 'sendSpieler.php', lv, 'POST' )
Das sendSpiel.php sieht so aus:
PHP-Code:
<?php
$host = "localhost";
$username = "myUsername";
$pw = "myPassword";
$database = "myDatabase";
$table = "Spieler";
mysql_connect($host, $username, $pw);
mysql_select_db($database);
/**
* hier fangen wir die von flash, per post gesendetet daten auf
* und weisen sie unseren php variablen zu
*/
$a0 = $_POST['a0']; $b0 = $_POST['b0']; $c0 = $_POST['c0'];
$a1 = $_POST['a1']; $b1 = $_POST['b1']; $c1 = $_POST['c1'];
$a2 = $_POST['a2']; $b2 = $_POST['b2']; $c2 = $_POST['c2'];
$a3 = $_POST['a3']; $b3 = $_POST['b3']; $c3 = $_POST['c3'];
$a4 = $_POST['a4']; $b4 = $_POST['b4']; $c4 = $_POST['c4'];
$D = $_POST['D'];$Z = $_POST['Z'];$P = $_POST['P'];
$query = mysql_query("UPDATE $table SET
ACash='$a0',
BCash='$b0',
CCash='$c0',
AEinsatz='$a1',
BEinsatz='$b1',
CEinsatz='$c1',
APunkte='$a2',
BPunkte='$b2',
CPunkte='$c2',
AKarte='$a3',
BKarte='$b3',
CKarte='$c3',
AName='$a4',
BName='$b4',
CName='$c4',
Deck='$D',
amZug='$Z',
imPot='$P';");
if ( $query )
{
echo "&callback=erfolgreich";
}
else
{
echo "&callback=fehler";
}
?>
Und die Daten werden mittels XMLspieler.php eingelesen:
PHP-Code:
<?php
$host = "localhost";
$username = "myUsername";
$pw = "myPassword";
$database = "myDatabase";
$table = "Spieler";
mysql_connect($host, $username, $pw);
mysql_select_db($database);
$query = mysql_query("SELECT * FROM ".$table);
$str = '<?xml version="1.0" encoding="UTF-8"?>'."\n";
$str .= ' <root>'."\n";
while($result = mysql_fetch_assoc($query)) {
$str .= ' <node>'."\n";
$str .= ' <ACash>'.$result['ACash'].'</ACash>'."\n";
$str .= ' <BCash>'.$result['BCash'].'</BCash>'."\n";
$str .= ' <CCash>'.$result['CCash'].'</CCash>'."\n";
$str .= ' <AEinsatz>'.$result['AEinsatz'].'</AEinsatz>'."\n";
$str .= ' <BEinsatz>'.$result['BEinsatz'].'</BEinsatz>'."\n";
$str .= ' <CEinsatz>'.$result['CEinsatz'].'</CEinsatz>'."\n";
$str .= ' <APunkte>'.$result['APunkte'].'</APunkte>'."\n";
$str .= ' <BPunkte>'.$result['BPunkte'].'</BPunkte>'."\n";
$str .= ' <CPunkte>'.$result['CPunkte'].'</CPunkte>'."\n";
$str .= ' <AKarte>'.$result['AKarte'].'</AKarte>'."\n";
$str .= ' <BKarte>'.$result['BKarte'].'</BKarte>'."\n";
$str .= ' <CKarte>'.$result['CKarte'].'</CKarte>'."\n";
$str .= ' <AName>'.$result['AName'].'</AName>'."\n";
$str .= ' <BName>'.$result['BName'].'</BName>'."\n";
$str .= ' <CName>'.$result['CName'].'</CName>'."\n";
$str .= ' <Deck>'.$result['Deck'].'</Deck>'."\n";
$str .= ' <amZug>'.$result['amZug'].'</amZug>'."\n";
$str .= ' <imPot>'.$result['imPot'].'</imPot>'."\n";
$str .= ' </node>'."\n";
}
$str .= ' </root>'."\n";
echo $str;
?>
Im Anhang hab ich mal mein Problem rot gemarkert. Bei "Karten" wird die Variable als String in die Datenbank gespeichert, der eigentlich auch nicht übermassig lang ist. Normalerwerse sollen hier immer 5 Werte stehen, doch bei meinem Freund werden nur 3 eingespeichert bzw. gelesen, was sehr merkwürdig ist, zumal die Anderen Variablen immer korrekt eingespeichert bzw. gelesen werden?