TrueCrime
maar ik zit met nog een probleem. in elke pagina is jailcheck.php geïncluded, hier ff de inhoud:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?
include("mysqlconn.php");
$sql = "SELECT id,jail FROM gebruikers WHERE id = '".$_SESSION['user_id']."'";
$query = mysql_query($sql);
$rij = mysql_fetch_object($query);
$id = htmlspecialchars($rij->id);
$jail = htmlspecialchars($rij->jail);
$tijd = date("H:i:s");
if($jail >= $tijd)
{
// commandos voor als je nog in de gevangenis zit.
header("location: injail.php");
}
if($jail <= $tijd)
{
// commandos voor als je uit de gevangenis mag.
}
?>
include("mysqlconn.php");
$sql = "SELECT id,jail FROM gebruikers WHERE id = '".$_SESSION['user_id']."'";
$query = mysql_query($sql);
$rij = mysql_fetch_object($query);
$id = htmlspecialchars($rij->id);
$jail = htmlspecialchars($rij->jail);
$tijd = date("H:i:s");
if($jail >= $tijd)
{
// commandos voor als je nog in de gevangenis zit.
header("location: injail.php");
}
if($jail <= $tijd)
{
// commandos voor als je uit de gevangenis mag.
}
?>
injail.php is dit:
Code (php)
als het nu 10:00 uur is en ik zet in me db op 10:07 en ik herlaad de pagina, dan duurt het 7 minuten voor de pagina geladen is (tot eindtijd) en pas daarna geeft hier injail.php weer. Dit zou direct moeten komen, en pas als je herlaad na de eindtijd (10.07 uur in dit geval) mag die pagina pas terug weg gaan. Wat doe ik mis??
moet natuurlijk
if($jail <= $tijd)
worden, en hetzelfde geld voor die eronder.
Code (php)
$jail >= $tijd
10.03 uur >= 10.00 uur
Je zit dus nog in de gevangenis
Het is dus nu 10.04 geworden...
$jail <= $tijd
10.03 uur <= 10.04 uur
Je mag uit de gevangenis.
Juist?
Maar als je in de gevangenis zit, en je klikt op misdaad of eender wat, wordt je doorgestuurd naar injail.php
Het laden van deze pagina duurt tot je uit de gevangenis komt.
Ik heb in de database al gezet dat ik 10 minuten in de gevangenis moet zitten en het blijft hetzelfde...
hoe zorg ik er dan voor dat je ALTIJD deze pagina te zien krijgt als je in jail zit, dus ook als je op misdaad klikt of zow
if($row->injail <= time()){ echo 'hij is er uit '; }
else{
'hij is inhet gevang';
}
en deze pagina include je gewoon?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?
if(isset($_GET['buy']))
{
$sql = "INSERT INTO inventory (type , user , item , price ) VALUES ('$type' , '".$_SESSION['user_id']."' , '$item' , '$price')";
mysql_query($sql);
$sql2 = "SELECT * FROM gebruikers WHERE id = '".$_SESSION['user_id']."'";
$query2 = mysql_query($sql);
$rij2 = mysql_fetch_object($query2);
$coins = htmlspecialchars($rij2->coins);
if($coins <= $price)
{
header("location: nietgenoeggeld.php");
}
$sql4 = "SELECT * FROM inventory WHERE user = '".$_SESSION['user_id']."' WHERE type = 2 ORDER BY id ASC";
$query4 = mysql_query($sql4);
$aantal = mysql_num_rows($query4);
if($aantal >= 1)
{
header("location: aleenwapen.php");
}
$sql5 = "SELECT * FROM gebruikers WHERE id = '".$_SESSION['user_id']."'";
$query5 = mysql_query($sql);
$rij5 = mysql_fetch_object($query2);
$coins = htmlspecialchars($rij5->coins);
$eindbedrag = $coins - $price;
$sql3 = "UPDATE gebruikers SET coins = $eindbedrag WHERE id = '".$_SESSION['user_id']."'";
mysql_query($sql3);
}
?>
if(isset($_GET['buy']))
{
$sql = "INSERT INTO inventory (type , user , item , price ) VALUES ('$type' , '".$_SESSION['user_id']."' , '$item' , '$price')";
mysql_query($sql);
$sql2 = "SELECT * FROM gebruikers WHERE id = '".$_SESSION['user_id']."'";
$query2 = mysql_query($sql);
$rij2 = mysql_fetch_object($query2);
$coins = htmlspecialchars($rij2->coins);
if($coins <= $price)
{
header("location: nietgenoeggeld.php");
}
$sql4 = "SELECT * FROM inventory WHERE user = '".$_SESSION['user_id']."' WHERE type = 2 ORDER BY id ASC";
$query4 = mysql_query($sql4);
$aantal = mysql_num_rows($query4);
if($aantal >= 1)
{
header("location: aleenwapen.php");
}
$sql5 = "SELECT * FROM gebruikers WHERE id = '".$_SESSION['user_id']."'";
$query5 = mysql_query($sql);
$rij5 = mysql_fetch_object($query2);
$coins = htmlspecialchars($rij5->coins);
$eindbedrag = $coins - $price;
$sql3 = "UPDATE gebruikers SET coins = $eindbedrag WHERE id = '".$_SESSION['user_id']."'";
mysql_query($sql3);
}
?>
?? ik had 1'000'000 coins in me db staan, ik probeer iets te kopen (van 3000 coins) en men bedrag wordt gereset naar -3000, waarna hij de fout geeft 'je hebt niet genoeg geld'
Gewijzigd op 01/01/1970 01:00:00 door Stijn Dumoulin
je roept daar de verkeerde variable aan ($sql)
je moet daar een andere query gebruiken namelijk ($sql2)
Gewijzigd op 01/01/1970 01:00:00 door Gerben G
En dezelfde fout nog eens op regel 27 in het geposte stukje, daar moet het alleen $sql5 zijn.
oke, heb dit even gefikst. Het probleem is er echter nog dat als je geld op zak hebt, en je gaat naar de shop, en je koopt voor 3000 coins, je bedrag wordt gereset naar $-3000, waardoor je dus al je geld kwijt bent...