![]() |
Eintrag einer neuen Highscore über php und MySQL (beide bereits vorhanden)
Hallo,
ich habe eine Online-Hiscore Liste mit MySQL. Dazu habe ich ein php, dass die Score und Namen etc überträgt und dann eine Platzierung per "Echo" zurückgibt. Ich habe den Provider gewechselt, seitdem geht das nicht mehr. Insert und Update der Score beide OK, aber die Platzierung wird nicht mehr zurückgegeben, stattdessen gibt es immer ein "Connection Closed Gracefully". Zuerst hatt ich das auf das php geschoben, aber das scheidet aus, nach diversen Umstellungen und Updates immer das gleiche Problem. Daher möchte ich gerne den Delphi Teil verbessern oder gegen etwas anderes austauschen... lHTTP: TIdHTTP;
Delphi-Quellcode:
Liegt viellicht an neuen Sicherheits-Einstellungen, kann man das POST auch anders als mit TIdHTTP oder ganz anders umsetzen?
spostString:= 'ModeID=2&Name=' + sname + '&Info=' + statement + '&Rank=' + srank
+ '&Score=' + inttostr(nscore) + '&Skill=' + inttostr(nskill) + '&Level=' + inttostr(nlevel) + '&Quest=' + inttostr(nAnz)+ '&Vers=' + sVers+ '&Difficulty=' + inttostr(gnDiff) + '&Hash=' + MD5(sname + statement + srank + inttostr(nscore) + inttostr(nskill) + inttostr(nlevel) + inttostr(nanz) + svers + inttostr(gndiff) + 'cryptstring'); lParamList := TStringList.Create; lParamList.Add(spostString); lHTTP := TIdHTTP.Create(nil); try scheck:=lHTTP.Post('http://myhiscores.de/highscore/newscore.php', lParamList); Wichtig ist dabei, dass scheck die Rückgabe, in meinem Fall 1000 für nix oder die Platzierung enthält. Das klappt per php prima. Für Vorschläge wäre ich sehr dankbar :-) Viele Grüße, Eric |
AW: Eintrag einer neuen Highscore über php und MySQL (beide bereits vorhanden)
Keine Idee?
Ich bin da selber ratlos. Die Verbindung wurde in dem Fall wohl vom Server getrennt, ich habe keine Idee warum. Wenn ich keine Rückgabe mit Echo reinsetze, bekomme ich keinen Fehler. Ich benötige die Rückgabe, um meine Platzierung zu erfahren... Hier das php, vielleicht kann mir jemand helfen?
Code:
Vielen Dank!
<?php
error_reporting(-1); ini_set("display_errors",true); $db = new mysqli("mysql.webhosting68.1blu.de", "dbuser", "dbpass", "dbdatabase"); if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; } $highscorestring=$_POST["Name"] . $_POST["Info"] . $_POST["Rank"] . $_POST["Score"] . $_POST["Skill"] . $_POST["Level"] . $_POST["Quest"] . $_POST["Vers"] . $_POST["Difficulty"] . "hi666"; if ( md5($highscorestring) == $_POST["Hash"]){ $sql="Select Count(*) from mygame_highscores where ModeID=".$_POST["ModeID"]." and Name='".$_POST["Name"]."'"; $result = mysqli_query($db, $sql); $row = mysqli_fetch_array($result,MYSQLI_BOTH); if ($row[0] == 0) { $sql = "INSERT INTO mygame_highscores (ModeID,Name,Rank,Info,Score,Skill,Level,Quest,Vers,Difficulty) VALUES ( '".$_POST["ModeID"]."', '".$_POST["Name"]."', '".$_POST["Rank"]."', '".$_POST["Info"]."', ".$_POST["Score"].", ".$_POST["Skill"].", ".$_POST["Level"].", ".$_POST["Quest"].", '".$_POST["Vers"]."', ".$_POST["Difficulty"].")"; } else { $sql = "Update mygame_highscores set Score=".$_POST["Score"].", Skill=".$_POST["Skill"].", Rank='".$_POST["Rank"]."', Level=".$_POST["Level"]." where ModeID=".$_POST["ModeID"]." AND Name='".$_POST["Name"]."' AND Score<".$_POST["Score"]; } $result = mysqli_query($db, $sql); $sqlBack="Select Count(*) from mygame_highscores where ModeID=".$_POST["ModeID"]." AND Score>".$_POST["Score"]; $resultBack = mysqli_query($db, $sqlBack); $rowBack = mysqli_fetch_array($resultBack,MYSQLI_BOTH); echo $rowBack[0]; } else { echo "1000"; } $db->close(); ?> Firlefanz |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:10 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