Ik heb een vraagje. Dit progje zorgt ervoor als er geklikt wordt op een hyperlink (bv link.php?go=forum) de waarde a opgehoogd wordt en , met de waarde b niks gebeurt.
Het is dus een counter naar de hoeveelheid clicks.
Deze manier (code 1) werkt, maar is omslachtig. Zoals je ziet zit er in elke if statement eenzelfde functie. Die wil ik dit dus uit laten voeren in een standaard functie linklog() (zie code 2)
Wat de functie doet, is dat ie de hele counter.dat opnieuw opbouwt.
Het probleem is als ik de functie gebruik, dat hij de includes niet meer kent. En dus
niks wegschrijft, alleen de waarde a hoogt hij 1 op, maar waarde b krijgt opeens geen waarde toegekend en gaat dus van de initiële waarde naar niks (leeg dus).
Zet je nu ook die include in de function dan krijgen beide waarden de waarde vanuit de counter.dat en wordt er dus niks opgehoogd.
Weet iemand hoe ik toch de functie kan gebruiken, zodat en waarde a opgehoogd wordt en waarde b, die gelijk blijft, opnieuw neergezet wordt.:)
Of een geheel andere oplossing?
ps. counter.dat ziet er initieel zo uit
Het is dus een counter naar de hoeveelheid clicks.
Deze manier (code 1) werkt, maar is omslachtig. Zoals je ziet zit er in elke if statement eenzelfde functie. Die wil ik dit dus uit laten voeren in een standaard functie linklog() (zie code 2)
Wat de functie doet, is dat ie de hele counter.dat opnieuw opbouwt.
Het probleem is als ik de functie gebruik, dat hij de includes niet meer kent. En dus
niks wegschrijft, alleen de waarde a hoogt hij 1 op, maar waarde b krijgt opeens geen waarde toegekend en gaat dus van de initiële waarde naar niks (leeg dus).
Zet je nu ook die include in de function dan krijgen beide waarden de waarde vanuit de counter.dat en wordt er dus niks opgehoogd.
code:
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
| <?php // filename link.php if ($go == "forum") { include ("counter.dat"); $a++; $file=fopen ("counter.dat","w"); fputs($file, "<"); fputs($file, "?php $"); fputs($file, "a=$a; $"); fputs($file, "b=$b; ?"); fputs($file, ">"); fclose ($file); $url = "http://www.domein.nl/forum/"; } elseif ($go == "guestbook") { include ("counter.dat"); $b++; $file=fopen ("counter.dat","w"); fputs($file, "<"); fputs($file, "?php $"); fputs($file, "a=$a; $"); fputs($file, "b=$b; ?"); fputs($file, ">"); fclose ($file); $url = "http://www.domein.nl/guestbook/"; } else { $url = "#"; } Header("Location: $url"); ?> |
code:
1
2
3
4
5
6
7
8
9
| function linklog () { $file=fopen ("counter.dat","w"); fputs($file, "<"); fputs($file, "?php $"); fputs($file, "a=$a; $"); fputs($file, "b=$b; ?"); fputs($file, ">"); fclose ($file); } |
Weet iemand hoe ik toch de functie kan gebruiken, zodat en waarde a opgehoogd wordt en waarde b, die gelijk blijft, opnieuw neergezet wordt.:)
Of een geheel andere oplossing?
ps. counter.dat ziet er initieel zo uit
code:
1
2
3
4
5
6
7
| <?php // filename counter.dat $a=0; $b=0; ?> |