Punten systeem
ik wil een soort systeem maken (het liefst zonder mysql) die zorgt dat als je inlogt, je "saldo" weergegeven en met dat saldo kun je van de download pagina iets afhalen. Als je iet upload krijg je saldo erbij (waarmee je weer kunt downloaden). Is dit mogelijk, zo ja, wat is het begin?
Groetjes Degoudenclub
Groetjes Degoudenclub
Mysql installeren is het begin
Ok ik heb mysql, en nu? (en nog bedankt voor je snelle post :) )
Gewijzigd op 01/01/1970 01:00:00 door Thijn
laten we beginnen met een brainstorm. Aan de hand daarvan ga je kijken welke gegevens je allemaal op moet slaan.
Hierna ga je je database normaliseren en dan kan je beginnen met het uitspugen en toevoegen van data.
Laten we eens een opzetje maken
tabel users
id
nickname
emailadres
wachtwoord
nu mag jij verder!
Hierna ga je je database normaliseren en dan kan je beginnen met het uitspugen en toevoegen van data.
Laten we eens een opzetje maken
tabel users
id
nickname
emailadres
wachtwoord
nu mag jij verder!
Schrijf in een kladblok bestand (of in commentaar in je webeditor) je tabel structuur. Dus alle benodigde tabellen, velden, etc. etc. (dit geeft meteen overzicht). Denk dus je systeem van te voren uit.
Hierna ga je het systeem schrijven. Een inlogpagina, registreerpagina, uitlogpagina, downloadpagina, uploadpagina, etc. etc. lijkt me in jouw geval een goed begin.
Hierna ga je het systeem schrijven. Een inlogpagina, registreerpagina, uitlogpagina, downloadpagina, uploadpagina, etc. etc. lijkt me in jouw geval een goed begin.
Ik ben niet echt goed in mysql (ik weet er eigenlijk helemaal niks vanaf).
Hoe moet dit precies? Ik bedoel dan, ik weet wel hoe je tabellen erbij moet maken, maar dan verder?
Hoe moet dit precies? Ik bedoel dan, ik weet wel hoe je tabellen erbij moet maken, maar dan verder?
Gewijzigd op 01/01/1970 01:00:00 door Thijn
Tabellen zijn de delen in een database. In die tabellen kun je gegevens opslaan, dat doe je in velden. Velden zijn dus weer delen in tabellen, waar je de gegevens precies onder een bepaalde naam op kunt slaan.
Denk gewoon goed na hoe je je systeem wil hebben (wat moet ik allemaal opslaan bij de registratie, wat heb ik nodig voor het inloggen, hoe wil ik het gaan doen met het down- en uploaden).
Denk gewoon goed na hoe je je systeem wil hebben (wat moet ik allemaal opslaan bij de registratie, wat heb ik nodig voor het inloggen, hoe wil ik het gaan doen met het down- en uploaden).
Ok, tot zover snap ik het. Maar hoe moet ik ervoor zorgen dat als je iets down- of upload je saldo omlaag of omhoog gaat? (mischien een simpel script).
Via een query je tabel met daarin de juiste gegevens updaten. Dat doe je via UPDATE. Voorbeeldje:
Ik update hier de tabel 'tabel'. Ik verander het veld saldo van ID = '1' naar hetzelfde saldo+1. Dit zou dus voor het uploaden gelden, het downloaden is saldo-1 ;).
Ik update hier de tabel 'tabel'. Ik verander het veld saldo van ID = '1' naar hetzelfde saldo+1. Dit zou dus voor het uploaden gelden, het downloaden is saldo-1 ;).
Maar hoe zet je dit script precies in PHP?
Bijvoorbeeld: ik druk op een link en er moet saldo afgehaalt worden, hoe ziet het script er dan uit (globaal).
Bijvoorbeeld: ik druk op een link en er moet saldo afgehaalt worden, hoe ziet het script er dan uit (globaal).
Hoogstwaarschijnlijk zal de link dan een $_GET moeten bevatten. Anders zal het alleen al bij het laden van die pagina geüpload worden.
Zoiets? Je zult nog wel wat moeten sleutelen, omdat hier natuurlijk niet de juiste dingetjes in worden gebruikt (denk aan de tabelnaam, etc.).
@Jonathan: Tuurlijk, joh. Korter, met een aantal enters, right? We zitten hier niet ingewikkeld te joinen, laat die enters dus maar achterwegen. (Als je hier al het overzicht verliest.....)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
if(isset($_GET['w'])) {
if($_GET['w'] == "d") {
$uQuery = "UPDATE tabel SET saldo = saldo-1 WHERE id = '1'";
$uResult = mysql_query($uQuery);
if($uResult) {
// succesvol
} else {
// error, vang mysql_error() af
}
} elseif($_GET['w'] == "u") {
$uQuery = "UPDATE tabel SET saldo = saldo+1 WHERE id = '1'";
$uResult = mysql_query($uQuery);
if($uResult) {
// succesvol
} else {
// error, vang mysql_error() af
}
}
}
?>
if(isset($_GET['w'])) {
if($_GET['w'] == "d") {
$uQuery = "UPDATE tabel SET saldo = saldo-1 WHERE id = '1'";
$uResult = mysql_query($uQuery);
if($uResult) {
// succesvol
} else {
// error, vang mysql_error() af
}
} elseif($_GET['w'] == "u") {
$uQuery = "UPDATE tabel SET saldo = saldo+1 WHERE id = '1'";
$uResult = mysql_query($uQuery);
if($uResult) {
// succesvol
} else {
// error, vang mysql_error() af
}
}
}
?>
Zoiets? Je zult nog wel wat moeten sleutelen, omdat hier natuurlijk niet de juiste dingetjes in worden gebruikt (denk aan de tabelnaam, etc.).
@Jonathan: Tuurlijk, joh. Korter, met een aantal enters, right? We zitten hier niet ingewikkeld te joinen, laat die enters dus maar achterwegen. (Als je hier al het overzicht verliest.....)
Gewijzigd op 01/01/1970 01:00:00 door Jesper Diovo
Ik heb een script gevonden die het script van jouw gebruikt, kan ik hier iets mee? http://www.phphulp.nl/php/scripts/3/122/
Je kunt het gebruiken, alleen wel wat ombouwen. Het is nog een beetje oud, en or die() is lomp :-P. Ook zul je de tabel die gemaakt wordt nog wat uit moeten breiden.
ok, alvast bedankt! Ik ga nu even aan het script "sleutelen"
Ik kom er niet uit, als ik het script overneem (en een database connectie heb) goet hij niks? Ik heb wel de goede tabellen en databases, hoe kan dit?
Zorg eerst dat je de benodigde PHP- en SQL-kennis in huis hebt: tutorial
Daarna is het een fluitje van een cent!
Daarna is het een fluitje van een cent!
Ik heb deze tabellen tot nu toe:
Veld Type Null Standaardwaarde
id int(8) Ja NULL
naam varchar(50) Ja
wachtwoord varchar(75) Ja
saldo int(2) Ja 10
Is dit al een mooi begin?
Veld Type Null Standaardwaarde
id int(8) Ja NULL
naam varchar(50) Ja
wachtwoord varchar(75) Ja
saldo int(2) Ja 10
Is dit al een mooi begin?
Het id wil je vast nog een auto_increment meegeven, dat zul je dus even moeten toevoegen. Een wachtwoord sla je op als md5- of sha1-hash, die zijn 32 en 40 karakters lang. Een VARCHAR(32) of een VARCHAR(40) is dus meer dan genoeg. Opzich was een CHAR beter geweest, maar daar kan MySQL niet (goed) mee uit de voeten.
1 tabelletje is leuk en aardig, maar dat heeft nog vrijwel niks met normaliseren te maken. Dat gaat namelijk over het héle datamodel en niet over een fractie van het datamodel. Je bent dus nog lang niet klaar!
1 tabelletje is leuk en aardig, maar dat heeft nog vrijwel niks met normaliseren te maken. Dat gaat namelijk over het héle datamodel en niet over een fractie van het datamodel. Je bent dus nog lang niet klaar!




