ich kann zwar an sich Php nur iwie ich blick bei einem script nicht so ganz durch oO.
Hab auch ehrlich gesagt keine Ahnung mehr auf welchem Script meine Hp basiert-.-
wäre voll cool wenn sich ein PhP scripter mein Script mal ansehen würde und es so machen würde dass die items ins IS-Lager gelangen und nicht der bug auftritt, dass das 2. gekaufte item das 1. löscht.
thx
#edit: kauf func wird so aufgerufen:
PHP Code:
<td colspan="2" class="isBuy"><a href="index.php?s=is_buy&id=<?PHP echo $getItems->id; ?>">Kaufen</a></td>
PHP Code:
<?PHP
function canBuy()
{
if(!isset($_SESSION['nextBuy']))
{
$_SESSION['nextBuy']=time();
}
if($_SESSION['nextBuy']<=time())
{
$_SESSION['nextBuy']=time()+5;
return true;
}
else
return false;
}
if(isset($_SESSION['user_admin']) && checkInt($_SESSION['user_admin']) && $_SESSION['user_admin']>=0) {
echo'<h2>Itemshop - Einkauf</h2>';
if(isset($_GET['id']) && checkInt($_GET['id'])) {
$sqlCmd="SELECT vnum, preis, attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6, socket0, socket1, socket2 FROM ".SQL_HP_DB.".is_items WHERE id='".$_GET['id']."' AND anzeigen='J' LIMIT 1";
$sqlQry=mysql_query($sqlCmd,$sqlHp);
if(mysql_num_rows($sqlQry)==1) {
$getItem=mysql_fetch_object($sqlQry);
$sqlCoins = "SELECT coins,marken FROM account.account WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."' LIMIT 1";
$qryCoins = mysql_query($sqlCoins,$sqlServ);
$getCoins = mysql_fetch_object($qryCoins);
if(canBuy())
{
if(($getCoins->coins)>=$getItem->preis) {
$getGroesse = get_item_proto($getItem->vnum);
$belPos = checkPos($_SESSION['user_id']);
$possiblePos = findPos($belPos['islager'],$getGroesse['groesse']);
if(!empty($possiblePos)) {
$nCoins = $getCoins->coins-$getItem->preis;
$nMarken = $getCoins->marken+$getItem->preis;
$_SESSION['user_coins'] = $nCoins;
$_SESSION['user_marken'] = $nMarken;
$sqlCmd="UPDATE account.account SET coins='".mysql_real_escape_string($nCoins)."', marken='".mysql_real_escape_string($nMarken)."' WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."' LIMIT 1";
$sqlQry=mysql_query($sqlCmd,$sqlServ);
$sqlLog="INSERT INTO ".SQL_HP_DB.".is_log (account_id,vnum,preis,zeitpunkt) VALUES ('".mysql_real_escape_string($_SESSION['user_id'])."','".$getItem->vnum."','".$getItem->preis."','".$sqlZeit."')";
$qryLog=mysql_query($sqlLog,$sqlHp);
$sqlItem="INSERT INTO player.item
(owner_id,window,pos,count,vnum,attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6, socket0, socket1, socket2)
VALUES
('".mysql_real_escape_string($_SESSION['user_id'])."','MALL','".$possiblePos[0]."','1','".$getItem->vnum."','".$getItem->attrtype0."', '".$getItem->attrvalue0."', '".$getItem->attrtype1."', '".$getItem->attrvalue1."', '".$getItem->attrtype2."', '".$getItem->attrvalue2."', '".$getItem->attrtype3."', '".$getItem->attrvalue3."', '".$getItem->attrtype4."', '".$getItem->attrvalue4."', '".$getItem->attrtype5."', '".$getItem->attrvalue5."', '".$getItem->attrtype6."', '".$getItem->attrvalue6."', '".$getItem->socket0."', '".$getItem->socket1."', '".$getItem->socket2."')";
$qryItem=mysql_query($sqlItem,$sqlServ) or die(mysql_error());
echo'<p class="meldung">Das item wurde erfolgreich gekauft. Sollte das Item nicht im Lager erscheinen, bitte umgehend bei einem Admin melden.</p>';
}
else {
echo'<p>Sie haben nicht genügend Platz in ihrem Itemshop-Lager. Ihr Guthaben wurde nicht verändert.</p>';
}
}
else {
echo'<p class="meldung">Sie haben nicht genug Coins.</p>';
}
}
else
{
echo'<p class="meldung">Es kann nur alle 5 Sekunden ein Item gekauft werden.</p>';
}
}
else {
echo'<p class="meldung">Das angegebe Item existiert nicht.</p>';
}
}
else {
echo'<p class="meldung">Es wurde keine gültige ID eingegeben.</p>';
}
echo'<p><a href="javascript:history.back()">zurück</a></p>';
}
else {
echo'<p class="meldung">Sie müssen für diesen Bereich angemeldet sein.</p>';
}
?>






