| 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: 16 let
|
|||
0