webForumDet fria alternativet

Nu händer det grejer, men behöver mer hjälp

ASP

18 svar · 492 visningar · startad av BulletBoyCrime

Medlem sedan mars 2003970 inlägg
Frågan#1

Halloj!
Nu har jag börjat ta tag i det här med registreringen och nu är det någon kod som strular (tell me something i dont know) :OO
iallafall, så här ser felmesset ut:

Kompileringsfel i Microsoft VBScript error '800a0409'

Oavslutad strängkonstant

/crimea bay/newcriminal.asp, line 20

strSQL = "Insert Into players (name, password) Values ('" & name & "', '" & pass & "')
--------------------------------------------------------------------------------------^

Och här är koden:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Crimea Bay -- //Your dreams come true when you fight for them// </TITLE>
<LINK REL=STYLESHEET HREF="crimea.css" TYPE="text/css">
<META NAME="Author" CONTENT="Vincenzo, Don Ramon">
<META NAME="Keywords" CONTENT="Criminals, Servergame, Strategic game with a crime theme, Shotgun, Machinegun, Don Ramon, Something, Drugs, Prostitution, Fictive Crime, Live out your criminal side">
<META NAME="Description" CONTENT="Work your way up among the hotshots and dodge the cops in this strategic game with a mafia crime theme.">
</HEAD>

<BODY bgcolor=#33CCFF text=#000000 link=#000000 alink=#000000 vlink=#000000>
<%
Dim name, pass, strSQL
name = Request.Form("alias")
pass = Request.Form("pass")

   Set Connect = Server.CreateObject("ADODB.Connection")
  Connect.Open "Driver={mySQL ODBC 3.51 Driver};Server=localhost;Option=16834;Database=crimea;"
strSQL = "Insert Into players (name, password) Values ('" & name & "', '" & pass & "')
Connect.Execute( strSQL)
Connect.Close

%>
<TABLE>
<TR>
	<TD background="logo.jpg" width=424 height=238>
	<SPAN ID="header"><BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Crimea Bay</SPAN></TD>
	<TD>
	<TABLE>
	<TR>
		<TD width=344 height=127 background="regbar.jpg">
		&nbsp;&nbsp;&nbsp;
		<FONT FACE="Westminster" SIZE=1><I><B>
		<A HREF="crimear.asp">Start</A>
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
		<A HREF="registerr.asp">Register</A>
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="rulesr.asp">Rules</A>
		</B>
		</I></FONT>
		</TD>
	</TR>
	<TR>
		<TD height=124 width=344 background="designbar1.jpg"></TD>
	</TR>
	</TABLE>
	</TD>
	</TR>
	</TABLE>
	<TABLE bordercolor=black border=0>
	<TR>
		<TD width=400></TD>
		<TD width=500>
		<SPAN ID="header">
		<CENTER>
		<U>Done!</U>
		</CENTER>
		</SPAN>
		<BR><BR>
		<SPAN ID="text">
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;You can log in <A HREF="crimear.asp">here</A> now with your ciminal alias.
		</SPAN>
		</TD>
	</TR>
	</TABLE>
</BODY>
</HTML>

Här har ni själva ASPn

<%
Dim name, pass, strSQL
name = Request.Form("alias")
pass = Request.Form("pass")

   Set Connect = Server.CreateObject("ADODB.Connection")
  Connect.Open "Driver={mySQL ODBC 3.51 Driver};Server=localhost;Option=16834;Database=crimea;"
strSQL = "Insert Into players (name, password) Values ('" & name & "', '" & pass & "')
Connect.Execute( strSQL)
Connect.Close

%>

Som ni nog ser så har jag gjort en mycket liten grej ;) men den strular ändå :(

All hjälp är väldigt uppskattad!
:birp

Redigering:

Hmm......sorry om det blev lite mycket kod :r

Medlem sedan mars 20025 907 inlägg
#2
strSQL = "Insert Into players (name, password) Values ('" & name & "', '" & pass & "')"
Medlem sedan mars 2003970 inlägg
#3

Ah......små tecken får en lätt på fall :r
Tack! :birp
Nu ska jag väl börja expandera den §jr
Tack än en gång!

Medlem sedan mars 2003970 inlägg
#4

Fasen, nya felet kommer redan nu......
Databaskopplingen funkar, men inget läggs in i basen.....
Det är väl nåt fel med variablerna då llr :q

Medlem sedan mars 20015 287 inlägg
#5

När du testar, du är säker på att du postar formuläret till den sidan du visar? Är formnamnen rätt?

Testa skriv ut sqlfrågan och/ eller variablerna.

Medlem sedan apr. 2001246 inlägg
#6

precis! Gör som solbulle skrev:

<%
strSQL = "Insert Into players (name, password) Values ('" & name & "', '" & pass & "')"

response.write strSQL
response.end
%>
Medlem sedan mars 2003970 inlägg
#7

Det blir så här:

Insert Into players (name, password) Values ('', '')

Tomma variabler :l
Då får vi väl fixa det...............
Men jag är helt säker på att jag har postat det till rätt sida.
Jag är också rätt säker på att formnamnen är rätt...
Här är formuläret:

<FORM METHOD=POST ACTION="newcriminal.asp">
	 <SPAN ID="text">
        Criminal Alias: (max 20 characters)
		<BR><input type="text" size="20" name="alias"><BR><BR>Password: (max 20 characters)<BR><input type="password" size="20" name="pass"><BR><BR>
	    Title:<BR>
        <SELECT name="title">
		<option value="1">Hitman
		<option value="2">Spy
		<option value="3">Assassin
		<option value="4">Pimp
		<option value="5">Survivor
		<option value="6">Driver
		<option value="7">Lawyer
		<option value="8">Explosives Expert
		</SELECT><BR><BR>
		Group:<BR>
        <SELECT name="race">
        <option value="1">Aryan
		<option value="2">Nigger
		<option value="3">Latino
		<option value="4">Asian
		<option value="5">Dego
		<option value="6">Irish
		<option value="7">Mulatto
		</SELECT><BR><BR>
		Religion:<BR>
		<SELECT name="religion">
		<option value="1">Atheist
		<option value="2">Protestant
		<option value="3">Catholic
		<option value="4">Jew
        <option value="5">Muslim
		<option value="6">Buddhist
		</SELECT><BR><BR>
        Perk:
		<SELECT name="perk">
		<option value="1">A Natural (+1 in all skills)
        <option value="2">Incredible Discipline (+3 weapon skills, +3 honor, +3 driving skill)
		<option value="3">Martial Arts Fanatic (+6 close combat skill, +3 honor)
		<option value="4">Energized (+25 energy)
		<option value="5">Technical Genius (+5 explosive skill, +4 driving skill)
		<option value="6">Been in the business (+2 drugs skill, +2 weapon skills, +2 driving skills, +3 protect)
		<option value="7">Natural Lawyer (+9 legal skill)
		<option value="8">Low Bait (+5 hooker skills, +4 drug skills)
		<option value="9">Agent (+9 spy skills)
		</SELECT><BR><BR><BR>
		</SPAN>
		<HR>
		<SPAN ID="line">
	    <CENTER>
		Personal Information<BR><HR><BR>
		</CENTER>
		</SPAN>
		<SPAN ID="text">
		Full Name:<BR>
		<input type="text" name="fname" size="20"><BR><BR>
        Country:<BR>
		<input type="text" name="country" size="20">
		<BR><BR>
		</SPAN>
		<input type="reset" value="Erase Info">
		<input type="submit" value="Enter Info">
		</FORM>

Här är newcriminal.asp

<%
Dim name, pass, strSQL
name = Request.Form("alias")
pass = Request.Form("pass") 

   Set Connect = Server.CreateObject("ADODB.Connection")
  Connect.Open "Driver={mySQL ODBC 3.51 Driver};Server=localhost;Option=16834;Database=crimea;"
strSQL = "Insert Into players (name, password) Values ('" & name & "', '" & pass & "')"
Connect.Execute( strSQL)
Connect.Close

%>

Borde väl funka tycker man :q
Men jag är inte en hejare på detta heller, till skillnad från vissa av er ;)

Medlem sedan mars 20015 287 inlägg
#8

Det där verkar helt overkligt... ska ju fungera.

O fälten är givetvis ifyllda när du postar....

Medlem sedan mars 2003970 inlägg
#9

Japp.
Jag fyller i dem med alla de idiotiska namn jag kan komma på ;)
Kan det vara min dumburk det är fel på :q

Medlem sedan mars 20015 287 inlägg
#10

Har du bara den koden i newcriminal.asp?

Medlem sedan apr. 2001246 inlägg
#11

Prova att köra med get i form taggen och hämta dem med request.querystring.
I så fall ser du ju i adressfältet om datan skickas med...

Medlem sedan mars 2003970 inlägg
#12

tack du pirajan :e
Det funkar faktiskt perfekt
Tack solbulle också och @nders och ni andra trevliga wFare som hjälpt mig :birp
Hoppas jag kan fråga om mer saker om det behövs ;)

Förresten solbulle, det är all ASP kod jag har på sidan.
Utöver det så finnas ju designen, vilken jag tycker blev bättre än väntat :e

Medlem sedan mars 2003970 inlägg
#13

Okaj, prob no 10000..............eller va tusan det blir ;)
prepare 4 a long code..........sorry :OO
newcriminal.asp:

<%
Dim name, pass, strSQL, title, race, religion, perk, wski, eski, lski, dski, hski, ccski, sski, drski, proct, encur, enmax, healt, honor
name = Request.Querystring("alias")
pass = Request.Querystring("pass")
title = Request.Querystring("title")
race = Request.Querystring("race")
religion = Request.Querystring("religion")
perk = Request.Querystring("perk")

If perk = 1 then
 wski = 1
 eski = 1
 lski = 1
 dski = 1
 hski = 1
ccski = 1
 sski = 1
drski = 1
proct = 1
encur = 100
enmax = 100
healt = 100
honor = 20
If perk = 2 then
 wski = 3
 eski = 0
 lski = 0
 dski = 0
 hski = 0
ccski = 0
 sski = 0
drski = 3
proct = 0
encur = 100
enmax = 100
healt = 100
honor = 23
If perk = 3 then
 wski = 0
 eski = 0
 lski = 0
 dski = 0
 hski = 0
ccski = 6
 sski = 0
drski = 0
proct = 0
encur = 100
enmax = 100
healt = 100
honor = 23
If perk = 4 then
 wski = 0
 eski = 0
 lski = 0
 dski = 0
 hski = 0
ccski = 0
 sski = 0
drski = 0
proct = 0
encur = 125
enmax = 125
healt = 100
honor = 20
If perk = 5 then
 wski = 0
 eski = 5
 lski = 0
 dski = 0
 hski = 0
ccski = 0
 sski = 0
drski = 4
proct = 0
encur = 100
enmax = 100
healt = 100
honor = 20
If perk = 6 then
 wski = 2
 eski = 0
 lski = 0
 dski = 2
 hski = 0
ccski = 0
 sski = 0
drski = 2
proct = 3
encur = 100
enmax = 100
healt = 100
honor = 20
If perk = 7 then
 wski = 0
 eski = 0
 lski = 9
 dski = 0
 hski = 0
ccski = 0
 sski = 0
drski = 0
proct = 0
encur = 100
enmax = 100
healt = 100
honor = 20
If perk = 8 then
 wski = 0
 eski = 0
 lski = 0
 dski = 4
 hski = 5
ccski = 0
 sski = 0
drski = 0
proct = 0
encur = 100
enmax = 100
healt = 100
honor = 20
If perk = 9 then
 wski = 0
 eski = 0
 lski = 0
 dski = 0
 hski = 0
ccski = 0
 sski = 9
drski = 0
proct = 0
encur = 100
enmax = 100
healt = 100
honor = 20
End If

   Set Connect = Server.CreateObject("ADODB.Connection")
  Connect.Open "Driver={mySQL ODBC 3.51 Driver};Server=localhost;Option=16834;Database=crimea;"
strSQL = "Insert Into players (name, password, title, race, religion, perk) Values ('" & name & "', '" & pass & "', " & title & ", " & race & ", " & religion & ")"
Connect.Execute( strSQL)
Connect.Close

%>

Får felmesset:

Kompileringsfel i Microsoft VBScript error '800a03f6'

'End' förväntas.

/crimea bay/newcriminal.asp, line 153

Blä.
Jättesnällt om nåt halvhelgon (eller heligt marsvin ;) ) här på wF skulle kunna hjälpa mig.

Medlem sedan juni 200032 967 inlägg
#14

Du måste avsluta varje if-sats med End If, precis som du har gjort den sista.

Ett alternativ är att använda SELECT CASE istället eller att använda ElseIf på alla dina "if perk..."-satser efter den första. Då behöver du inte lägga till några end if heller.

Mvh

Medlem sedan mars 2003970 inlägg
#15

DUNK!
Klant jag är x( ingen himla elseif ;) :r
Det var faktiskt meningen :OO
tack!
nu funkar det.....inte
Kika på detta:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[MySQL][ODBC 3.51 Driver][mysqld-4.0.12]Column count doesn't match value count at row 1

/crimea bay/newcriminal.asp, line 152

????? :q ?????
huh?

Medlem sedan juni 200032 967 inlägg
#16

Dessutom; det du hämtar från querystrings är strängar, så antagligen kommer ingen av dina if-satser att gå igenom. Du borde omsluta siffran med citationstecken:

if perk="1" then
'
if perk="2" then
' etc

Mvh

Medlem sedan mars 2003970 inlägg
#17

Kika på detta:

--------------------------------------------------------------------------------

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[MySQL][ODBC 3.51 Driver][mysqld-4.0.12]Column count doesn't match value count at row 1

/crimea bay/newcriminal.asp, line 152

--------------------------------------------------------------------------------

????? :q ?????
huh?

Medlem sedan mars 20015 287 inlägg
#18

Jag tycker nog att felmesset är ganska självförklarande.

Typ antalet kolumner stämmer inte med antalet värden.

I klartext: i din sqlsats har du sex kolumner men bara värden till fem. (perk saknas)

Slarvfel.

Sen kan du ju verkligen optimera dina IF-satser.
Om du tex sätter alla värden till 0 först innan IF-sasernas början så behöver du ju bara inne i IF-satserna/selec case ändra de som ändras skall.
(Det här har varit uppe förut vet jag.)

Medlem sedan mars 2003970 inlägg
#19

Asch, sicken klant jag är :r
Tack :birp

278 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
148 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)