Just nu i M3-nätverket
Jump to content

Sparas inte i databasen :(


Make

Recommended Posts

Hej

 

Har fått ett problem med min kod. Några av fällten sparas inte i databasen.

 

När man lägger till så är det fälten: klubb, resultat.

 

koden är:

 

strDatum		= now()
strresultat 		= SafeSQL(Request.Form("resultat"))
strmal		= SafeSQL(Request.Form("mal"))
strklubb		= SafeSQL(Request.Form("klubb"))
strpoang		= SafeSQL(Request.Form("poang"))



objConn.Execute("INSERT INTO grupp1(resultat,mal,klubb,poang) VALUES('" & strresultat & "','" & strmal & "','" & strklubb & "','" & strpoang & "')")

 

sen när man uppdaterar så sparas inte fältet poang.

 

Koden är:

strresultat 		= SafeSQL(Request.Form("resultat"))
   strmal		= SafeSQL(Request.Form("mal"))
   strklubb		= SafeSQL(Request.Form("klubb"))
   strpoang		= SafeSQL(Request.Form("poang"))

objConn.execute("Update grupp1 Set resultat='" & strresultat & "', mal='" & strmal & "', klubb='" & strklubb & "', poang='" & strpoang & "' Where id = "& SafeSQL(CLng(Request.Querystring("id"))))

 

 

Tacksam för all hjälp jag kan få :D

 

Link to comment
Share on other sites

Micke_skane

Är där något felmeddelandet?

 

Fungerar det när du använder INSERT?

 

Vad är det för datatyp på dina fält i tabellen?

Tänker på att du skickar in ett tal(poängen) som en sträng i tabellen.

 

Link to comment
Share on other sites

får inget felmeddelande, utan några av fälten sparas i databasen men inte alla. har text på alla utom datum och id

 

Link to comment
Share on other sites

Micke_skane

Var kommer datumet in i din INSERT/UPDATE-kommandot?

Har du testat att skriva ut dina "sql:er" för att se så att dem är korrekta?

 

Visa gärna mer kod runt omkring INSERT/UPDATE-kommandona.

Var kommer dem in i resterande kod...

Visa nu inte ALL kod utan bara relavant kod :)

 

Glöm inte att lägga det inom LOG-taggarna!

 

EDIT: Är inte vid datorn på ett tag nu.

 

 

[inlägget ändrat 2006-03-19 11:34:26 av Micke_skane]

Link to comment
Share on other sites

[log]<%

' Stänger och förstör alla objekt

objRS.Close : Set objRS = nothing

objConn.Close : Set objConn = nothing

 

' Sparar nyheten

ElseIf Request.QueryString("visa") = "nyhetspara" AND Session("Admin") = "true" Then

 

strDatum = now()

strresultat = SafeSQL(Request.Form("resultat"))

strmal = SafeSQL(Request.Form("mal"))

strklubb = SafeSQL(Request.Form("klubb"))

strpoang = SafeSQL(Request.Form("poang"))

 

 

 

objConn.Execute("INSERT INTO grupp1(resultat,mal,klubb,poang) VALUES('" & strresultat & "','" & strmal & "','" & strklubb & "','" & strpoang & "')")

 

' Stänger och förstör alla objekt

Set objRS = nothing : objConn.Close : Set objConn = nothing

 

Response.Redirect sidnamn & "?visa=nyhet"

 

 

' Ändrar nyheten

ElseIf Request.QueryString("visa") = "nyhetandrat" AND Session("Admin") = "true" Then

 

 

strresultat = SafeSQL(Request.Form("resultat"))

strmal = SafeSQL(Request.Form("mal"))

strklubb = SafeSQL(Request.Form("klubb"))

strpoang = SafeSQL(Request.Form("poang"))

 

objConn.execute("Update grupp1 Set resultat='" & strresultat & "', mal='" & strmal & "', klubb='" & strklubb & "', poang='" & strpoang & "' Where id = "& SafeSQL(CLng(Request.Querystring("id"))))

 

' Stänger och förstör alla objekt

Set objRS = nothing : objConn.Close : Set objConn = nothing

 

Response.Redirect sidnamn & "admin.asp?visa=nyhet"

 

' Tar bort nyheten

ElseIf Request.QueryString("visa") = "tabort" AND Session("Admin") = "true" Then

objConn.Execute("DELETE FROM grupp1 WHERE id="& SafeSQL(CLng(Request.Querystring("id"))))

Response.Redirect sidnamn & "?visa=nyhet"

 

' Stänger och förstör alla objekt

Set objRS = nothing : objConn.Close : Set objConn = nothing

 

End If

%>[/log]

 

aja, datumet är bara med i databasen men det måste väll inte vara med i koden för att det finns en kolumn i databasen??

 

Hoppas att jag fick med det viktigaste ;)

 

Link to comment
Share on other sites

Micke_skane

Har tittat på din kod och där är inget som direkt såg fel ut men jag ändrade lite i den. Dels för att få den mer tydlig och för att inte använda samma saker flera gånger, som t ex Redirect och stängningen av objConn osv...

Vet inte om du deklarerar dina variabler eller om du använder Option Explicit längst uppe i din kod. Jag lade till den nu. Den säger ifrån ifall något är fel med variablerna eller något annat man skrivit fel.

Ska alltid vara med!

 

Där var även inget mellanslag mellan VALUES('"&...&"',...) men det lade jag till.

 

Kolla själv i exemplet.

 

[log]

[MÄRK]<%[/MÄRK]
[color="#0000ff"]Option Explicit[/color]
[color="#0000ff"]Dim[/color] sida, strDatum, strResultat, strMal, strKlubb, strPoang
strDatum = [color="#0000ff"]Now[/color]()
strResultat = SafeSQL([b]Request[/b].Form([GRÅ]"resultat"[/GRÅ]))
strMal = SafeSQL([b]Request[/b].Form([GRÅ]"mal"[/GRÅ]))
strKlubb = SafeSQL([b]Request[/b].Form([GRÅ]"klubb"[/GRÅ]))
strPoang = SafeSQL([b]Request[/b].Form([GRÅ]"poang"[/GRÅ]))

[color="#0000ff"]If[/color] blabla [color="#0000ff"]Then[/color]
...

[color="#006400"]' Sparar nyheten[/color]
[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"visa"[/GRÅ]) = [GRÅ]"nyhetspara"[/GRÅ] [color="#0000ff"]And[/color] [b]Session[/b]([GRÅ]"Admin"[/GRÅ]) = [GRÅ]"true"[/GRÅ] [color="#0000ff"]Then[/color]
objConn.[color="#0000ff"]Execute[/color]([GRÅ]"INSERT INTO grupp1 (resultat, mal, klubb, poang) VALUES ('"[/GRÅ] & strResultat & [GRÅ]"','"[/GRÅ] & strMal & [GRÅ]"','"[/GRÅ] & strKlubb & [GRÅ]"','"[/GRÅ] & strPoang & [GRÅ]"')"[/GRÅ])
sida = sidnamn & [GRÅ]"?visa=nyhet"[/GRÅ]

[color="#006400"]' Ändrar nyheten[/color]
[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"visa"[/GRÅ]) = [GRÅ]"nyhetandrat"[/GRÅ] [color="#0000ff"]And[/color] [b]Session[/b]([GRÅ]"Admin"[/GRÅ]) = [GRÅ]"true"[/GRÅ] [color="#0000ff"]Then[/color]
objConn.[color="#0000ff"]Execute[/color]([GRÅ]"UPDATE grupp1 SET resultat='"[/GRÅ] & strResultat & [GRÅ]"', mal='"[/GRÅ] & strMal & [GRÅ]"', klubb='"[/GRÅ] & strKlubb & [GRÅ]"', poang='"[/GRÅ] & strPoang & [GRÅ]"' WHERE id = "[/GRÅ]& SafeSQL([color="#0000ff"]CLng[/color]([b]Request[/b].Querystring([GRÅ]"id"[/GRÅ]))))
sida = sidnamn & [GRÅ]"admin.asp?visa=nyhet"[/GRÅ]

[color="#006400"]' Tar bort nyheten[/color]
[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"visa"[/GRÅ]) = [GRÅ]"tabort"[/GRÅ] [color="#0000ff"]And[/color] [b]Session[/b]([GRÅ]"Admin"[/GRÅ]) = [GRÅ]"true"[/GRÅ] [color="#0000ff"]Then[/color]
objConn.[color="#0000ff"]Execute[/color]([GRÅ]"DELETE FROM grupp1 WHERE id="[/GRÅ]& SafeSQL([color="#0000ff"]CLng[/color]([b]Request[/b].Querystring([GRÅ]"id"[/GRÅ]))))
sida = sidnamn & [GRÅ]"?visa=nyhet"[/GRÅ]

[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

[color="#006400"]' Stänger och förstör alla objekt + Redirectar[/color]
[color="#0000ff"]Set[/color] objRS = [color="#0000ff"]Nothing[/color] : objConn.Close : [color="#0000ff"]Set[/color] objConn = [color="#0000ff"]Nothing[/color]
[b]Response[/b].Redirect sida
[MÄRK]%>[/MÄRK]

[/log]

 

Vilket värde är det som inte kommer med in i databasen?

Och fungerar INSERT eller det strular redan där?

Ska inte datumet med in i databasen varje gång man skriver in nått?

Som det är nu kommer det aldrig med in.

 

Är där rätt värde på id:et i din UPDATE/DELETE-sats?

 

Det var en del frågor, hoppas du orkar svara på dem :)

 

EDIT: Fint väder ute, kommer inte vara vid datorn på ett bra tag.

 

[inlägget ändrat 2006-03-19 13:37:06 av Micke_skane]

Link to comment
Share on other sites

klubb, resultat är det som inte läggs till i databasen. Men mal och poäng sparas.

Sen när man ska uppdatera databasen så sparas inte poang.

 

Nää, datumet är inte så viktigt.

 

Har lagt in koden men får följande:

 

Feltyp:

Kompileringsfel i Microsoft VBScript (0x800A0400)

Programsats förväntas.

admin.asp, line 236

Option Explicit

 

 

Koden är:

[log]

 

 

 

<%

Option Explicit

Dim sida, strDatum, strResultat, strMal, strKlubb, strPoang

strDatum = Now()

strResultat = SafeSQL(Request.Form("resultat"))

strMal = SafeSQL(Request.Form("mal"))

strKlubb = SafeSQL(Request.Form("klubb"))

strPoang = SafeSQL(Request.Form("poang"))

 

If Request.QueryString("visa") = "nyhetspara" AND Session("Admin") = "true" Then...

 

' Sparar nyheten

ElseIf Request.QueryString("visa") = "nyhetspara" And Session("Admin") = "true" Then

objConn.Execute("INSERT INTO grupp1 (resultat, mal, klubb, poang) VALUES ('" & strResultat & "','" & strMal & "','" & strKlubb & "','" & strPoang & "')")

sida = sidnamn & "?visa=nyhet"

 

' Ändrar nyheten

ElseIf Request.QueryString("visa") = "nyhetandrat" And Session("Admin") = "true" Then

objConn.Execute("UPDATE grupp1 SET resultat='" & strResultat & "', mal='" & strMal & "', klubb='" & strKlubb & "', poang='" & strPoang & "' WHERE id = "& SafeSQL(CLng(Request.Querystring("id"))))

sida = sidnamn & "admin.asp?visa=nyhet"

 

' Tar bort nyheten

ElseIf Request.QueryString("visa") = "tabort" And Session("Admin") = "true" Then

objConn.Execute("DELETE FROM grupp1 WHERE id="& SafeSQL(CLng(Request.Querystring("id"))))

sida = sidnamn & "?visa=nyhet"

 

End If

 

' Stänger och förstör alla objekt + Redirectar

Set objRS = Nothing : objConn.Close : Set objConn = Nothing

Response.Redirect sida

%>[/log]

 

på rad 236 står det:

Option Explicit

 

 

Link to comment
Share on other sites

Micke_skane

Finns det någon annan asp-kod innan Option Explicit?

Option Explicit ska komma först av all Asp-kod.

 

Det ska se ut såhär:

 

<%
Option Explicit

'All annan Asp-kod
%>

 

Har du provat att skriva ut dina sql-strängar så du ser att dem innehåller vad dem ska?

Är det samma namn på elementen i formuläret som det är i dina Request.Form("")?

 

Link to comment
Share on other sites

Micke_skane

Tack själv för koden :)

Den var lite "rörig" men det är inte så viktigt nu :)

 

Flytta upp Option Explicit så att det ser ut såhär:

 

[log]

[MÄRK]<%[/MÄRK] 
[color="#0000ff"]Option Explicit[/color]
[MÄRK]%>[/MÄRK]
<!--#include file=[GRÅ]"../../../Login/Site_Common.asp"[/GRÅ] -->
[MÄRK]<%[/MÄRK]
[color="#0000ff"]If[/color] blnModerator = [color="#0000ff"]False[/color] [color="#0000ff"]And[/color] blnAdmin = [color="#0000ff"]False[/color] [color="#0000ff"]Then[/color] 

[color="#006400"]'Release server varaibles[/color]
adoCon.Close
[color="#0000ff"]Set[/color] adoCon = [color="#0000ff"]Nothing[/color]
[color="#0000ff"]Set[/color] strCon = [color="#0000ff"]Nothing[/color]

[b]Response[/b].redirect [GRÅ]"../../../Login/access_denied.asp"[/GRÅ]
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color] 
[MÄRK]%>[/MÄRK]

[/log]

 

Så Option Explicit ska endast stå här!

Nu kan du kanske få flera felmeddelanden men det innebär bara att det är fel i koden någon annanstans. Då får man lösa det :)

 

Testa nu och se om värdena kommer in.

Har du testat att skriva ut dina sql-strängar och kollat så att det stämmer med namnen? Får du ha tomma tabellceller i din databas?

 

[inlägget ändrat 2006-03-19 17:14:34 av Micke_skane]

Link to comment
Share on other sites

får följande felmeddelande:

 

Feltyp:

Kompileringsfel i Microsoft VBScript (0x800A03F6)

'End' förväntas.

admin.asp, line 267

 

la in End if på rad 267, fick då i stället:

 

Feltyp:

Körningsfel i Microsoft VBScript (0x800A01F4)

Odefinierad variabel: 'strTxtLoginManager'

../../../Languages/english.asp, line 8

 

 

Inga fällt är obligatoriska vad jag kan se i databasen :thumbsup:

 

Link to comment
Share on other sites

Micke_skane

Då tar vi en sak i taget!

 

Deklarera ALLA variabler som ingår i ALLA dina filer, även dem som du inkluderar.

 

Dim strTxtLoginManager är en deklarerad variabel.

Se som jag gjorde med alla variabler som används till att ta emot värdena ifrån formuläret.

 

Hur ser rad 8 ut i english.asp?

Var includerar du denna fil i koden du la ut som en txt-fil?

 

Link to comment
Share on other sites

går det inte att skita i den översta saken så länge?

 

alltså denna:

<!--#include file="../../../Login/Site_Common.asp" -->

<%

If blnModerator = False And blnAdmin = False Then

 

'Release server varaibles

adoCon.Close

Set adoCon = Nothing

Set strCon = Nothing

 

Response.redirect "../../../Login/access_denied.asp"

End If

 

Tog bort den nu, får då följande fel:

 

Feltyp:

Körningsfel i Microsoft VBScript (0x800A01F4)

Odefinierad variabel: 'objConn'

inc/settings2.asp, line 6

 

på rad 6 står det:

Set objConn = Server.CreateObject("ADODB.Connection")

 

alltså databaskopplingen ;)

 

Link to comment
Share on other sites

Micke_skane

Nja, man kan nog inte bara ta bort kod-avsnitt sådär.

Databas-kopplingen är ju viktig om man nu vil nå datbasen :)

 

Är det ett exempel som du har laddat ner eller har du själv kodat det?

Det verkar vara en massa filer som är inkluderade.

 

Har du deklarera dina variabler som jag beskrev?

Om du provar att lägga databaskopplingen direkt på denna sida istället för att länka in den.

 

Om du orkar får du gärna visa alla sidor(koden) som ingår i denna sida.

Struktuera upp dem och lägg in dem under log-taggarna eller länka till dem som txt-filer så kan jag kolla på det i början på veckan som kommer.

 

Stänger datorn för ikväll!

 

Link to comment
Share on other sites

ok, visst det vore snällt :)

 

Det är ett script som jag har hittat på nätet, men som jag har byggt om.

denna behövs inte, men eftersom jag har en admin sida innan denna sida så är det säkrast att ha med den, men den har inget med sökvägen att göra till databasen.

 

[log]

<!--#include file="../../../Login/Site_Common.asp" -->

<%

If blnModerator = False And blnAdmin = False Then

 

'Release server varaibles

adoCon.Close

Set adoCon = Nothing

Set strCon = Nothing

 

Response.redirect "../../../Login/access_denied.asp"

End If

[/log]

 

Här är Admin sidan.

[log]<%

Option Explicit

%>

 

 

 

 

<!--#Include file="inc/settings2.asp"-->

<html>

 

<head>

<script type="text/javascript">

<!--

function Tabort(go){

if (confirm("Vill du verkligen ta bort den?\n\nHelt säker?")){

self.location=(go)

}else{

}

}

 

//-->

</script>

 

</head>

 

<body>

<p>

<font size="2" face="Verdana">

<%If Request.Querystring("visa")= "" Then%></font><b><font face="Verdana" size="4">Royal League

Grupp 1</font></b></p>

<form method="post" action="admin.asp?visa=login" name="login" onSubmit="return tecken()">

<table border="0" width="500" id="table1" cellspacing="0" cellpadding="0">

<tr>

<td width="105"><font face="Verdana" size="2">

<a target="_self" href="../../../Login/Admin/admin_menu.asp" style="text-decoration: none">

Tillbaka</a></font></td>

<td><font size="2" face="Verdana"><input border="0" src="images/skicka.gif" name="I1" width="43" height="14" type="image"></font></td>

</tr>

</table>

<div style="position: absolute; width: 100px; height: 52px; z-index: 1; left: 744px; top: 80px; visibility: hidden" id="lager1">

<table border="0" width="500" id="table2" cellspacing="0" cellpadding="0">

<tr>

<td width="105"><b><font size="2" face="Verdana">Användarnamn:</font></b></td>

<td><font face="Verdana">

<input type="password" name="Username" size="20" value="admin"></font></td>

</tr>

<tr>

<td width="105"><b><font size="2" face="Verdana">Lösenord:</font></b></td>

<td><font face="Verdana">

<input type="password" name="Password" size="20" value="admin"></font></td>

</tr>

</table>

</div>

</form>

<font size="2" face="Verdana">

<%

' Kollar om inloggningen stämmer

ElseIf Request.Querystring("visa")= "login" Then

 

If Request.Form("Username") = strUsername AND Request.Form("Password") = strPassword then

Session("Admin") = "true"

Response.Redirect "admin.asp?visa=nyhet"

Else

Session("Mess") = "Ditt användarnamn eller lösenord är fel!"

Response.Redirect "admin.asp?visa="

End If

 

' Loggar ut dig

ElseIf Request.Querystring("visa")= "logut" Then

 

Session.Abandon

Response.Redirect "../../../Login/Admin/admin_menu.asp"

 

 

ElseIf Request.Querystring("visa")= "nyhet" AND Session("Admin") = "true" Then%>

</font>

<table border="0" width="376" cellspacing="0" cellpadding="0">

<tr>

<td width="444" colspan="3" class="rubrik">

<font face="Verdana" size="2">Skytteligan i Royal League</font></td>

</tr>

<tr>

<td width="444" colspan="3"><font face="Verdana" size="2"><b><a href="admin.asp?visa=nyhetadd">Lägg till</a> | <a href="admin.asp?visa=logut">

Tillbaka till ADMIN panelen</a></b></font></td>

</tr>

<tr>

<td width="444" colspan="3" class="dot"></td>

</tr>

<%

Set objRS = objConn.Execute("SELECT * FROM grupp1 ORDER BY poang ASC")

Do Until objRS.EOF

 

' Gör så att varannan rad får bakgrundsfärgen #F7F7F7 och varannan #EAEAEA

x = x + 1

strColor = "#F7F7F7"

If x Mod 2 = 0 Then strColor = "#EAEAEA"

%>

<tr bgcolor="<%=strColor%>" onMouseover="this.bgColor='#C0C0C0'" onMouseout="this.bgColor='<%=strColor%>'">

<td width="152">

<a href="admin.asp?visa=nyhetchange&id=<%=objRS("ID")%>">

<font face="Verdana" size="2">

<%

' Om rubriken är längre än 29 täcken så kommer det att skrivas ut 20 tecken och ... efter (rubrik...)

If Len(objRS("klubb")) > 29 Then Response.Write Left(objRS("klubb"),20) & "..." Else Response.Write objRS("klubb") End If

%>

</font>

</a>

</td>

 

<td width="61"><font face="Verdana" size="2"><%=objRS("mal")%></font></td>

</tr>

<%

objRS.MoveNext

Loop

 

' Stänger och förstör alla objekt

objRS.Close : Set objRS = nothing

objConn.Close : Set objConn = nothing

%>

</table>

<font face="Verdana" size="2">

<%ElseIf Request.QueryString("visa") = "nyhetadd" AND Session("Admin") = "true" Then%>

</font>

<form method="post" action="admin.asp?visa=nyhetspara" name="nyhetsadd" onSubmit="return tecken()">

<table cellspacing="0" cellpadding="0" width="547">

<tr>

<td width="444" class="rubrik"><font face="Verdana" size="2">Lägg till

spelare</font></td>

</tr>

<tr>

<td width="444"><font face="Verdana" size="2"><b><a href="admin.asp?visa=nyhet">Tillbaka</a> | <a href="admin.asp?visa=logut">

Tillbaka till ADMIN panelen</a></b></font></td>

</tr>

<tr>

<td width="444" class="dot"></td>

</tr>

<tr>

<td><font face="Verdana" size="2"><b>Klubb:</b></font><br>

<font face="Verdana">

<input type="text" name="klubb1" size="45"></font></td>

</tr>

<tr>

<td>

<font face="Verdana">

<b><font size="2">Resultat:

</font>

</b><font size="1">(spelade matcher, Vinster, oavgjorda, förluster)</font><font size="2"><br>

</font>

<input type="text" name="resultat1" size="45"></font></td>

</tr>

<tr>

<td><font face="Verdana"><font size="2"><b>Mål:</b><br>

</font>

<input type="text" name="mal" size="45"></font></td>

</tr>

<tr>

<td><font face="Verdana"><font size="2"><b>Poäng:</b><br>

</font>

<input type="text" name="poang" size="45"></font></td>

</tr>

<tr>

<td>

<font face="Verdana" size="2">

<input border="0" src="images/skicka.gif" name="I2" width="43" height="14" type="image"></font></td>

</tr>

</table>

</FORM>

 

<font face="Verdana" size="2">

 

<%

' Stänger och förstör alla objekt

Set objRS = nothing

objConn.Close : Set objConn = nothing

 

ElseIf Request.Querystring("visa") = "nyhetchange" AND Session("Admin") = "true" Then

Set objRS = objConn.Execute("SELECT * FROM grupp1 WHERE id="& SafeSQL(CLng(Request.Querystring("id"))))

%>

</font>

<form method="post" action="admin.asp?visa=nyhetandrat&id=<%=Request.Querystring("id")%>" name="change" onSubmit="return tecken2()">

<table cellspacing="0" cellpadding="0" width="500">

<tr>

<td width="444" class="rubrik"><font face="Verdana" size="2">Uppdatera

Spelare</font></td>

</tr>

<tr>

<td width="444"><font face="Verdana" size="2"><b><a href="admin.asp?visa=nyhet">Tillbaka</a> | <a href="admin.asp?visa=logut">

Tillbaka till ADMIN panelen</a></b></font></td>

</tr>

<tr>

<td width="444" class="dot"></td>

</tr>

<tr>

<td><font face="Verdana" size="2"><b>Klubb:</b></font><br>

<font face="Verdana">

<input type="text" name="klubb" size="45" value="<%=objRS("klubb")%>"></font><b><font face="Verdana" size="2"><br>

Resultat: </font></b><font size="1" face="Verdana">(spelade matcher,

Vinster, oavgjorda, förluster)</font><font face="Verdana"><font size="2"><br>

</font>

<input type="text" name="resultat" size="45" value="<%=objRS("resultat")%>"></font></td>

</tr>

<tr>

<td><font face="Verdana"><font size="2"><b>Mål:</b><br>

</font>

<input type="text" name="mal" size="45" value="<%=objRS("mal")%>"></font></td>

</tr>

<tr>

<td><font face="Verdana"><font size="2"><b>Poäng:</b><br>

</font>

<input type="text" name="poang0" size="45" value="<%=objRS("poang")%>"></font></td>

</tr>

<tr>

<td>

<font face="Verdana" size="2">

<input border="0" src="images/andra.gif" name="I3" width="40" height="14" type="image">

<a href="javascript:Tabort('admin.asp?visa=tabort&id=<%=objRS("id")%>')"><img border="0" src="images/tabort.gif" width="49" height="14"></a>

</font>

</td>

</tr>

</table>

</form>

<font face="Verdana" size="2">

 

 

 

<%

Dim sida, strDatum, strResultat, strMal, strKlubb, strPoang

strDatum = Now()

strResultat = SafeSQL(Request.Form("resultat"))

strMal = SafeSQL(Request.Form("mal"))

strKlubb = SafeSQL(Request.Form("klubb"))

strPoang = SafeSQL(Request.Form("poang"))

 

If Request.QueryString("visa") = "nyhetspara" AND Session("Admin") = "true" Then

 

' Sparar nyheten

ElseIf Request.QueryString("visa") = "nyhetspara" And Session("Admin") = "true" Then

objConn.Execute("INSERT INTO grupp1 (resultat, mal, klubb, poang) VALUES ('" & strResultat & "','" & strMal & "','" & strKlubb & "','" & strPoang & "')")

sida = sidnamn & "?visa=nyhet"

 

' Ändrar nyheten

ElseIf Request.QueryString("visa") = "nyhetandrat" And Session("Admin") = "true" Then

objConn.Execute("UPDATE grupp1 SET resultat='" & strResultat & "', mal='" & strMal & "', klubb='" & strKlubb & "', poang='" & strPoang & "' WHERE id = "& SafeSQL(CLng(Request.Querystring("id"))))

sida = sidnamn & "admin.asp?visa=nyhet"

 

' Tar bort nyheten

ElseIf Request.QueryString("visa") = "tabort" And Session("Admin") = "true" Then

objConn.Execute("DELETE FROM grupp1 WHERE id="& SafeSQL(CLng(Request.Querystring("id"))))

sida = sidnamn & "?visa=nyhet"

 

End If

 

' Stänger och förstör alla objekt + Redirectar

Set objRS = Nothing : objConn.Close : Set objConn = Nothing

Response.Redirect sida

End If

%>

 

 

</font>

</body>

 

</html>

[/log]

 

och här är sidan med sökvägen till databasen:

 

[log]

<%

Response.Buffer = "True"

Session.lcid = 1053

 

'############### DATABAS KOPPLING ###############

Set objConn = Server.CreateObject("ADODB.Connection")

Set objRS = Server.CreateObject("ADODB.recordset")

objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../../../../db/royal.mdb")

 

'############### ADMIN ###############

strUsername = "admin" ' Användarnamn till adminsidan

strPassword = "admin" ' Lösenord till adminsida

 

'############### FUNKTION EMOT SQL-INJECTIONS ###############

Function SafeSQL(strText)

SafeSQL = Replace(strText, "'", "''")

End function

 

'############### FUNKTION SOM SNYGGAR TILL NYHETERNA ###############

Function nyhet(strText)

strText = Replace(strText,vbCrlf,"<br>")

 

Set RegExp = new RegExp

With RegExp

.Global = true

.IgnoreCase = true

 

.Pattern="\[b\]([\w\W]*?)\[/b\]"

strText=.Replace(strText,"<b>$1</b>")

 

.Pattern="\[i\]([\w\W]*?)\[/i\]"

strText=.Replace(strText,"<i>$1</i>")

 

.Pattern="\[u\]([\w\W]*?)\[/u\]"

strText=.Replace(strText,"<u>$1</u>")

 

.Pattern="\[color\]([\w\W]*?)\[/color\]"

strText=.Replace(strText,"<font color=""#FF0000"">$1</font>")

 

.Pattern="\[mail\]([\w\W]*?)\[/mail\]"

strText=.Replace(strText,"<a href=""mailto:$1"">$1</a>")

 

.Pattern = "(http://(\w|\.|/|-|\?|=|&|;|~){1,}\w*)"

strText = RegExp.Replace(strText," <a href=""$1"" target=""_blank"">$1</a>")

End With

Set RegExp = Nothing

 

Response.Write strText

End Function

 

'############### FUNKTION SOM SKRIVER UT SIDORNA ###############

Function Sidor(intPage,intPages)

If intPage > 1 then

Response.Write "<a href='" & strSidnamn & "?sida=" & intPage - 1 & "'>[«]</a> "

End If

 

For i = -2 To 2 Step 1

intPage2 = intPage + i

If i = 0 then

Response.Write "<b>" & intPage & "</b> "

ElseIf intPage2 >= 1 AND intPage2 <= intPages then

Response.Write "<a href='" & strSidnamn & "?sida=" & intPage + i & "'>" & intPage + i & "</a> "

End If

Next

 

If intPage + 1 <= intPages then

Response.Write "<a href='" & strSidnamn & "?sida=" & intPage + 1 & "'>[»]</a>"

End If

End Function

%>

[/log]

 

hoppas att jag fick med allt ;)

 

Link to comment
Share on other sites

Micke_skane

Det den klagar på just nu är att du inte deklarerat dina variabler som tillhör databaskopplingen. Den kommer även att klaga på dina variabler som handlar om vilket användarnamn och lösenord som gäller.

 

Deklararera dem såhär och lägg in det under Session.lcid = 1053 i filen settings2.asp:

Dim objConn, objRS, strUsername, strPassword

 

Testa igen och får du samma felmeddelande igen så kolla på vilken variabel som den vill att du ska deklarera.

Det är detta som Option Explicit kollar åt dig.

Så att allt är som det ska vara...Bara att rätt till "felen"!

Lägg isåfall till variablen i den blåa raden jag skrev ovan. Glöm inte att det ska vara ett ,-tecken emellan.

 

Där är några inkluderade filer som jag inte vet vad dem gör.

Ha kvar dem sålänge!

 

[inlägget ändrat 2006-03-21 12:26:41 av Micke_skane]

Link to comment
Share on other sites

ok, har provat det nu, får fnu ett annat felmeddelande:

 

 

Feltyp:

Körningsfel i Microsoft VBScript (0x800A01F4)

Odefinierad variabel: 'x'

admin.asp, line 94

 

Link to comment
Share on other sites

Micke_skane

Den säger ifrån att det finns en variabel, x, som inte är deklarerad.

Sätt Dim x precis under Option Explicit i admin.asp!

 

Får du nu fler felmeddelanden som säger att du inte deklarerat en variabel så kolla vilken det är och gör som jag beskrivit i dem senaste inläggen :)

Är det på samma sida som variabeln x så lägger du till den efterfrågade variabeln efter x i ovanstånde blåa exempel.

T ex om den säger att variabeln y inte är deklarerad så lägger du till den efter x såhär:

Dim x, y

 

Link to comment
Share on other sites

ok, tack

 

får nu ett annat meddelande

 

Feltyp:

Response-objekt, ASP 0158 (0x80004005)

En URL krävs.

admin.asp, line 259

 

linje 259:

 

Response.Redirect sida

 

 

Link to comment
Share on other sites

Micke_skane

Ändra alla tre (i admin.asp):

sida = sidnamn & "?visa=nyhet"

 

till

sida = "admin.asp?visa=nyhet"

 

Kommer du tillbaka nu till admin-sidan så kolla om det skrivs in som det ska i databasen samt att det uppdateras och tas bort som det ska.

 

Link to comment
Share on other sites

ok, men när man trycker på spara när man har fyllt i data så fastnar man på sidan admin.asp?visa=nyhetspara, det är bara vit :S

 

Link to comment
Share on other sites

Micke_skane

Du har en "dubbel" If-fråga på samma sak!

 

Ändra:

[color="#0000ff"]If[/color] [b]Request[/b].QueryString([GRÅ]"visa"[/GRÅ]) = [GRÅ]"nyhetspara"[/GRÅ] [color="#0000ff"]And[/color] [b]Session[/b]([GRÅ]"Admin"[/GRÅ]) = [GRÅ]"true"[/GRÅ] [color="#0000ff"]Then[/color]

[color="#006400"]' Sparar nyheten[/color]
[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"visa"[/GRÅ]) = [GRÅ]"nyhetspara"[/GRÅ] [color="#0000ff"]And[/color] [b]Session[/b]([GRÅ]"Admin"[/GRÅ]) = [GRÅ]"true"[/GRÅ] [color="#0000ff"]Then[/color]

 

till

[color="#006400"]' Sparar nyheten[/color]
[color="#0000ff"]If[/color] [b]Request[/b].QueryString([GRÅ]"visa"[/GRÅ]) = [GRÅ]"nyhetspara"[/GRÅ] [color="#0000ff"]And[/color] [b]Session[/b]([GRÅ]"Admin"[/GRÅ]) = [GRÅ]"true"[/GRÅ] [color="#0000ff"]Then[/color]

 

Prova igen :)

 

Du ska alltså ta bort den översta och sätta If på den som innehåller INSERT-kommandot!

 

[inlägget ändrat 2006-03-21 19:07:54 av Micke_skane]

Link to comment
Share on other sites

ok, har nu följande asp kod:

 

[log]

<%

Dim sida, strDatum, strResultat, strMal, strKlubb, strPoang

strDatum = Now()

strResultat = SafeSQL(Request.Form("resultat"))

strMal = SafeSQL(Request.Form("mal"))

strKlubb = SafeSQL(Request.Form("klubb"))

strPoang = SafeSQL(Request.Form("poang"))

 

 

' Sparar nyheten

If Request.QueryString("visa") = "nyhetspara" And Session("Admin") = "true" Then

objConn.Execute("INSERT INTO grupp1 (resultat, mal, klubb, poang) VALUES ('" & strResultat & "','" & strMal & "','" & strKlubb & "','" & strPoang & "')")

sida = "admin.asp?visa=nyhet"

 

' Ändrar nyheten

ElseIf Request.QueryString("visa") = "nyhetspara" And Session("Admin") = "true" Then

objConn.Execute("UPDATE grupp1 SET resultat='" & strResultat & "', mal='" & strMal & "', klubb='" & strKlubb & "', poang='" & strPoang & "' WHERE id = "& SafeSQL(CLng(Request.Querystring("id"))))

sida = sidnamn & "admin.asp?visa=nyhet"

 

' Tar bort nyheten

ElseIf Request.QueryString("visa") = "tabort" And Session("Admin") = "true" Then

objConn.Execute("DELETE FROM grupp1 WHERE id="& SafeSQL(CLng(Request.Querystring("id"))))

sida = "admin.asp?visa=nyhet"

 

End If

 

' Stänger och förstör alla objekt + Redirectar

Set objRS = Nothing : objConn.Close : Set objConn = Nothing

Response.Redirect sida

End If

 

%>

[/log]

 

men den stannar fortfarande på admin.asp?visa=nyhetspara :(

 

Link to comment
Share on other sites

Micke_skane

Du har ändrat i elseif-satsen där du ska uppdatera databasen.

 

Ändra:

' Ändrar nyheten
ElseIf Request.QueryString("visa") = "[color="#ff0000"]nyhetspara[/color]" And Session("Admin") = "true" Then

 

till:

' Ändrar nyheten
ElseIf Request.QueryString("visa") = "[color="#ff0000"]nyhetandrat[/color]" And Session("Admin") = "true" Then

 

Prova igen :)

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...