ok, titel ist etwas groß geworden :P
habe schon etliche suchbegriffe in google eingegebn, es kamen auch einige antworten. leider nicht das was ich mir erhofft habe. Hoffe das ich meine Php Karriere hier weiterführen kann. In anderen Foren ist die hilfe leider nicht sonderlich accurat.
Was will ich?
Also, ich habe ein Formular erstellt also das hier.
Code:
<form action="teleporter.php" method="post">
ID:<input type="text" name="ID"/><br />
MapID:<input type="text" name="MapID"/><br />
CategoryID:<input type="text" name="CategoryID"/> <br />
Name:<input type="text" name="Name"/> <br />
Xpos:<input type="text" name="Xpos"/> <br />
Ypos:<input type="text" name="Ypos"/> <br />
Zpos:<input type="text" name="Zpos"/> <br />
Rpos:<input type="text" name="Rpos"/> <br />
Cost:<input type="text" name="Cost"/> <br />
ReqLevel:<input type="text" name="ReqLevel"/> <br />
Faction:<input type="text" name="Faction"/> <br />
GuildID:<input type="text" name="GuildID"/> <br />
<input type="submit" value="Hinzufügen!"/>
</form>
So wie man sieht gibs es 3 Felder wo Coordinaten abgefragt werden. (position).
Nun habe ich folgendes Problem, x,y,z pos bestehen aus floats, also kommazahlen. Als bespiel.
Xpos -> 6404,82
Ypos -> 6404,82
Zpos -> 547,493
Diese werde nicht korrekt in der Datenbank gespeichert. Diese müssen aber Exakt so gespeichert werden, ansonsten würde der Spieler eventuel unter die Map (von einem Spiel) fallen, und nicht mehr wegkommen. Darum kommt es drauf an das die nachkomma stellen ebenfals prezise sind.
Mein derzeitges Script
PHP-Code:
<?php
error_reporting(E_All);
include "configT.php";
$_ID = $_POST['ID'];
$_MapID = $_POST['MapID'];
$_CategoryID = $_POST['CategoryID'];
$_Name = mysql_real_escape_string($_POST['Name']);
$_Xpos = $_POST['Xpos'];
$_Ypos = $_POST['Ypos'];
$_Zpos = $_POST['Zpos'];
$_Rpos = $_POST['Rpos'];
$_Cost = (int)$_POST['Cost'];
$_ReqLevel = (int)$_POST['ReqLevel'];
$_Faction = (int)$_POST['Faction'];
$_GuildID = (int)$_POST['GuildID'];
$xpos = $_POST['Xpos'];
$_xposi= number_format($xpos, 2, ',', '.');
$ypos = $_POST['Ypos'];
$_yposi = number_format($ypos, 2, ',', '.');
$zpos = $_POST['Zpos'];
$_zposi = number_format($zpos, 2, ',', '.');
if (isset($_ID)){
$sql = "INSERT INTO teleportmaster_locations
VALUES ('$_ID', '$_MapID', '$_CategoryID', '$_Name',
'$_xposi', '$_yposi', '$_zposi', '$_Rpos', '$_Cost', '$_ReqLevel', '$_Faction', '$_GuildID');
";
$erg = mysql_query($sql);
if ($erg)
{
echo "Teleport Eintrag Erfolgreich eingebatcht!";
}
else{
echo "Fehlgeschlagen".mysql_error();
}
};
?>
Es sind noch keine sicherheiten etc eingebaut, das folgt alles wenn das script Funktionsfähig ist.
Es gibt keine Error's nichts, das Script an sich geht einwandfrei, nur die x,y,z Position werden nicht Korrekt gespeichert.
Ankommen tut in der Datenbank das hier.
Xpos -> 6,404
Ypos -> -2,706
Zpos ->547
Wie bekomme ich das jetzt Richtig formatiert? Hab schon versucht float to string und umgekehrt, können sich jetzt fehler eingeschlichen haben, habs jetzt einfach so Kopiert ohne irgentwie was wegzunehm.