webForumDet fria alternativet

SVÅR! & Konstig! Fråga...

ASP

11 svar · 179 visningar · startad av ReloadMaster

Medlem sedan aug. 2001239 inlägg
Frågan#1

Tjena!
Denna fråga kanske ses underlig här i forumet men jag undrar bara om någon kunde hjälpa mig fixa denna kod så jag slipper allt jidder och får en helt vanlig SQL sparningssträng typ...

<!--#Include File = "Adovbs.inc"-->
<% id = Request.Querystring("ID")
oldamne = Request.Querystring("rubrik")
upd = Request.Form("dummy")
If Len(upd) > 0 Then
	If Len(oldamne) > 0 Then
		samne = oldamne
	Else
		samne = Request.Form("Amne")
	End If
	snamn = Request.Form("Namn")
	sepost = Request.Form("Epost")
	shemsida = Request.Form("Hemsida")
	sinlagg = Request.Form("Inlagg")
End If %>
<html>
<head>
<title>Inlägg i diskussion</title>
</head>
<body>
<P>&nbsp;</P>
<form method="POST" action="forum_nyttinlagg.asp?ID=<%=id%>&Rubrik=<%=Server.URLEncode(oldamne)%>" name="Test">
<a href="forum.asp"><p>Tillbaka till forumet</a><br>
<%
If Len(upd) > 0 Then
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("forumdb.mdb")
	Set Cmd = Server.Createobject("ADODB.Command")
	Cmd.ActiveConnection = Connect
	ssql = "Insert Into forum (Iid, Rubrik, ORIG, Namn, Email, Hemsida, Meddelande, "
	ssql = ssql & "datum) values (?,?,?,?,?,?,?,?)"
	Cmd.CommandText = ssql
	Cmd.CommandType = adCmdText
	If Len(id) < 1 Then id = "0"
	Set prm = Cmd.CreateParameter (,adUnsignedInt ,,,cInt(id))
	Cmd.Parameters.Append prm
	Set prm = Cmd.CreateParameter (,adVarChar,,Len(samne),samne)
	cmd.Parameters.Append prm
	If Len(oldamne) > 0 Then
		Sorig = False
	Else
		Sorig = True
	End If
	Set prm = Cmd.CreateParameter (,adBoolean ,,,cBool(Sorig))
	Cmd.Parameters.Append prm
	Set prm = Cmd.CreateParameter (,adVarChar ,,Len(snamn),snamn)
	Cmd.Parameters.Append prm
	If NOT(Len(sepost) > 0) Then sepost = "ingen adress"
	Set prm = Cmd.CreateParameter (,adVarChar ,,Len(sepost),sepost)
	Cmd.Parameters.Append prm
	Set prm = Cmd.CreateParameter (,adVarChar ,,Len(shemsida),shemsida)
	Cmd.Parameters.Append prm
	Set prm = Cmd.CreateParameter (,adVarChar ,,Len(sinlagg),sinlagg)
	Cmd.Parameters.Append prm
	Set prm = Cmd.CreateParameter (,adDBDate ,,,now)
	Cmd.Parameters.Append prm
	Connect.BeginTrans
		If Len(oldamne) > 0 Then
		 	supdate="Update forum Set Antal=Antal + 1 Where ID = " & id
			Connect.Execute supdate
		End If
		For z = 0 To Cmd.Parameters.Count -1
		Next
		Cmd.Execute
	Connect.CommitTrans
	Response.Write "Inlägg Sparat!"
Else %>
	<P>Ämne:
	<%
	If Len(oldamne) > 0 Then
		Response.Write oldamne
		%>
		<input Type="hidden" Name="Amne" size="20" Value = <% =oldamne%>></P>
	<%Else%>
		<input Type="text" Name="Amne" Size="20"></P>
	<%End If %>
	Namn: <input Type="text" Name="Namn" size="30"><br><br>
	Epost: <input Type="text" Name="Epost" size="20">
	Hemsida: <input Type="text" Name="Hemsida" size="20" value="Ej <A HREF="http://!"></P>" TARGET=_blank>http://!"></P></A> 
	<P>Inlägg: <textarea rows="4" Name="Inlagg" Cols="40"></Textarea></P>
	<input Type="hidden" Name="dummy" Size="20"></P>
<p><Input Type="Button" Value="Skicka" Name="B1" onClick="B1_OnClick(); return
 false;">
<Input Type="Reset" Value="Återställ" Name="reset">
 </p>
</form>
<% End If %>
</body>
</html>
<script language="JavaScript">
function B1_OnClick() {
	var nam = document.Test.Namn.value;
	var inl = document.Test.Inlagg.value;
	var amn = document.Test.Amne.value;

	if((nam.length != 0) && (inl.length != 0)&& (amn.length != 0)) {
		document.Test.dummy.value = "xxx";
		document.Test.submit();
	} else {
		alert("Du glömde att fylla i Namn, Inlägg eller Ämne");
	}
}
</script>

------------------
Das Dunkhopf...

Medlem sedan dec. 19996 721 inlägg
#2
<!--#Include File = "Adovbs.inc"-->
<% id = Request.Querystring("ID")
oldamne = Request.Querystring("rubrik")
upd = Request.Form("dummy")
If Len(upd) > 0 Then
	If Len(oldamne) > 0 Then
		samne = oldamne
	Else
		samne = Request.Form("Amne")
	End If
	snamn = Request.Form("Namn")
	sepost = Request.Form("Epost")
	shemsida = Request.Form("Hemsida")
	sinlagg = Request.Form("Inlagg")
End If %>
<html>
<head>
<title>Inlägg i diskussion</title>
</head>
<body>
<P> </P>
<form method="POST" action="forum_nyttinlagg.asp?ID=<%=id%>&Rubrik=<%=Server.URLEncode(oldamne)%>" name="Test">
<a href="forum.asp"><p>Tillbaka till forumet</a><br>
<%
If Len(upd) > 0 Then
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("forumdb.mdb")
	If Len(id) < 1 Then id = "0"
		
	ssql = "Insert Into forum (Iid, Rubrik, ORIG, [Namn], Email, Hemsida, Meddelande, "
	ssql = ssql & "[datum]) values (" & cInt(id) & ",'" & samne & "'," & Len(oldamne) & ",'" & snamn & "','" & sepost & "','" & shemsida & "','" & sinlagg & "',now())"
	Connect.BeginTrans
		If Len(oldamne) > 0 Then
		 	supdate="Update forum Set Antal=Antal + 1 Where ID = " & id
			Connect.Execute supdate
		End If
				Connect.Execute ssql,,128
	Connect.CommitTrans
	Response.Write "Inlägg Sparat!"
Else %>
	<P>Ämne:
	<%
	If Len(oldamne) > 0 Then
		Response.Write oldamne
		%>
		<input Type="hidden" Name="Amne" size="20" Value = <% =oldamne%>></P>
	<%Else%>
		<input Type="text" Name="Amne" Size="20"></P>
	<%End If %>
	Namn: <input Type="text" Name="Namn" size="30"><br><br>
	Epost: <input Type="text" Name="Epost" size="20">
	Hemsida: <input Type="text" Name="Hemsida" size="20" value="Ej <A HREF="http://!"></P>" TARGET=_blank>http://!"></P></A> 
	<P>Inlägg: <textarea rows="4" Name="Inlagg" Cols="40"></Textarea></P>
	<input Type="hidden" Name="dummy" Size="20"></P>
<p><Input Type="Button" Value="Skicka" Name="B1" onClick="B1_OnClick(); return
 false;">
<Input Type="Reset" Value="Återställ" Name="reset">
 </p>
</form>
<% End If %>
</body>
</html>
<script language="JavaScript">
function B1_OnClick() {
	var nam = document.Test.Namn.value;
	var inl = document.Test.Inlagg.value;
	var amn = document.Test.Amne.value;

	if((nam.length != 0) && (inl.length != 0)&& (amn.length != 0)) {
		document.Test.dummy.value = "xxx";
		document.Test.submit();
	} else {
		alert("Du glömde att fylla i Namn, Inlägg eller Ämne");
	}
}
</script>

------------------
/emission
If you see someone without a smiley, give them your colon.

[Redigerat av emission den 14 sep 2001]

Medlem sedan aug. 2001239 inlägg
#3

Tack för hjälpen, men jag fick 2 fel...

	ssql = "Insert Into forum (Iid, Rubrik, ORIG, [Namn], Email, Hemsida, Meddelande, "

Där jag får ett syntax fel på Namn taggen
asså [Namn]

& Sedan

For z = 0 To Cmd.Parameters.Count -1		Next

Tror du denna gör något?

------------------
Das Dunkhopf...

[Redigerat av ReloadMaster den 14 sep 2001]

Medlem sedan dec. 19996 721 inlägg
#4

Ett par små fel smög sig in. Har ändrat

------------------
/emission
If you see someone without a smiley, give them your colon.

Medlem sedan aug. 2001239 inlägg
#5

Tyvärr funkar inte det...
Nu lägger den bara in svaret
som en ny fråga istället för på det jag svarar...

------------------
Das Dunkhopf...

Medlem sedan aug. 2001239 inlägg
#6

Jag tror denna måste tillbaka i koden igen eftersom Orig är ett Ja/Nej fält(borde förklarat)

If Len(oldamne) > 0 Then
		Sorig = False
	Else
		Sorig = True
	End If

------------------
Das Dunkhopf...

Medlem sedan aug. 2001239 inlägg
#7

Förklaring av Orig = Ja/Nej
Ska bli True på nya inlägg
False på Svar och då ska en ämnets ID föras in i kolumnen IID

Men som det är nu så är det tvärtom på Orig men IID stämmer...

Hoppas det gjorde det lite lättare...

------------------
Das Dunkhopf...

[Redigerat av ReloadMaster den 15 sep 2001]

Medlem sedan aug. 2001239 inlägg
#8

Hjälp...

------------------
Das Dunkhopf...

Medlem sedan dec. 19996 721 inlägg
#9

Okej..

Se till att kryssrutans value är "1" och byt len(oldamne) till abs(len(oldamne)-1)

------------------
/emission
If you see someone without a smiley, give them your colon.

Medlem sedan aug. 2001239 inlägg
#10

Vad menar du för kryssruta?
Menar du den i datbasen?

Kan du beskriva hur jag ska fixa det?

För går det inte i koden att ändra eftersom den nu bara gör tvärtom om det inte går att ändra om...

------------------
Das Dunkhopf...

Medlem sedan dec. 19996 721 inlägg
#11

Ahh... det var nog ingen kryssruta i formuläret...

Lägg tillbaka..

If Len(oldamne) > 0 Then
Sorig = 0
Else
Sorig = 1
End If

Och ersätt Len(oldamne) med Sorig i SQL-satsen (skippa ovanstående med abs....)

Medlem sedan aug. 2001239 inlägg
#12

Tack...

------------------
Das Dunkhopf...

262 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)