Hoe kunnen deze gegevens onthouden worden zonder database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mark

Mark

25/01/2006 20:10:00
Quote Anchor link
Hey,

Ik doe een poging tot het maken van een 'dart partij script'. Ik probeer eerst de basis te maken maar ik zit met iets waar ik niet echt uit kom als php leek. Ik heb het volgende:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
$beginstand
= "501";

if (isset($_POST["scorecheck"])) {
    $score = $_POST["score"];
if ($_POST["score"] == '') {
    echo "Geen score ingevoerd"; }
}
else { echo "";

}

<!--
Huidige punten -->
 
    echo $beginstand."<br />";
    echo $beginstand - $score ."<br />";

<!--
Score -->
    echo $score."<br />";
?>



<form action="" method="post">
<input type="text" name="score" />
<input type="submit" name="scorecheck" value="Score" />
</form>

Je hebt dus een begin stand (501). Onderin heb ik een invul veld waar je de score kan invullen. Die wordt gecontroleerd boven in de pagina en dan geeft hij score de waarde. Dan wordt er van de beginstand de score afgetrokken. En de score wordt onthouden.

Dus simpel:

beginstand = 504
rechtst staat de score

501 || 10
491 || 21
470 || 60
410 || 180
230 ||

etc. dat moet er dus uit eindelijk op het scherm komen. Wie kan mij een klein zetje geven? Want in dit gedeelte van php ben ik dus nog niet bepaald slim.

Edit
Ik zat zelf al aan zo iets te denken maar dan is hij na 2 keer gooien ook weer weg:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
$nieuw
= $beginstand - $score;

echo $beginstand;
echo $nieuw;
?>
Gewijzigd op 25/01/2006 20:32:00 door Mark
 
PHP hulp

PHP hulp

25/11/2024 07:09:57
 
Mark

Mark

25/01/2006 20:35:00
Quote Anchor link
oh, misschien met een for lus ;) even kijken....

* niet slim genoeg :-/
Gewijzigd op 25/01/2006 20:43:00 door Mark
 
Arjan Kapteijn

Arjan Kapteijn

25/01/2006 20:44:00
Quote Anchor link
Je weet hoe sessies werken?

Je schrijft iedere keer in een sessie de huidige beginstand, vervolgens haal je dat op, punten eraf, en dat word dan weer de huidige 'begin' stand :).

Eigenlijk is het relatief makkelijk, maar je moet het eventjes 2 of 3x gedaan hebben.

http://nl3.php.net/session

^^ staan enkele simpele voorbeeldjes. Waarbij deze:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if (! isset($_SESSION['count'])) {
   $_SESSION['count'] = 1;
}
else {
   $_SESSION['count']++;
}

?>


Wat weer een redelijk goed startpunt is om verder te gaan denk ik.
 
Mark

Mark

25/01/2006 20:47:00
Quote Anchor link
ja sessies heb ik al 1x gebruikt bij login script. Nou gaan we dat is even proberen. Bedankt alvast!
 
Martijn B

Martijn B

25/01/2006 20:48:00
Quote Anchor link
Je probleem is dus hoe je alle scores moet gaan opslaan?

Ik denk dat dit prima kan in een database.

Je maakt b.v. een database met de volgende tabellen:

- dart_users
-- user_id
-- name

-- dart_games
--- game_id
--- user_id1
--- user_id2
--- user_id_won

-- dart_scores
--- game_id
--- time_now (timestamp)
--- user_id
--- score_now (de gegooide score)
--- score_total

Hier moet je nog wat beter over na denken maar zo zou ik het aanpakken.
Gewijzigd op 25/01/2006 20:51:00 door Martijn B
 
Gilles Van Vlasselaer

Gilles Van Vlasselaer

25/01/2006 20:51:00
Quote Anchor link
je kan anders ook in een .txt bestand schrijven :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
if(file_exists("counter.txt")){
$fp=fopen("counter.txt","r+");
$count=fgets($fp,6);
$count++;
rewind($fp);
fputs($fp,$count,6);
fclose($fp);
}
else{
$fp=fopen("counter.txt","w");
$count="1";
fputs($fp,$count,6);
fclose($fp);
}

?>

(komt uit mijn PHP boek :) )
hier kan je op verdergaan of op sessies(moet je dan ook niet zorgen dat sessies een soort van selfkill gaan doen? )
 
Mark

Mark

25/01/2006 21:21:00
Quote Anchor link
mmm ja sessies heb ik naar even wat geprobeerd maar ik zat denk ik verkeerd want ik kreeg nu de score het aantal sessies. Dus ik had 13 scores ingevuld, was de score 13 ;)

Maar met databases moet het niet zo zijn dat alle scores er in blijven. Maar dat kan later wel dat hij het ook weer verwijderd... lijkt mij. toch? Naja ik ga morgen verder prutsen. Ik ga naar beneden, heb morgen weer SK tentamen en dan maandag pas weer 1
 
Micha

Micha

25/01/2006 21:24:00
Quote Anchor link
Dat kan heel makkelijk.

Gewoon aan een uniek id aan die tabel meegeven, en dan aan het einde van je script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
mysql_query("DELETE FROM dart WHERE id = '1'");
?>


zoiets :)
 
Mark

Mark

26/01/2006 16:11:00
Quote Anchor link
Updates
Ik heb het nu gewoon met een database die ik aan het eind wil legen. Ik kan nu gewoon alles 'aftrekken' (cijfers) tot aan de 180 en wanneer je op 100 staat kan je geen scores boven de 100 gooien of 99 of 100 zelf want dan heb je 1 of 0 over.

En een dubbel 0,5 bestaat niet als er mensen zijn hoe je moet darten ;)
 
Barman V

Barman V

26/01/2006 16:51:00
Quote Anchor link
Hoe heb je het gedaan met sessies?
Want via kladblok kan het ook.

Voorbeeld

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
session_start();

$beginstand = 501;

if (isset($_GET['score'])){
  $_SESSION['punten'] -= $_GET['score'];
}


echo $beginstand.' | ';
echo $_SESSION['punten'].'<br>';
?>
 
Mark

Mark

27/01/2006 00:18:00
Quote Anchor link
heb database gebruikt zoals in me bericht hiervoor, met sessies ben ik niet echt bekend.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.