Autor | Zpráva | ||
---|---|---|---|
ondrej16556 Profil |
#1 · Zasláno: 19. 2. 2010, 16:34:55
Dobrý deň,
Neviete prečo mi pri násobení 0*24 a 0*24*10 vyjde záporný výsledok? Kód: <?php session_start() ?> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=Windows-1250"> <link rel="stylesheet" type="text/css" href="../styly.css"> <link rel="stylesheet" type="text/css" href="../active.css"> <script type="text/javascript" src="cas.js"></script> </head> <body bgcolor="#980000"> <?php if(isset($_SESSION['vstup'])): { ?> <? require_once '../db.php'; //súbor, v ktorom je definované pripojenie k databáze $username = $_POST['username']; $password = $_POST['password']; $cas = date("j"); $conn = mysql_connect($dbhost,$dbuser,$dbpass) //pripojíme sa k databáze or die ('Error connecting to mysql'); mysql_select_db($dbname); $query = sprintf("UPDATE users SET login = $cas WHERE UPPER(username) = UPPER('%s') AND password = '%s'", mysql_real_escape_string($_SESSION['username']), mysql_real_escape_string(md5($_SESSION['password']))); mysql_query($query); //updatujeme login //<!-- výpis z databáze $query = sprintf("SELECT last_login FROM users WHERE UPPER(username) = UPPER('%s') AND password='%s'", mysql_real_escape_string($_SESSION['username']), mysql_real_escape_string(md5($_SESSION['password']))); $result = mysql_query($query); list($last_login) = mysql_fetch_row($result); $query = sprintf("SELECT login FROM users WHERE UPPER(username) = UPPER('%s') AND password='%s'", mysql_real_escape_string($_SESSION['username']), mysql_real_escape_string(md5($_SESSION['password']))); $result = mysql_query($query); list($login) = mysql_fetch_row($result); //výpis surovín $query = "SELECT tdrevo FROM dedina WHERE username = '{$_SESSION["username"]}'"; $result = mysql_query($query); list($tdrevo) = mysql_fetch_row($result); $query = "SELECT thlina FROM dedina WHERE username = '{$_SESSION["username"]}'"; $result = mysql_query($query); list($thlina) = mysql_fetch_row($result); $query = "SELECT tkamen FROM dedina WHERE username = '{$_SESSION["username"]}'"; $result = mysql_query($query); list($tkamen) = mysql_fetch_row($result); $query = "SELECT thlina FROM dedina WHERE username = '{$_SESSION["username"]}'"; $result = mysql_query($query); list($thlina) = mysql_fetch_row($result); $query = "SELECT tzlato FROM dedina WHERE username = '{$_SESSION["username"]}'"; $result = mysql_query($query); list($tzlato) = mysql_fetch_row($result); // koniec výpisu --> $query = "SELECT tobilie FROM dedina WHERE username = '{$_SESSION["username"]}'"; $result = mysql_query($query); list($tobilie) = mysql_fetch_row($result); $query = sprintf("UPDATE users SET last_login = $cas WHERE UPPER(username) = UPPER('%s') AND password = '%s'", mysql_real_escape_string($_SESSION['username']), mysql_real_escape_string(md5($_SESSION['password']))); mysql_query($query); //updatujeme posledný login //definovanie premenných na suroviny $den = $login-$last_login*24; //$login-$last_login - odčítanie terajšieho prihlásenia od posledného -> výsledok = počet dní od posledného prihlásenia*24 - počet hodín od posledného prihlásenia $drevo = $den*$tdrevo; //násobíme počet hodín od posledného prihlásenia ale len po dňoch a násopíme to ťažbou dreva $hlina = $den*$thlina; $kamen = $den*$tkamen; $zlato = $den*$tzlato; $obilie = $den*$tobilie; mysql_close($conn); //ukončíme spojenie s databázov ?> <head> <title>Storočná vojna > Dedina > Úvod</title> </head> <table align="center" bgcolor="#FF0000" width="900px"> <tr bgcolor="#FF0000"> <img src="../logo.jpg" width="900px" height="200px"> </tr> <tr bgcolor="#FF0000"> <?php include ("../title.php") ?> </tr> <tr bgcolor="#FF0000" align="center"> <?php include ("menu.php") ?> </tr> <tr bgcolor="#FF0000" align="center"> <?php include ("hracmenu.php") ?> </tr> <tr bgcolor="#FF0000"><div class="text"><a href="stavba.php" class="odkazy">Postaviť budovu</a><? echo "last_login: $last_login"; echo "login: $login" ?></div></tr> <tr bgcolor="#FF0000"> <? echo $drevo; ?> </tr> </table> <? } else: { ?> <head> <title>Storočná vojna > NEPLATNÉ SESSION</title> </head> <table align="center" bgcolor="#FF0000" width="900px"> <tr bgcolor="#FF0000"> <img src="../logo.jpg" width="900px" height="200px"> </tr> <tr bgcolor="#FF0000"> <?php include ("../title.php") ?> </tr> <tr bgcolor="#FF0000"> <?php include ("session.php"); ?> </tr> <tr bgcolor="#FF0000"> <div class="text">Pre hranie hry musíš byť prihlásený</div> </tr> </table> <? } endif; ?> </html> Vždy mi vyjde -437 a -4370, poradili by ste mi kde je chyba? |
||
Mastodont Profil |
#2 · Zasláno: 19. 2. 2010, 16:39:24 · Upravil/a: Mastodont
Jestli myslíš ten příkaz
$den = $login-$last_login*24; tak tam se bez závorek nejdřív násobí a pak teprve odčítá. Operátory se provádějí podle své přednosti: www.php.net/manual/en/language.operators.precedence.php |
||
ondrej16556 Profil |
#3 · Zasláno: 19. 2. 2010, 16:47:12
Ďakujem, myslím že už to funguje
|
||
Časová prodleva: 14 let
|
0