Ga naar inhoud
  • 0

PHP & MySQL: gegevens uit database vergelijken


anoniem

Vraag

ik ben net begonnen met php als opdracht voor mijn stage. ik ben bezig met het ontwikkelen van een online toetsingssysteem. met behulp van dit systeem kun je toetsen afnemen en worden alle gegevens opgeslagen in een mysql tabel de toets bestaat uit drie pagina's: de aanmeld pagina, de toets pagina en de resultaten pagina. om te voorkomen dat iemand tweemaal een toets kan doen wil ik een beveiliging inbouwen. deze beveiliging controleerd of iemand al eerder een toets gedaan heeft en ziet er als volgt uit na het afronden van de toets worden opgeslagen: naam, klas, antwoorden en resultaat bij het starten van de toets wordt bij het aanmelden gecontroleerd of degene die zich aanmeld al voorkomt in de database. indien dat zo is wordt het opbouwen van de pagina afgebroken met [ die (toets al gedaan) ] ik wil graag weten hoe je zo'n controle uitvoert[/b]
Link naar reactie

7 antwoorden op deze vraag

Aanbevolen berichten

  • 0
Scriptrequests worden over het algemeen niet echt gewaardeerd. Probeer liever de code te geven en beschrijf het probleem dat je ermee hebt. Hoe dan ook, ik zou als ik jou was ervoor zorgen dat je iedereen die meedoet uniek kunt identificeren, bijvoorbeeld met een collegekaartnummer of studentnummer. Aan dit nummer hang je alle informatie van die persoon, dit hoeft dus maar één keer ingevoerd te worden. Elke volgende keer volstaat in principe het unieke nummer evt icm een wachtwoord. In een andere tabel plaats je de resultaten icm het unieke nummer, via een goede query is vervolgens heel makkelijk te bepalen of een toets al gedaan is. - Bas
Link naar reactie
  • 0
[code:1:fadfb4923e] mysql_connect('localhost','root','')or die("Sorry, database Problems. <a href=\"javascript:history.go(-1);\">probeer het nog eens</a>."); mysql_select_db('toetsgegevens'); $CONTROLE = ("SELECT vraag1 FROM toetsgegevens WHERE voornaam = $voornaam AND achternaam = $achternaam"); if ($controle) die ("je hebt de toets al eens uitgevoerd <a href=\"javascript:history.go(-1);\">probeer het nog eens</a>.");[/code:1:fadfb4923e] wat ik zoek is een manier om een gegeven uit de database op te slaan als variabele. in dit geval de inhoud van vraag1 aan de hand van voor en achternaam
Link naar reactie
  • 0
ik kom er nog niet uit. ik heb de volgende code nu [code:1:024d2b0215] $controle = failed; //standaardwaarde; echo $controle //failed; mysql_connect('localhost','root','')or die (melding); mysql_select_db('toetsgegevens'); $query = "SELECT vraag1 FROM toetsgegevens WHERE voornaam='$voornaam' AND achternaam='$achternaam'"; echo $query // $voornaam en $achternaam worden correct ingevoerd; $controle = mysql_query($query); print ("controle: $controle") // $controle blijft leeg; if ($controle) die ("je hebt de toets al eens uitgevoerd."); [/code:1:024d2b0215] ik wil graag dat de waarde van "vraag1" wordt opgeslagen als de variabele $controle maar inplaats van die waarde wordt er een lege waarde opgeslagen terwijl er wel een waarde in staat
Link naar reactie
  • 0
[quote:6afdf1332e="snotspill"]ik kom er nog niet uit. ik heb de volgende code nu [code:1:6afdf1332e] $controle = failed; //standaardwaarde; echo $controle //failed; mysql_connect('localhost','root','')or die (melding); mysql_select_db('toetsgegevens'); $query = "SELECT vraag1 FROM toetsgegevens WHERE voornaam='$voornaam' AND achternaam='$achternaam'"; echo $query // $voornaam en $achternaam worden correct ingevoerd; $controle = mysql_query($query); print ("controle: $controle") // $controle blijft leeg; if ($controle) die ("je hebt de toets al eens uitgevoerd."); [/code:1:6afdf1332e] ik wil graag dat de waarde van "vraag1" wordt opgeslagen als de variabele $controle maar inplaats van die waarde wordt er een lege waarde opgeslagen terwijl er wel een waarde in staat[/quote:6afdf1332e] Het resultaat van mysql_query is een [url=http://nl.php.net/manual/nl/language.types.resource.php]resource[/url] Als de query syntaxfouten bevat, is het resultaat FALSE. De query zal waarschijnlijk wel goed gaan (mits alle velden zo heten en de table bestaat) en dat is hetgene wat je test. Wat je [b:6afdf1332e]wil[/b:6afdf1332e] testen is of de query ook resultaten heeft. Dus: [code:1:6afdf1332e] <?php if( mysql_num_rows($controle) > 0 ) { echo "Je hebt de toets al uitgevoerd"; } else { // ga verder met de toets } ?> [/code:1:6afdf1332e]
Link naar reactie

Doe mee aan dit gesprek

Om te reageren, moet je eerst inloggen. Dit doe je door rechtsboven op inloggen te klikken.

Gast
Antwoord op deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...