PDA

Volledige versie bekijken : NetConnection error


quietkillah
%Europe/Berlin %726 %2012, 17:26
nog een probleem

in deze functie krijg ik een fout:
private function handelGetSpelerNaamViaId(result:Object):void
{
actieveSpelerId = result[0].spelerID;


var paramObj:Object = new Object();
paramObj.spelerid = actieveSpelerId;
paramObj.holeid = holeids[actieveHole].holeID;
paramObj.score = actieveSpelerScore;

var net:NetConnection = new NetConnection();
net.connect("http://www.scorepion.be/Amfphp/");
net.call("Scorepion.insertScore",new Responder(handelInsertScore,insertScoreFault),para mObj);
}

volgende error:
Error #2044: Unhandled NetStatusEvent:. level=error, code=NetConnection.Call.BadVersion
at Scorepion/handelGetSpelerNaamViaId()[/Users/Kristof/Documents/School/New Media Integration/Scorepion/src/Scorepion.as:799]

dit is de php:
function insertScore($paramObj){
$spelerid = addslashes($paramObj['spelerid']);
$holeid = addslashes($paramObj['holeid']);
$score = addslashes($paramObj['score']);
echo $spelerid;
echo $holeid;
echo $score;

$check="SELECT * FROM holespeler WHERE holeID='$holeid' AND spelerID='$spelerid'";
$checkres = mysql_query($check);

if(mysql_num_rows($checkres)>0){
$sql = "UPDATE holespeler SET holespelerScore='$score' WHERE spelerID='$spelerid' AND holeID='$holeid'";
}else{
$sql = "INSERT INTO holespeler (holespelerScore,spelerID,holeID) VALUES ('$score','$spelerid','$holeid')";}

$result = mysql_query($sql);
return $result;
}

nochtans zijn alle gegevens correct...

Jan
%Europe/Berlin %737 %2012, 17:41
Als je in php een fout in je script hebt, stuurt de server de php-error terug in plaats van een AMF geformatteerd object. Dat is de meest voorkomende reden van die foutmelding want een plain/text error-melding is geen AMF, dus krijg je : NetConnection.Call.BadVersion.
Installeer Charles en kijk welke foutmelding je van php binnen krijgt in je swf:
http://www.charlesproxy.com/

De foutmelding die ik zie in Charles als ik jouw script test vanuit Flash CS5.5 is:

<b>Fatal error</b>: Cannot use object of type stdClass as array in <b>/home/as003057/public_html/Amfphp/Services/Scorepion.php</b> on line <b>146</b><br />

Bovenstaande 'teskt' krijg je dus binnen in Flash ipv AMF.

Edit: Het lijkt een typisch amfphp probleem van Object vs Array.
Als je ':Object' door 'Array' vervangt in jouw script is de error weg maar da's maar een hack. :s

Jan

Dauntless
%Europe/Berlin %744 %2012, 17:52
Ik heb de posts even afgesplitst in een nieuw topic aangezien het niets met het vorige probleem te maken had.