Einzelnen Beitrag anzeigen
  #1  
Alt 18.10.2010, 00:03:18
Paradox Paradox ist offline
Anfänger
 
Registriert seit: Oct 2010
Alter: 37
Beiträge: 2
Html Formular versenden, float angabe mit php in Mysql Speichern?

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'];
$_xposinumber_format($xpos2',''.');

$ypos $_POST['Ypos'];
$_yposi number_format($ypos2',''.');

$zpos $_POST['Zpos'];
$_zposi number_format($zpos2',''.');



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.