Zadejte hledaný výraz...

Malá chybka v matematice v php

Michael
verified
rating uzivatele
(3 hodnocení)
26. 10. 2014 20:09:50
Zdravím, mám dva téměř totožné code
TENTO FUNGUJE DOBŘE
//Správa Účtů - Povýšit Účet
if($_GET == "povysit"){
$id = $_GET;
$accid = $_GET;
$name = $_GET;
$gmlvl = $_GET;
$vypocet = $gmlvl + 1;
mysql_query("UPDATE `gm-team` SET rank='$vypocet' WHERE id='$id'");
mysql_query("UPDATE `account_access` SET gm_lvl='$vypocet' WHERE id='$accid'");
echo "
UPDATE `gm-team` SET rank='$vypocet' WHERE id='$id' is OK
";
echo "
UPDATE `account_access` SET gm_lvl='$vypocet' WHERE id='$accid' is OK

";
echo "
GameMaster jménem $name byl povýšen na gmlvl $vypocet !
";
}
A TENTO MI NASTAVÍ VŽDY ÚČET NA 1 místo toho aby gmlvl ubral o 1
//Správa Účtů - Degradovat Účet
if($_GET == "degradovat"){
$id = $_GET;
$accid = $_GET;
$name = $_GET;
$gmlvl = $_GET;
$vypocet = $gmlvl -1;
mysql_query("UPDATE `gm-team` SET rank='1' WHERE id='$id'");
mysql_query("UPDATE `account_access` SET gm_lvl='$vypocet' WHERE id='$accid'");
echo "
UPDATE `gm-team` SET rank='$vypocet' WHERE id='$id' is OK
";
echo "
UPDATE `account_access` SET gm_lvl='$vypocet' WHERE id='$accid' is OK

";
echo "
GameMaster jménem $name byl degradován na gmlvl $vypocet !
";
}
Netuší někdo co s tím ?
26. 10. 2014 20:09:50
https://webtrh.cz/diskuse/mala-chybka-v-matematice-v-php#reply1064096
Libor Krátký
verified
rating uzivatele
(6 hodnocení)
26. 10. 2014 20:15:58
SET rank='1' ?
26. 10. 2014 20:15:58
https://webtrh.cz/diskuse/mala-chybka-v-matematice-v-php#reply1064095
Michael
verified
rating uzivatele
(3 hodnocení)
26. 10. 2014 20:19:38
jo sorry mala chybka v me praci
i kdyz tam dam
$vysledek
vykopne mi to
UPDATE `gm-team` SET rank='-1' WHERE id='20' is OK
UPDATE `account_access` SET gm_lvl='-1' WHERE id='6' is OK
GameMaster jménem Testicek byl degradován na gmlvl -1 !
proč
26. 10. 2014 20:19:38
https://webtrh.cz/diskuse/mala-chybka-v-matematice-v-php#reply1064094
Možná si v $_GET nic nepředáš => $_GET = 0 => $vypocet = 0 - 1 => -1
Elegantnější řešení: rank= rank - 1
26. 10. 2014 20:27:45
https://webtrh.cz/diskuse/mala-chybka-v-matematice-v-php#reply1064093
Fido123
verified
rating uzivatele
(13 hodnocení)
26. 10. 2014 21:09:49
To nemá být asi
ale
Jinak ono je to celé divné řešit to přes GET, tohle by se mělo dělat přes POST.
26. 10. 2014 21:09:49
https://webtrh.cz/diskuse/mala-chybka-v-matematice-v-php#reply1064092
tomito
verified
rating uzivatele
(10 hodnocení)
26. 10. 2014 21:33:44
Napsal Fido123;1135335
To nemá být asi
ale
Jinak ono je to celé divné řešit to přes GET, tohle by se mělo dělat přes POST.
Ono by to malo byť v prvom rade zabezpečené proti SQL injection :-)
26. 10. 2014 21:33:44
https://webtrh.cz/diskuse/mala-chybka-v-matematice-v-php#reply1064091
Michael
verified
rating uzivatele
(3 hodnocení)
26. 10. 2014 21:46:10
tomito, zabezpečeni jsem z kodu umyslne oddelal
jinak $_GET je spravne a dodava hodnotu, vzdyt to vyuziva funkce na pridani lvlu
UPDATE `gm-team` SET rank='15' WHERE id='18' is OK
UPDATE `account_access` SET gm_lvl='15' WHERE id='6' is OK
GameMaster jménem Darlin97 byl povýšen na gmlvl 15 !
---------- Příspěvek doplněn 26.10.2014 v 21:47 ----------
opraveno
26. 10. 2014 21:46:10
https://webtrh.cz/diskuse/mala-chybka-v-matematice-v-php#reply1064090
Fido123
verified
rating uzivatele
(13 hodnocení)
26. 10. 2014 21:57:35
Napsal Michal Itachi Koler;1135341
jinak $_GET je spravne a dodava hodnotu, vzdyt to vyuziva funkce na pridani lvlu
No nechápu ale, proč do $gmlvl jednou přiřazuješ $_GET a podruhé $_GET, ale možná to má nějakou skrytou logiku.
26. 10. 2014 21:57:35
https://webtrh.cz/diskuse/mala-chybka-v-matematice-v-php#reply1064089
Jan Matoušek
verified
rating uzivatele
(12 hodnocení)
27. 10. 2014 07:49:17
Napsal Michal Itachi Koler;1135341
tomito, zabezpečeni jsem z kodu umyslne oddelal
A jaký to mělo důvod?
jinak php funkce mysql jsou deprecated. Doporučuje se použít MySQLi nebo PDO_MYSQL
font tag také, používá se CSS
27. 10. 2014 07:49:17
https://webtrh.cz/diskuse/mala-chybka-v-matematice-v-php#reply1064088
Pro odpověď se přihlašte.
Přihlásit