Hi
habe ein kleines Problem
ein User kann etwas in die DB eintragen lassen (dort ist es gespeichert und er hat es nichtmehr) aber wenn er den eintrag zurückruft, kann er auch einen höheren wert als in der DB steht zurück bekommen..
wie verhindere ich das?
falls jemand den source benötigt:
habe ein kleines Problem
ein User kann etwas in die DB eintragen lassen (dort ist es gespeichert und er hat es nichtmehr) aber wenn er den eintrag zurückruft, kann er auch einen höheren wert als in der DB steht zurück bekommen..
wie verhindere ich das?
falls jemand den source benötigt:
PHP-Code:
$filename="back.php";
require("./global.php");
if(!isset($_SESSION['userid'])) error_page("Bitte logge dich ein!");
if (!$aktion){
echo "Sie müssen den Befehl zum Rückzug bestätigen!<br>";
}
elseif (!$aid || !$menge || $menge <= 0){
echo "Sie haben notwendige Angaben vergessen!<br>";
}else{
$abfrage = "SELECT * FROM cc".$n."_mercs WHERE angebotsid = '$aid'";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);
$maxman = $row->anzahl;
$seller = $row->username;
$einpreis = $row->preis;
$typus = $row->typ;
$typusid = $row->typid;
$lid = $row->islandid;
$uid = $row->userid;
$angid = $row->angebotsid;
if (!$angid){
echo "Die ID ist nicht vorhanden!<br>";
}elseif ($uid != $userdata['userid']){
echo "Die Söldner gehören nicht Ihnen!<br>";
}else{
if ($typusid == 1){ //Einheiten 1
$db->query("UPDATE cc".$n."_countries SET sf = sf + $menge WHERE islandid = $lid");
}elseif ($typusid == 2){ //Einheiten 2
$db->query("UPDATE cc".$n."_countries SET lsf = lsf + $menge WHERE islandid = $lid");
}elseif ($typusid == 3){ //Einheiten 3
$db->query("UPDATE cc".$n."_countries SET ms = ms + $menge WHERE islandid = $lid");
}elseif ($typusid == 4){ //Einheiten 4
$db->query("UPDATE cc".$n."_countries SET bk = bk + $menge WHERE islandid = $lid");
}
$db->query("UPDATE cc".$n."_mercs SET anzahl = anzahl - $menge WHERE islandid = $lid");
//Es wird gepfrüft, ob das Angebot gelöscht wird
$lager = "SELECT anzahl FROM cc".$n."_mercs WHERE angebotsid = '$angid'";
$lager1 = mysql_query($lager);
$row = mysql_fetch_object($lager1);
$sol_anz = $row->anzahl;
if ($sol_anz == 0){
$loeschen= "DELETE FROM cc".$n."_mercs WHERE angebotsid = $angid";
$loesch = mysql_query($loeschen);
$gsmt = $einpreis * $anzahl;
$message = "Sie haben $anzahl Eiheiten $typus vom Söldnermarkt ...";
$subject = "Söldnermarkt";
$db->query("INSERT INTO cc1_messages
(username,fromuserid,touserid,text,time,isnew,inbox,subject,pri)
VALUES ('Söldnermarkt','0','".$uid."','".$message."','".time
()."','1','1','".$subject."','3')");
$db->unbuffered_query("UPDATE cc1_users SET newpm='1' WHERE userid = '$uid'");
Kommentar