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

Rekomendowane odpowiedzi

Opublikowano

Mam problem. Mianowicie taki :

 if($_GET['vnum'] == 8000  OR ($_GET['vnum'] == 22010) OR ($_GET['vnum'] = 22011) OR ($_GET['vnum'] == 27003) OR ($_GET['vnum'] == 27006) OR ($_GET['vnum'] == 27102) OR ($_GET['vnum'] == 27105)) {
 $count = 200;
 }else {
 $count = 1;
 }
  echo $count;

 

W tym kodzie ciągle zwraca 200 mimo że $_GET['vnum'] to żadna z wyżej podanych liczb. A powinno 1. A jeśli vnum to np. 800 zwraca 200. Pomoże ktoś by zwracało tak jak powinno ?

Opublikowano

Niestety dalej 200 :/

 

Może cały podam skrypt :

 


<?php
session_start();
require_once('../_AppStart.php');

 if(!empty($_GET['id'])) {
   $Id = mysql_real_escape_string($_GET['id']);
   $Id = htmlspecialchars($_GET['id']);
   $Id = strip_tags($_GET['id']);
 $ID = $_GET['id'] ;
} else {
echo "Wystąpił błąd ponieważ wystąpił błąd. Sory :/<br />" ;
 }

 if(!empty($_GET['vnum'])) {

 mysql_real_escape_string($_GET['vnum']);
   htmlspecialchars($_GET['vnum']);
   strip_tags($_GET['vnum']);
$VNUM = $_GET['vnum'] ;
 } else {
echo "Wystąpił błąd ponieważ wystąpił błąd. Sory :/<br />" ;
 }

 if(($_GET['vnum'] === 8000)  OR ($_GET['vnum'] === 22010) OR ($_GET['vnum'] = 22011) OR ($_GET['vnum'] === 27003) OR ($_GET['vnum'] === 27006) OR ($_GET['vnum'] === 27102) OR ($_GET['vnum'] === 27105)) {
 $count = 200;
 }else {
 $count = 1;
 }

if(!empty($_GET['id']) && !empty($_GET['vnum'])) {

$baza = mysql_select_db('player');
$dodaj = mysql_query("INSERT INTO shop_item (shop_vnum, item_vnum, count) VALUES ( '$ID', '$VNUM', '$count')" );   // $_GET['id'], $_GET['vnum']  , $ID, $VNUM
}
 ?>

 <script type="text/javascript">
   self.close() ;
 </script>

Opublikowano

W jednym warunku dałeś "=" zamiast "=="

if($_GET['vnum'] == 8000  OR ($_GET['vnum'] == 22010) OR ($_GET['vnum'] == 22011) OR ($_GET['vnum'] == 27003) OR ($_GET['vnum'] == 27006) OR ($_GET['vnum'] == 27102) OR ($_GET['vnum'] == 27105)) {
 $count = 200;
 }else {
 $count = 1;
 }
  echo $count;

tu masz dobrze

dobryrycerz3.png
Specjalista
Opublikowano

@Stevar Ci pomógł, a dodatkowo zmień sobie kawałem kodu na taki jak Ci podam

//ta funkcja jest bardziej przejźroczysta
function vText($text){
   return $text = trim(mysql_real_escape_string(htmlspecialchars(strip_tags(($text)))));
}
// Juz lepiej wygląda
if(!empty($_GET['id'])) {
   $Id = vText($_GET['id']);
 $ID = $_GET['id'] ;
} else {
echo "Wystąpił błąd ponieważ wystąpił błąd. Sory :/<br />" ;
 }
 // lepiej stosowac funkcje, na kod lepiej sie patrzy
 if(!empty($_GET['vnum'])) {
$VNUM = vText($_GET['vnum']) ;
 } else {
echo "Wystąpił błąd ponieważ wystąpił błąd. Sory :/<br />" ;
 }

 

Tutaj dodałem tylko funkcje, aby lepiej się czytało kod.

Taka optymalizacja z Twoiej wersji na moją :)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...