Punten verdienen
ik wil op mijn site een script waardoor er een punt word toegevoegd aan je profiel als je op een link klikt, hoe maak ik dit??
Je dient meer specificaties vrij te geven.
- database tabel layout
- hoe de link eruit uitziet om het te realiseren
- eventuele controles welke uitgevoerd moeten worden
- wanneer exact wel +1 en wanneer niet, want je kan immers 1000x op een link klikken binnen 1 seconde, dus wil je per uur / per dag / per week / per maand / per wat eigenlijk.
Als je nog info mist vraag het gerust :-)
Alvast bedankt.
En waarom maak je het zelf niet, het zijn denk ik 10 regels.
Een paar hints dan maar:
http://www.php.net/declare
om vast te leggen met hoeveel punten de punten opgehoogd moeten worden
En dan
http://www.w3schools.com/SQl/sql_update.asp
en rekenen kan je met
+ - / *
kheb gwn niet erg veel verstand van php -.-
Hoeft ook niet, je kan het gaandeweg toch leren.......
ik probeerde antwoorden te geven op je vragen hoor.., ksnap al die namen en termen alleen nog niet egt goed
lees dan de inhoud van die links..
mn Engels is slecht.. net als de meeste vertaalmachines..
Het is een zeer simpele pagina..
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
if(!empty($_GET['id']) && ctype_digit($_GET['id']))
{
if(mysql_num_rows(mysql_query("SELECT id FROM gebruikerstabel WHERE id = ".$_GET['id'])))
{
mysql_query("UPDATE punten SET total = total +1 WHERE user_id = ".$_GET['id']);
echo 'Punt erbij!';
}
else
{
echo 'Gebruikers ID niet gevonden!';
}
}
else
{
echo 'Geen user ID meegegeven!';
}
?>
Let wel zelf even op dat je een tijdsbeveiliging erbij zet, nu kun je de link de hele tijd aanroepen.. Maar goed, ga niet alles voorkouwen...
if(!empty($_GET['id']) && ctype_digit($_GET['id']))
{
if(mysql_num_rows(mysql_query("SELECT id FROM gebruikerstabel WHERE id = ".$_GET['id'])))
{
mysql_query("UPDATE punten SET total = total +1 WHERE user_id = ".$_GET['id']);
echo 'Punt erbij!';
}
else
{
echo 'Gebruikers ID niet gevonden!';
}
}
else
{
echo 'Geen user ID meegegeven!';
}
?>
Let wel zelf even op dat je een tijdsbeveiliging erbij zet, nu kun je de link de hele tijd aanroepen.. Maar goed, ga niet alles voorkouwen...
Op deze manier maak je je er wel héél goedkoop van af....
Thx voor het script, maar hoe geef ik het ID mee..? ik heb al vaker dingen geprobeerd en die werken niet omat ik slecht ben in php.. Ik ben momenteel al aan het leren voor php maar echt goed lukt het niet.. ik hoop dat je me dat ook kunt vertellen..
srry, maar waar moet die staan in die andere code? :$
ja in die andere code
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
<?
echo "<a href=\"javascript:beheer('Weet je zeker dat je jezelf een punt wilt afnemen?','index.php?pagina=leden/punt002&actie=punt002&id=".$_GET['id']."')\">Punt afnemen</a>";
if($_GET['actie'] == "punt002")
{
$select = "SELECT * FROM leden_gegevens WHERE id = '".$_GET['id']."'";
$query = mysql_query($select)or die(mysql_error());
if(mysql_num_rows($query) == 0)
{
echo "<br>";
echo "<div class=\"titel\"><b>Fout</b></div>";
echo "<hr>";
echo "<div class=\"bericht\">Deze gebruikersnaam bestaat niet... <a href=\"javascript:history.go(-1)\">Ga terug</a></div>";
}
else
{
$update = "UPDATE leden_gegevens SET punten = punten -1 WHERE id = '".$_GET['id']."'";
mysql_query($update)or die(mysql_error());
echo "<br>";
echo "<div class=\"titel\"><b>Punten</b></div>";
echo "<hr>";
echo "<div class=\"bericht\">Je hebt met succes dit lid een Punt afgenomen... <a href=\"javascript:history.go(-1)\">Ga terug</a></div>";
}
}
else
{
echo "<br>";
echo "<div class=\"titel\"><b>Fout</b></div>";
echo "<hr>";
echo "<div class=\"bericht\">Er is iets foutgelopen... <a href=\"javascript:history.go(-1)\">Ga terug</a></div>";
}
?>
echo "<a href=\"javascript:beheer('Weet je zeker dat je jezelf een punt wilt afnemen?','index.php?pagina=leden/punt002&actie=punt002&id=".$_GET['id']."')\">Punt afnemen</a>";
if($_GET['actie'] == "punt002")
{
$select = "SELECT * FROM leden_gegevens WHERE id = '".$_GET['id']."'";
$query = mysql_query($select)or die(mysql_error());
if(mysql_num_rows($query) == 0)
{
echo "<br>";
echo "<div class=\"titel\"><b>Fout</b></div>";
echo "<hr>";
echo "<div class=\"bericht\">Deze gebruikersnaam bestaat niet... <a href=\"javascript:history.go(-1)\">Ga terug</a></div>";
}
else
{
$update = "UPDATE leden_gegevens SET punten = punten -1 WHERE id = '".$_GET['id']."'";
mysql_query($update)or die(mysql_error());
echo "<br>";
echo "<div class=\"titel\"><b>Punten</b></div>";
echo "<hr>";
echo "<div class=\"bericht\">Je hebt met succes dit lid een Punt afgenomen... <a href=\"javascript:history.go(-1)\">Ga terug</a></div>";
}
}
else
{
echo "<br>";
echo "<div class=\"titel\"><b>Fout</b></div>";
echo "<hr>";
echo "<div class=\"bericht\">Er is iets foutgelopen... <a href=\"javascript:history.go(-1)\">Ga terug</a></div>";
}
?>
In de url staat ".$_GET['id']." maar hoe kan de computer herkennen welk ID je hebt want nu doet ie et niet en blijft die plaats leeg en word de link dus gwn zo: index.php?pagina=leden/punt002&actie=punt002&id=)\
Kan iemand me nog helpen?
Gewijzigd op 01/01/1970 01:00:00 door Lord Gaga
Waarom onnodig escapen als het ook zo kan:
echo '<div class="bericht">Deze gebruikersnaam bestaat niet... <a href="javascript:history.go(-1)">Ga terug</a></div>';
Ik heb niet veel verstand van javascript maar volgensmij is history geen goede functie :p
Edit::
Je had veel onnodige quotes(' en ")
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
<?
echo "<a href=\"javascript:beheer('Weet je zeker dat je jezelf een punt wilt afnemen?','index.php?pagina=leden/punt002&actie=punt002&id=".$_GET['id']."')\">Punt afnemen</a>";
if($_GET['actie'] == "punt002")
{
$select = "SELECT * FROM leden_gegevens WHERE id = '".$_GET['id'];
$query = mysql_query($select)or die(mysql_error());
if(mysql_num_rows($query) == 0)
{
echo "<br>";
echo "<div class=\"titel\"><b>Fout</b></div>";
echo "<hr>";
echo "<div class=\"bericht\">Deze gebruikersnaam bestaat niet... <a href=\"javascript:history.go(-1)\">Ga terug</a></div>";
}
else
{
$update = "UPDATE leden_gegevens SET punten = punten -1 WHERE id = '".$_GET['id'];
mysql_query($update)or die(mysql_error());
echo "<br>";
echo "<div class=\"titel\"><b>Punten</b></div>";
echo "<hr>";
echo "<div class=\"bericht\">Je hebt met succes dit lid een Punt afgenomen... <a href=\"javascript:history.go(-1)\">Ga terug</a></div>";
}
}
else
{
echo "<br>";
echo "<div class=\"titel\"><b>Fout</b></div>";
echo "<hr>";
echo "<div class=\"bericht\">Er is iets foutgelopen... <a href=\"javascript:history.go(-1)\">Ga terug</a></div>";
}
?>
echo "<a href=\"javascript:beheer('Weet je zeker dat je jezelf een punt wilt afnemen?','index.php?pagina=leden/punt002&actie=punt002&id=".$_GET['id']."')\">Punt afnemen</a>";
if($_GET['actie'] == "punt002")
{
$select = "SELECT * FROM leden_gegevens WHERE id = '".$_GET['id'];
$query = mysql_query($select)or die(mysql_error());
if(mysql_num_rows($query) == 0)
{
echo "<br>";
echo "<div class=\"titel\"><b>Fout</b></div>";
echo "<hr>";
echo "<div class=\"bericht\">Deze gebruikersnaam bestaat niet... <a href=\"javascript:history.go(-1)\">Ga terug</a></div>";
}
else
{
$update = "UPDATE leden_gegevens SET punten = punten -1 WHERE id = '".$_GET['id'];
mysql_query($update)or die(mysql_error());
echo "<br>";
echo "<div class=\"titel\"><b>Punten</b></div>";
echo "<hr>";
echo "<div class=\"bericht\">Je hebt met succes dit lid een Punt afgenomen... <a href=\"javascript:history.go(-1)\">Ga terug</a></div>";
}
}
else
{
echo "<br>";
echo "<div class=\"titel\"><b>Fout</b></div>";
echo "<hr>";
echo "<div class=\"bericht\">Er is iets foutgelopen... <a href=\"javascript:history.go(-1)\">Ga terug</a></div>";
}
?>
Je had veel onnodige quotes(' en ")
Gewijzigd op 01/01/1970 01:00:00 door /home/joost
Homepage
dan heb je die link die haalt die persoon zijn id uit de database je klikt op de link en dan staat het id in de link die je er vervolgens weer met $GET uit kan halen
vergeet niet mysql_real_escape_string() om $_GET
Gewijzigd op 01/01/1970 01:00:00 door - Ariën -
Lees wel al je posts door. Het antwoord is volgens mij al gegeven. Verder is je script lek -> sql-injection. Nooit zomaar, onbeveiligd, input van een cliënt in een query zetten.
Aar schreef op 27.08.2009 15:35:
Jawel hoor, die bestaat hoor Joost.
Ik zeg toch niet dat het niet bestaat, ik zeg alleen dat hij onnodig escaped :p