Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Wadliwy skrypt itemshopa


Rekomendowane odpowiedzi

Opublikowano

Oto skrypt którego używa IS:

<?php   
      include ("config_account.php");
$itemid = $_GET['itemid'];

		$sql = "SELECT * FROM itemshop WHERE itemid = '$itemid'"; 
$result = mysql_query ($sql); 
if (mysql_num_rows ($result) > 0) 
{ 
  $data = mysql_fetch_array ($result); 
  
   $coins = $data["coins"]; 

$coins2 = $_SESSION["user_coins"];
$userid = $_SESSION["user_id"];
$pos = $_SESSION["user_pos"];
if($coins2 < $coins)
{
echo "<b>Za malo monet,przekierowanie za 2 sekundy </b><br>" ;
echo "<meta http-equiv=\"refresh\" content=\"2;url=shop.php\">"  ; 
} else {
$coinsneu = $coins2 - $coins ;
echo "<b>Item Kupiony !<br>Twoj aktualny stan konta: $coinsneu </b><br>";
$pos = $pos + 1;
if($pos == "10")
{
$pos = "1";
$_SESSION["user_pos"] = $pos ;

}
$_SESSION["user_pos"] = $pos ;

$sql = "UPDATE account SET coins = '$coinsneu', pos = '$pos' WHERE id = $userid "; 
$ergebnis = mysql_query($sql); 
if ($ergebnis == true)   
{ 
$_SESSION["user_coins"] = $coinsneu ; 
mysql_close()  ;                  
include ("config_player.php");
$sql = "INSERT INTO `item` VALUES('0' , '$userid', 'MALL', '$pos', '1', '$itemid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''
)" ;
$ergebnis = mysql_query($sql); // Ausführen
if($ergebnis == true)
{
 echo "<b>Zostaniesz przekierowany za 3 sekundy ! </b><br>";
echo "<meta http-equiv=\"refresh\" content=\"3;url=shop.php\">"  ;      //weiterleiten
} else {
echo "lols  :D" ;
}     

} else {
   echo "<b>Problem  z polaczeniem z Baza Danych !!</b>" ;
}

}
}
?>

Obecnie jest tu ustawione aby item był dodawany do 10 miejsca w eq itemshopa, ale nie o to chodzi.

Problemem jest to że jeżeli mamy zajęte wszystkie miejsca w eq is to po kupnie kolejnego itemu nie otrzymujemy go, a sm zostają zabrane.

Drugim problemem jest to że gdy są zajęte sloty 1,2,3 i gdy wyjmiemy item z 1 slota to kolejny item dodaje do 4 slota, a nie pierwszego.

Opublikowano

Nie poprawi nikt? Nie wierzę że nikt nie umie... Chociaż jedno niech ktoś mi poprawi jak dwa trudno :/. Aby było info że brak miejsca w eq, lub aby przydzielało itemy od początku.

Opublikowano

Ja nie umiem wiec nic nie zrobie ale jakbym umiał to bym ci pomógł :D 

Zikoosi

 

Opublikowano

Po prostu pobierz informacje o eq, jeżeli pole jest nie puste to niech zwróci błąd, i na odwrót wykona zagnieżdżoną funkcje :v

Opublikowano

@Vipper

Problem w tym że nie iem jak to zrobić...

 

@Zagrajmarek

Ogarnij się, to nie był ref po moim poscie więc nie musi być 24h.

Napisałem ref, ale to nie znaczyło że odświeżam temat, a zgłaszam że nie otrzymałem jeszcze odpowiedzi.

Popatrz, temat wisi od 4 dni i zawsze starałem się trzymać limitu 24h...

Opublikowano

Oto skrypt którego używa IS:

<?php   
      include ("config_account.php");
$itemid = $_GET['itemid'];

		$sql = "SELECT * FROM itemshop WHERE itemid = '$itemid'"; 
$result = mysql_query ($sql); 
if (mysql_num_rows ($result) > 0) 
{ 
  $data = mysql_fetch_array ($result); 
  
   $coins = $data["coins"]; 

$coins2 = $_SESSION["user_coins"];
$userid = $_SESSION["user_id"];
$pos = $_SESSION["user_pos"];
if($coins2 < $coins)
{
echo "<b>Za malo monet,przekierowanie za 2 sekundy </b><br>" ;
echo "<meta http-equiv=\"refresh\" content=\"2;url=shop.php\">"  ; 
} else {
$coinsneu = $coins2 - $coins ;
echo "<b>Item Kupiony !<br>Twoj aktualny stan konta: $coinsneu </b><br>";
$pos = $pos + 1;
if($pos == "10")
{
$pos = "1";
$_SESSION["user_pos"] = $pos ;

}
$_SESSION["user_pos"] = $pos ;

$sql = "UPDATE account SET coins = '$coinsneu', pos = '$pos' WHERE id = $userid "; 
$ergebnis = mysql_query($sql); 
if ($ergebnis == true)   
{ 
$_SESSION["user_coins"] = $coinsneu ; 
mysql_close()  ;                  
include ("config_player.php");
$sql = "INSERT INTO `item` VALUES('0' , '$userid', 'MALL', '$pos', '1', '$itemid', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''
)" ;
$ergebnis = mysql_query($sql); // Ausführen
if($ergebnis == true)
{
 echo "<b>Zostaniesz przekierowany za 3 sekundy ! </b><br>";
echo "<meta http-equiv=\"refresh\" content=\"3;url=shop.php\">"  ;      //weiterleiten
} else {
echo "lols  :D" ;
}     

} else {
   echo "<b>Problem  z polaczeniem z Baza Danych !!</b>" ;
}

}
}
?>

Obecnie jest tu ustawione aby item był dodawany do 10 miejsca w eq itemshopa, ale nie o to chodzi.

Problemem jest to że jeżeli mamy zajęte wszystkie miejsca w eq is to po kupnie kolejnego itemu nie otrzymujemy go, a sm zostają zabrane.

Drugim problemem jest to że gdy są zajęte sloty 1,2,3 i gdy wyjmiemy item z 1 slota to kolejny item dodaje do 4 slota, a nie pierwszego.

comment_GB82edD4a1GqyiQQ1EViDnJoJ13o6XDK

 

 

Odezwij się na GG do mnie (w profilu) to naprawię Ci to :)

arijh2.jpg

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...