Tjenare!
Vi håller på med en webbutik och stöter på problem mest hela tiden. Men vi tror inte det är kodproblem utan har något med databasen att göra. Tex, när man har lagt in data ifrån ett registreringsformulär med en SQL-sats och stänger ner webläsaren och kör samma igen för att lägga in ny data igen så fungerar det inte utan då måste man radera alla tempfiler som webläsaren skapat. Sen kan man lägga in en gång till osv. Varför?
Även på vår inloggningssida har vi problem. Vi har tänkt på följande sätt:
När användaren matat in sitt användarnamn och lösenord i formuläret så skickar vi detta till databasen för att jämföra om det finns någon träff eller ej. Finns det en träff så skickas värdet 1 tillbaka, om inte så skickas värdet 0 tillbaka. Detta för att vi sedan skall kunna kontrollera utgången av frågan i en if sats. Men det konstiga här är att om vi matar in samma värden i "Användarnamn och lösenord" så skickas det någon gång tillbaka värdet 1 och för det mesta värdet 0. Varför detta?
När vi ska lägga in data från registreringsfomuläret så har vi problem med det 2 sista attributet Lösenord. När man trycker på submit-knappen så kommer
Unknown column 'losen' in 'field list' upp men vi har kontrollerat databastabellen otaliga gånger och losen finns där och ligger rätt placerad. Vad kan detta bero på?
Kan det vara något fel med vår databas eller?
Skickar med koden så hade varit kanon om någon hade kunnat kolla igenom den. Så att vi försäkrar oss om att det inte har med koden att göra:
<%
Dim vcompany, vfnamn, venamn, vgata, vpnummer, vp_ort, vtfn, vmob, vtelefax, vepost, vcountry, vp_nr, vp_nr2, vanamn, vlosen, vlosen2
Set conn = createobject("ADODB.Connection")
conn.open = "DRIVER={MySQL ODBC 3.51 Driver};"_
& "SERVER=localhost;"_
& "DATABASE=CARO;"_
& "UID=root;PWD=; OPTION=16384;"
vcompany = Replace(Request.Form("Foretag"), "'", "''")
vfnamn = Replace(Request.Form("Fornamn"), "'", "''")
venamn = Replace(Request.Form("Efternamn"), "'", "''")
vgata = Replace(Request.Form("Postadress"), "'", "''")
vpnummer = Replace(Request.Form("Postnummer"), "'", "''")
vp_ort = Replace(Request.Form("Postort"), "'", "''")
vtfn = Replace(Request.Form("Tele"), "'", "''")
vmob = Replace(Request.Form("Mobil"), "'", "''")
vtelefax = Replace(Request.Form("Fax"), "'", "''")
vepost = Replace(Request.Form("E-mail"), "'", "''")
vcountry = Replace(Request.Form("Land"), "'", "''")
vp_nr = Replace(Request.Form("Persnummer1"), "'", "''")
vp_nr2 = Replace(Request.Form("Persnummer2"), "'", "''")
vanamn = Replace(Request.Form("Anvnamn"), "'", "''")
vlosen = Replace(Request.Form("Password1"), "'", "''")
'vlosen2 = Replace(Request.Form("Password2"), "'", "''")
If Len(request.form("Anvnamn")) < 1 OR Len(request.form("Fornamn")) < 1_
OR Len(request.form("Efternamn")) < 1 OR Len(request.form("Postadress")) < 1 OR Len(request.form("Postnummer")) < 1_
OR Len(request.form("Postort")) < 1 OR Len(request.form("Tele")) < 1 OR Len(request.form("E-mail")) < 1_
OR Len(request.form("Persnummer1")) < 1 OR Len(request.form("Persnummer2")) < 1 OR Len(request.form("Password1")) < 1_
OR Len(request.form("Password2")) < 1 then
tomma_falt = "true"
End if
if NOT isnumeric(request.form("Personnummer1")) OR NOT isnumeric(request.form("Personnummer2")) then
p_nr_fel = "true"
end if
if NOT isnumeric(request.form("Postnummer")) then
pnummer_fel = "true"
end if
If InStr(1,vepost,"@",vbTextCompare) = 0 OR InStr(1,vepost,".",vbTextcompare) = 0 Then
epost_fel = "true"
End If
If (request.form("Password1")) <> (request.form("Password2")) then
password_fel ="true"
end if
If p_nr_fel ="true" OR pnummer_fel = "true" OR epost_fel = "true" OR password_fel ="true" OR tomma_falt = "true" then
response.redirect "registrering.asp?status=false"
else
strSQL = "INSERT INTO customer (company, fnamn, enamn, gata, pnummer, p_ort, tfn, mob, telefax, epost, country, p_nr, p_nr2, anamn, losen, losenigen) VALUES ('" &vcompany& "','" &vfnamn& "','" &venamn& "','" &vgata& "','" &vpnummer& "','" &vp_ort& "','" &vtfn& "','" &vmob& "','" &vtelefax& "','" &vepost& "','" &vcountry& "','" &vp_nr& "','" &vp_nr2& "','" &vanamn& "','" &vlosen& "','" &vlosen2& "')"
conn.Execute(strSQL)
conn.Close
Set conn = Nothing
End if
%>