Forum » Server-Side scripting » Script negeert beurten?
Berichten: 81
avatar
Offline Stuur privebericht
Ik ben begonnen met een dobbelspel alleen het script negeert de beurten.
Code | Selecteer Alles
minimaliseren
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
<?php
$beurten 
3;
$gtl1 0;
$gtl2 0;
$gtl3 0;
$gtl4 0;
$gtl5 0;

if(isset(
$_POST['gooi']))
{

// beurt eraf.
$beurten = ($beurten 1);

If(
$beurten <= 0){
echo 
"Helaas je beurten zijn op je huidige score is je uiteindelijke score";
}else{

// Aanmaken van getallen.

$gtl1 rand(1,6);
$gtl2 rand(1,6);
$gtl3 rand(1,6);
$gtl4 rand(1,6);
$gtl5 rand(1,6);



}
?>
<?php
}
?>


Dus wanneer $beurten kleiner of gelijk is aan 0 dan krijg je een melding. Anders gaat hij door.
Maar hij gaat gewoon door.

Alvast bedankt voor jullie hulp!
17-03-2011 20:15
Dit topic is 141 keer bekeken door 27 verschillende leden
Reacties op: "Script negeert beurten?"
1
nyan nyan nyan nyan
Berichten: 2076
avatar
Offline Stuur privébericht
Geen wonder, elke keer als het script runt wordt $beurten weer op 3 gezet. Maak daar een sessie van, bijvoorbeeld $_SESSION['beurten'], en het probleem is opgelost. En nog een tip, je kan in plaats van $beurten = ($beurten - 1); ook $beurten-- doen, dan verminderd die ook met 1
17-03-2011 20:22
Rapifia Europe
Berichten: 3716
avatar
Offline Stuur privébericht
Wat je nu doet is dit:
- User verzend formulier
- Je zet een variabele op 3
- Je haalt 1 van de variabele af
- Je controleer of de waarde gelijk aan nul is (of kleiner??)
- Zo ja, error, zo nee uitvoeren.

Die waarde is ALTIJD 2, je moet die beurten dus opslaan in een database (MySQL wss) en per gebruiker checken en updaten .

Ik neem aan dat je al een ledensysteem en database hebt (en misschien een crimegame) dus dan is het alleen in leden of users een kolom "beurten" met int(1) aanmaken en even de verwerking toepassen.
17-03-2011 20:22
Berichten: 81
avatar
Offline Stuur privébericht
Het is voor school. We mogen voorlopig geen SQL database gebruiken.
Maar bedankt allebei!

PS: Ik ga session gebruiken en beurten-- *thnx jannick*

Nieuwe reactie samengevoegd met originele reactie op 17.03.11 20:41:01:
Hij moet dus zo (Met dank aan Jannick):

Code | Selecteer Alles
minimaliseren
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
35
<?php

// sessie aanmaken voor de beurten.
$_SESSION["beurten"] = 3;

$gtl1 0;
$gtl2 0;
$gtl3 0;
$gtl4 0;
$gtl5 0;

if(isset(
$_POST['gooi']))
{

// beurt eraf.
$_SESSION['beurten']--;

If(
$_SESSION['beurten'] <= 0){
echo 
"Helaas je beurten zijn op je huidige score is je definitiefe score";
}else{
// Aanmaken van getallen.

$gtl1 rand(1,6);
$gtl2 rand(1,6);
$gtl3 rand(1,6);
$gtl4 rand(1,6);
$gtl5 rand(1,6);



}
?>
<?php
}
?>
17-03-2011 20:24
Reageer op: "Script negeert beurten?"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden