Validatie key gebruiken voor uploaden | ASP

Pagina: 1
Acties:

  • osnatool
  • Registratie: Mei 2003
  • Laatst online: 17-10-2014
We zijn bezig om op school een spelletje te maken, het is bijna af maar er moet een centrale database die op een site benaderbaar is een score kunnen worden upgeload door de gebruiker. Om fraude enigzins tegen te gaan hebben we een validation key laten maken voor de score. dit is een simpele berekening die op de score wordt uitgevoerd. Nu willen we die gaan gebruiken om dus scores te kunnen gaan uploaden, ik zit met het probleem hoe je dat checkt in ASP. ik ben vrij nieuw met asp en zou graag willen weten wat ik fout doe hier:"
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<%

gebruikersnaam = TRIM( Request( "naam" ) )
gebruikersscore = TRIM( Request( "score" ) )
validatie = TRIM( Request( "validatie" ) )

IF validatie = gebruikersscore + 10 THEN

Set Con = Server.CreateObject( "ADODB.Connection" )
Con.Open "ihs2a"

sqlString = "INSERT INTO score ( naam, score ) VALUES ('" & gebruikersnaam &"','"  & gebruikersscore &"')"

Con.Execute sqlString
%>

De score is upgeload

<%
END IF
%>

Er komt steeds geen melding en de score wordt niet in de database geschreven. Hiervoor hadden we nog geen validation key en toen werkte het wel goed. Zou het kunnen liggen aan mijn opmaak van de IF.

modbreak: en die mooie opmaak doe je dus met [code=asp] en [/code] :)

[ Voor 16% gewijzigd door curry684 op 18-06-2003 22:42 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

En wat is de exacte foutmelding?

* gorgi_19 gaat gokken, momentje..
5.8 [Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.

NTFS-rechten goed zetten. Dat wil zeggen: IUSR_computernaam account iig schrijfrechten geven op de folder waar de database in staat. Ook moet gecontroleerd worden of de database niet readonly is. Dit kan gebeuren als een database bijvoorbeeld van een cd-rom gekopieerd is.

Een KB artikel, waarin alles goed uitgelegd staat http://support.microsoft....spx?scid=KB;en-us;q175168

Zie verder ook:

http://www.webwizguide.info/asp/faq/ODBC_drivers.asp
http://www.webwizguide.info/asp/faq/server_permissions.asp

Een andere mogelijkheid is dat de database ‘gelocked’ is. Dit kan gebeuren als je bijvoorbeeld de database nog open hebt staan; door middel van bijvoorbeeld Microsoft Access. Dit mag niet; Microsoft Access moet afgesloten zijn.

[ Voor 86% gewijzigd door gorgi_19 op 18-06-2003 22:44 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • osnatool
  • Registratie: Mei 2003
  • Laatst online: 17-10-2014
geen echte foutmelding alleen de score wordt niet geupt omdat op een of andere manier de validatie key niet goed is vermoed ik. Daarom heb ik de berekening ook effe makkelijker gemaakt maar doet het nog steeds niet goed. Als ik er een else bij neerzet dan geeft ie weer wat er in de else staat dus hij is het niet eens met de IF

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

osnatool schreef op 18 June 2003 @ 22:48:
geen echte foutmelding alleen de score wordt niet geupt omdat op een of andere manier de validatie key niet goed is vermoed ik. Daarom heb ik de berekening ook effe makkelijker gemaakt maar doet het nog steeds niet goed. Als ik er een else bij neerzet dan geeft ie weer wat er in de else staat dus hij is het niet eens met de IF
In dat geval heb je de cursus debuggen nodig.. :+
4.0 Debuggen

Het debuggen van een asp-applicatie wordt door veel mensen als lastig ervaren, terwijl dit helemaal niet zo hoeft te zijn. Om een probleem op te lossen, is het van belang om er achter te komen wat er fout gaat. Om achter een fout te komen, hanteer ik altijd het volgende stappenplan:

1. Controleer op Norton Antivirus.
Zet Script Blocking uit; deze zorgt er voor dat een pagina's niet meer laden. Zie hiervoor ook http://service1.symantec....6a16006afce6?OpenDocument

2. Controleer of een simpele pagina het wel doet.
Een goed voorbeeld voor VBScript is:
ASP:
1
2
3
<%
Response.Write "Hello world"
%>

Als je dit niet op je scherm krijgt, dan heb je geen probleem met je code, maar zit er iets anders fout. Een mogelijke fout kan bijvoorbeeld de Script Blocking van Norton Antivirus zijn.

3. Zorg dat je de foutmelding ziet.
Standaard staat Internet Explorer zo ingesteld, dat je alleen 'vriendelijke foutmeldingen'; ziet, dus zonder errors en code, terwijl je dit nu net wel wil zien. Je kan deze optie uitzetten door:

Tools > Internet Options > Advanced > Show Friendly http Errors uitvinken (staat onder het kopje 'browsing';)


4. Comment eventuele "On Error Resume Next"
Dit statement zorgt er voor dat fouten genegeerd worden, terwijl je ze juist wel wilt zien.
Plaats er daarom een single quote voor (zodat het als commentaar en niet als statement wordt gezien) of haal het tijdens het debuggen weg. Immers, de fouten moeten nu juist te voorschijn komen.

Normaal:
ASP:
1
2
3
    Option Explicit
    Dim strQuery 
    strQuery = "Select * FROM tabelnaam"

'Debugmodus'
ASP:
1
2
3
    ' Option Explicit
    Dim strQuery 
    strQuery = "Select * FROM tabelnaam"


5. Zorg dat je de "foute" variabele op het scherm krijgt
PHP kent error reporting, ASP.Net heeft het Tracing object; asp heeft niets van dit alles.
Wil je debuggen, dan zul je het op de handmatige wijze moeten doen door middel van Response.Write:
ASP:
1
2
3
4
5
Dim strSQL
strSQL = "Er gaat iets fout in dit SQL statement"

Response.Write strSQL       ' Zet het statement op je scherm
Response.End            ' Eindig de uitvoering van je script.

6. Tik de foutmelding, eventueel gedeelten daarvan, in op Google.
Je bent niet de eerste met de fout! Zorg er wel voor dat je de engelse foutmelding intikt. Google is een enorm snelle bron om oplossingen te vinden, met voorbeeldcode.
Krijg je geen foutmelding, controleer dan je code op oneindige loops.

[ Voor 9% gewijzigd door gorgi_19 op 18-06-2003 22:53 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-08 23:56

Janoz

Moderator Devschuur®

!litemod

Een string is iets anders dan een getal. Een string met daarin een getal dus ook. Wil je rekenen dan zul je er eerst een 'getal' van moeten maken ;)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Janoz schreef op 18 June 2003 @ 23:23:
Een string is iets anders dan een getal. Een string met daarin een getal dus ook. Wil je rekenen dan zul je er eerst een 'getal' van moeten maken ;)
Ik betwijfel of VBScript dat snapt; die kent in principe alleen "Variant". :X

idd kan je wel voor de zekerheid casten met CInt of CStr.

[ Voor 18% gewijzigd door gorgi_19 op 18-06-2003 23:29 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 21:53
Zou ik wel doen, heb ik ook wel eens problemen mee gehad, en dan vooral met variabelen die uit verschillende bronnen komen (URL, DB, XML)

Roomba E5 te koop


  • osnatool
  • Registratie: Mei 2003
  • Laatst online: 17-10-2014
heb het al heb de Cint functie gebruikt bedankt
Pagina: 1