17. december 2003 - 21:22Der er
8 kommentarer og 1 løsning
Gæstebog problemer
Hej! Jeg sidder med et lille haste problem i min gæstebog, fordi jeg har lagt det, hvor man tilføjer og ser selve gæstebogen sammen. Jeg ved ikke, om der er noget jeg enten over ser eller gør forkert. Er der hurtigt hjælp at hente til en pæn slat point eller er alle gået på juleferie?
risogros.asp (Denne fil er hvor jeg tilføjer og kan se selve gæstebogen)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Systematics homekitchen</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="JavaScript" type="text/JavaScript"> <!--
function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } //--> </script> <script language="JavaScript">window.status = ""</script> <script language="javascript" src="validering.js"></script>
' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("../Systematic/homekitchen.mdb") Conn.Open DSN
' De sidste 200 kommentarer bliver hentet ind med denne streng, hvorefter de overskrives fra en ende, når antallet er oversteget strSQL = "Select top 200 * from risogros order by ID desc"
' Udfør forespørgsel (objRec indeholder nu resultatet) Set objRec = Conn.Execute(strSQL)
add_risogros.asp (denne fil tilføjer til min gæstebog)
<%
'Set the response buffer to true as we maybe redirecting Response.Buffer = True
strMode = request.form("strMode")
'If the session variable is False or does not exsist then redirect the user to the unauthorised user page If strMode <> "new_comment" then 'Redirect to user start page Response.Redirect "index.asp" End If
'Dimension variables Dim strInputComments 'Holds the Users comments Dim saryCommentWord 'Array to hold each word in the comments enetred by the user Dim intCheckWordLengthLoopCounter 'Loop counter Dim intWordLength 'Holds the length of the word to be checked Dim blnWordLenthOK 'Boolean set to False if any words in the description are above 80 characters Dim intLongestWordLength 'Holds the number of characters in the longest word entered in the
'Read in user deatils from the guestbook form strInputComments = Request.Form("text")
'Split-up each word in the comments from the user to check that no word entered is over 50 characters saryCommentWord = Split(Trim(strInputComments), " ")
'Initialse the word length variable blnWordLenthOK = True
'Loop round to check that each word in the comments entered by the user is not above 70 characters For intCheckWordLengthLoopCounter = 0 To UBound(saryCommentWord)
'Initialise the intWordLength variable with the length of the word to be searched intWordLength = Len(saryCommentWord(intCheckWordLengthLoopCounter))
'Get the number of characters in the longest word If intWordLength => intLongestWordLength Then intLongestWordLength = intWordLength End If
'If the word length to be searched is more than or equal to 70 then set the blnWordLegthOK to false If intWordLength => 80 Then blnWordLenthOK = False End If Next
Så skal du være sikker på denne validate funktion submitter formen og ikke kun returnere true/false... onClick="validering()"
For normalt vil man lave en onSubmit i form tagen da valideings funktioner typisk returnere true/false alt efter om form må sendes, så skal knappen være en submit knap og ikke en button...
Tak for din hurtige hjælp, Eagleeye! Men det driller lige lidt endnu. Jeg indsætter lige mine filer igen, men denne gang også min validering, fordi jeg er ikke helt klar over, hvad det er, du vil have mig til at gøre her:
"Så skal du være sikker på denne validate funktion submitter formen og ikke kun returnere true/false... onClick="validering()"
For normalt vil man lave en onSubmit i form tagen da valideings funktioner typisk returnere true/false alt efter om form må sendes, så skal knappen være en submit knap og ikke en button..."
risogros.asp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Systematics homekitchen</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="JavaScript" type="text/JavaScript"> <!--
function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } //--> </script> <script language="JavaScript">window.status = ""</script> <script language="javascript" src="validering.js"></script>
' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("../Systematic/homekitchen.mdb") Conn.Open DSN
' De sidste 200 kommentarer bliver hentet ind med denne streng, hvorefter de overskrives fra en ende, når antallet er oversteget strSQL = "Select top 200 * from risogros order by ID desc"
' Udfør forespørgsel (objRec indeholder nu resultatet) Set objRec = Conn.Execute(strSQL)
'Set the response buffer to true as we maybe redirecting Response.Buffer = True
strMode = request.form("strMode")
'If the session variable is False or does not exsist then redirect the user to the unauthorised user page If strMode <> "new_comment" then 'Redirect to user start page Response.Redirect "index.asp" End If
'Dimension variables Dim strInputComments 'Holds the Users comments Dim saryCommentWord 'Array to hold each word in the comments enetred by the user Dim intCheckWordLengthLoopCounter 'Loop counter Dim intWordLength 'Holds the length of the word to be checked Dim blnWordLenthOK 'Boolean set to False if any words in the description are above 80 characters Dim intLongestWordLength 'Holds the number of characters in the longest word entered in the
'Read in user deatils from the guestbook form strInputComments = Request.Form("text")
'Split-up each word in the comments from the user to check that no word entered is over 50 characters saryCommentWord = Split(Trim(strInputComments), " ")
'Initialse the word length variable blnWordLenthOK = True
'Loop round to check that each word in the comments entered by the user is not above 70 characters For intCheckWordLengthLoopCounter = 0 To UBound(saryCommentWord)
'Initialise the intWordLength variable with the length of the word to be searched intWordLength = Len(saryCommentWord(intCheckWordLengthLoopCounter))
'Get the number of characters in the longest word If intWordLength => intLongestWordLength Then intLongestWordLength = intWordLength End If
'If the word length to be searched is more than or equal to 70 then set the blnWordLegthOK to false If intWordLength => 80 Then blnWordLenthOK = False End If Next
if comment = "" then comment = "Ingen kommentar er tastet ind!" end if
Rec.Addnew Rec("nick") = navn Rec("email") = email Rec("text") = comment Rec("dato") = dato Rec("tid") = tid REC.Update
Rec.close set Rec=nothing Response.redirect "risogros.asp"
else Session("error") = true Session("message") = "Beklager, det er ikke lovligt at taste over 46 tegn!" Response.redirect "risogros.asp" end if %>
validering.js
function validering() {
if (new_comment.navn.value == "") alert('Husk at indtaste dit navn!')
else
{
error = 0;
placering=0; tekst=(new_comment.email.value).toLowerCase(); placering=tekst.indexOf("@"); if(tekst ==""){ alert ("Husk at indtaste din e-mail!"); error = 1; } else{ tegn=tekst.indexOf(" "); if(tegn!=-1){ alert ("Mellemrum kan ikke benyttes i din e-mail!"); error = 1; } else{ if (tekst.indexOf("æ")!=-1 || tekst.indexOf("ø")!=-1 || tekst.indexOf("å")!=-1 || tekst.indexOf("Æ")!=-1 || tekst.indexOf("Ø")!=-1 || tekst.indexOf("Å")!=-1 || tekst.indexOf(";")!=-1 || tekst.indexOf(",")!=-1){ alert ("Disse bogstaver æ ø å Æ Ø Å , kan ikke benyttes i din e-mail!"); error = 1; } else{ if (placering<1 || tekst.length<=(placering+1)){ alert ("Din e-mail er forkert - prøv igen!"); error = 1; } } } } if(error == 0) new_comment.submit(); } }
Derudover, når jeg prøver at tilføje til min DB = gæstebog, så sender den min index tilbage istedet for risogros.asp, hvor gæstebogen står og jeg er ikke sikker på den tilføjer til min DB (homekitchen.mdb). Ja, jeg tror bare, jeg totalt har mistet overblikket over dette nu. Kan du hjælpe igen?
Ok du får et svar fra mig ;) Jo tak og god jul også til dig.
Synes godt om
Ny brugerNybegynder
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.