Autor Zpráva
ondrej16556
Profil
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
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
Ďakujem, myslím že už to funguje

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0