Avatar billede Slettet bruger
09. marts 2004 - 18:37 Der er 10 kommentarer og
1 løsning

Er der en der kan hjælpe mig?

Jeg er ved at lave et faq script til min side, men er løbet ind i et problem. Når der bliver stillet et spørgsmål, så vises spørgsmålet. Jeg vil have det til at jeg skal godkende spørgsmålet før det vises. Er der en der kan hjælpe mig?
I min database har jeg lavt et felt der hedder "showitem" hvor jeg skal krydse af hvis spørgsmålet skal vises...

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body><%
If Request.ServerVariables("REQUEST_METHOD") = "POST" then
' Declaring variables
Dim name, email, comments, data_source, con, sql_insert
' A Function to check if some field entered by user is empty
Function ChkString(string)
If string = "" Then string = " "
ChkString = Replace(string, "'", "''")
End Function
' Receiving values from Form
strName = ChkString(Request.Form("name"))
strEmail = ChkString(Request.Form("email"))
strComments = ChkString(Request.Form("comments"))
strshowitem = "False"
data_source = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("faq.mdb")
sql_insert = "insert into users (name, email, comments) values ('" & strName & "', '" & strEmail & "', '" & strComments & "')"         
' Creating Connection Object and opening the database
Set con = Server.CreateObject("ADODB.Connection")
con.Open data_source
con.Execute sql_insert
' Done. Close the connection
con.Close
Set con = Nothing
Response.Write "All records were successfully entered into the database."
Else
%><form action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method="post">
<p align="center">HTML Form Page:</p>
<table align="center" border=0 cellpadding=3 cellspacing=3 cols=2 width=400>
<tr>
<td align="right" height=10 valign="top">Navn :</td>
<td align="left" height=10 valign="top" width=250><input type="text" name="name"></td>
</tr>
<tr>
<td align="right" height=10 valign="top">Email :</td>
<td align="left" height=10 valign="top" width=250><input type="text" name="email"></td>
</tr>
<tr>
<td align="right" height=10 valign="top">spørgsmål :</td>
<td align="left" height=10 valign="top" width=250><textarea cols=20 rows=5 name="comments"></textarea></td>
</tr>
<tr>
<td align="right" height=10 valign="top"></td>
<td align="left" height=10 valign="top" width=200><input type="submit" value="&nbsp;&nbsp;&nbsp;">&nbsp;&nbsp;Submit -></td>
</tr>
</table>
</form><%
End If
%></body>
</html>
Avatar billede websam Nybegynder
09. marts 2004 - 20:45 #1
Jeps lav dit "showitem" felt i din database om til et int felt i din database set det til 0 når brugeren skriver til dig og sæt det til 1 når du har godkendt spørgsmålet. Når du så selecter for at vise din faq tjekker du op på om der står 0 eller 1 og vælger kun dem hvor der står 1 :o)

/Websam
Avatar billede websam Nybegynder
09. marts 2004 - 20:47 #2
Altså på denne måde :

strshowitem = 0
data_source = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("faq.mdb")
sql_insert = "insert into users (name, email, comments, showitem) values ('" & strName & "', '" & strEmail & "', '" & strComments & "', "&strshowitem&")"

/Websam
Avatar billede websam Nybegynder
09. marts 2004 - 20:48 #3
Ups det var en access database så er skal feltet være et tal felt :o)

/Websam
Avatar billede Slettet bruger
09. marts 2004 - 21:16 #4
jeg har i min db lavt showitem om til at det skal tal istedet for ja/nej og rettede mit script til det som du skrev men spørgsmålet bliver stadig vist uden jeg har godkendt det :o(
Avatar billede websam Nybegynder
09. marts 2004 - 21:40 #5
Ok det er fordi du skal skrive din select som følger :

Sql = "Select * From dinTabel Where strshowitem = 1"
Set Rs = Conn.Execute(Sql)

På den måde trækker du kun dem ud fra tabellen som du har godkendt :o)

/Websam
Avatar billede Slettet bruger
09. marts 2004 - 22:57 #6
Det vil sige at jeg "bare" skal skifte con.Execute sql_insert ud med Sql = "Select * From users Where strshowitem = 1"
Set Rs = Conn.Execute(Sql)

men når jeg gør det får jeg denne fejl:
Microsoft VBScript runtime error '800a01a8'

Object required: ''

/tes/faq1.asp, line 28
Avatar billede websam Nybegynder
10. marts 2004 - 07:15 #7
Nej for som jeg ser det er den kode du har ovenfor koden til at indsætte i databasen med du må have en anden side der viser din faq kan du ikke smide den kode her så jeg kan se den ?

/Websam
Avatar billede Slettet bruger
10. marts 2004 - 15:18 #8
min vis.asp ser sådan ud:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <style>
    td { font-size : 8pt; font-family : Verdana, Arial; text-decoration : none; }
    body { font-size : 8pt; font-family : Verdana, Arial; text-decoration : none; }
    </style>
</head>
<body>
<table align="center" border=0 cellpadding=3 cellspacing=3 cols=2 width=400>
<%
  ' Declaring variables
  Dim rs, data_source, no
  no = 0
  data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
            Server.MapPath("faq.mdb")

  ' Creating Recordset Object and opening the database
  Set rs = Server.CreateObject("ADODB.Recordset")
  rs.Open "users", data_source
  ' Looping through the records to show all of them
  While Not rs.EOF %>
<form action="del.asp" method="post">
<div align="center">
<center>
<table border="1" cellpadding="2" cellspacing="0" style="border-collapse: collapse" bordercolor="#990000" width="456" height="97">
<tr>
<td width="456" height="23" valign="top" bgcolor="#990000"><FONT FACE="VERDANA" SIZE="2"><FONT COLOR="WHITE" >Stillet af: <%=rs("name") %></FONT></FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<FONT FACE="VERDANA" SIZE="2"><FONT COLOR="WHITE" ><%=rs("dato") %></FONT></FONT></td>
</tr>
<tr>
<td width="456" height="70" valign="top"bgcolor="#F3F3F3"><FONT FACE="VERDANA" SIZE="2"><%=rs("comments") %></FONT></td>
</tr>
</table>
</center>
</div>
</form>
<tr>
    <td height=15 colspan="2"></td>
</tr>

  <%
  no = no + 1
  rs.MoveNext
  Wend
  ' Done. Now close the Recordset
  rs.Close
  Set rs = Nothing
%>

<tr>
    <td align="right" height=10 valign="top"></td>
    <td align="left" height=10 valign="top" width=250></td>
</tr>
</table>
</body>
</html>
Avatar billede websam Nybegynder
10. marts 2004 - 21:02 #9
Så ændre du følgende :

<%
  ' Declaring variables
  Dim rs, data_source, no
  no = 0
  data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
            Server.MapPath("faq.mdb")

  ' Creating Recordset Object and opening the database
  Set rs = Server.CreateObject("ADODB.Recordset")
  rs.Open "users", data_source
  ' Looping through the records to show all of them
  While Not rs.EOF %>

Til dette :

<%
  ' Declaring variables
  Dim rs, data_source, no
  no = 0
  data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
            Server.MapPath("faq.mdb")

  ' Creating Recordset Object and opening the database
  Set con = Server.CreateObject("ADODB.Connection")
  con.Open data_source

  Sql = "Select * From users Where strshowitem = 1"
  Set Rs = Con.Execute(Sql)
  ' Looping through the records to show all of them
  While Not rs.EOF %>

Så skulle den være der :o)

/Websam
Avatar billede Slettet bruger
10. marts 2004 - 21:21 #10
jeg har rettet via.asp til det som du skrev men nu kommer den med en fejl:
Microsoft JET Database Engine error '80040e10'
No value given for one or more required parameters.

/tes/showall.asp, line 23

i linie 23 står der: Set Rs = Con.Execute(Sql)
Avatar billede Slettet bruger
29. marts 2004 - 07:57 #11
1
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester