webForumDet fria alternativet

lite hjälp med upplägg av request.querystring o.s.v

ASP

3 svar · 278 visningar · startad av Dashi

Medlem sedan jan. 2005296 inlägg
Frågan#1

jag ville ha på min sida att när man loggar in så skulle den hämta informationen från användaren och lägga den i kassan där man skriver in uppgifter så man slipper göra det.. så har jag lagt en länk till sidan såhär:

<a href="order.asp?user=<% =session("username") %>" target="main"><%=txt_kassan%></a>

och allt funkar jätte bra och så sålänge jag är inloggad, loggar man ut sen och där inte är någon användare då flippar allt ut.. det går inte då längre komma in och kolla för då får jag fel meddelande:
Feltyp:
ADODB.Field (0x80020009)
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
/masterdata/order.asp

Kan någon hjälpa mig att fixa till det??

här är koden för hela sidan..

<%
Function RandNo()
Randomize
RandNo = Int(99999999 * Rnd + 3)
End Function
%>
            <%
Dim Datum
Datum = Now
%>
            <form onSubmit="return form_validator(this)" method="post" action="order.asp?bestallning=ny&user=<%=Request.Querystring("username")%>">
              <p>
                <input type="hidden" name="order_id" value="<%=RandNo()%>" size="40">
                <input type="hidden" name="datum" value="<%=Datum%>" size="40">
                <script language="JavaScript"><!-- //script hider
function form_validator(theForm)
{

	if(theForm.person_nr.value == "") {
		 alert("<%=txt_saknas_person_nr%>");
		 theForm.person_nr.focus();
		 return(false);
	}
	
	if(theForm.namn.value == "") {
		 alert("<%=txt_saknas_namn%>");
		 theForm.namn.focus();
		 return(false);
	}

			if(theForm.adress.value == "") {
		 alert("<%=txt_saknas_adress%>");
		 theForm.adress.focus();
		 return(false);
	}

	if(theForm.post_nr.value == "") {
		 alert("<%=txt_saknas_post_nr%>!");
		 theForm.post_nr.focus();
		 return(false);
	}

	if(theForm.stad.value == "") {
		 alert("<%=txt_saknas_stad%>!");
		 theForm.stad.focus();
		 return(false);
	}

	if(theForm.epost.value == "") {
		 alert("<%=txt_saknas_email%>");
		 theForm.epost.focus();
		 return(false);
	}
	

	return (true);
}
// end script hiding -->
<%
user=Request.Querystring("user")
		  
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(masterdata_databas)

Set RecSet = Server.CreateObject("ADODB.Recordset")

If Request.QueryString("bestallning") = "" Then 

Visa = "SELECT * FROM kunder WHERE user = '" & user & "' ORDER BY user" 

RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic 
%>
          </p>
          <font size="2" face="Times New Roman, Times, serif">* obligatoriska 
            f&auml;lt, m&aring;ste fyllas i f&ouml;r att best&auml;llning ska 
            genomf&ouml;ras.</font>
        </center>
        <table cellpadding="2" cellspacing="1" border="0">
          <tr align="left" valign="middle"> 
            <td colspan=2 bgcolor="#000000"><font size="2" COLOR="#ffffff" face="Times New Roman, Times, serif"><B><%=txt_person_uppgifter%></B></FONT></td>
          </tr>
          <tr bgcolor="#D9D9D9"> 
            <td> <font size="2" face="Times New Roman, Times, serif"><%=txt_person_nr%> 
              *</font> </td>
            <td> 
              <input type=text name="person_nr" value="<% =RecSet("person_nr") %>" size=40>
            </td>
          </tr>
          <TR bgcolor="#D9D9D9"> 
            <TD> <font size="2" face="Times New Roman, Times, serif"><%=txt_foretag%></FONT> 
            </TD>
            <TD> 
              <INPUT TYPE=text NAME="foretag" VALUE="<% =RecSet("foretag") %>" SIZE=40>
            </TD>
          </TR>
          <TR bgcolor="#D9D9D9"> 
            <TD> <font size="2" face="Times New Roman, Times, serif"><%=txt_namn%> 
              *</FONT> </TD>
            <TD> 
              <INPUT TYPE=text NAME="namn" VALUE="<% =RecSet("namn") %>" SIZE=40>
            </TD>
          </TR>
          <TR bgcolor="#D9D9D9"> 
            <TD> <font size="2" face="Times New Roman, Times, serif"><%=txt_adress%> 
              *</FONT> </TD>
            <TD> 
              <INPUT TYPE=text NAME="adress" VALUE="<% =RecSet("adress") %>" SIZE=40>
            </TD>
          </TR>
          <tr bgcolor="#D9D9D9"> 
            <td> <font size="2" face="Times New Roman, Times, serif"><%=txt_post_nr%> 
              *</font> </td>
            <td> 
              <input type=text name="post_nr" value="<% =RecSet("post_nr") %>" size=40>
            </td>
          </tr>
          <TR bgcolor="#D9D9D9"> 
            <TD> <font size="2" face="Times New Roman, Times, serif"><%=txt_stad%> 
              *</FONT> </TD>
            <TD> 
              <INPUT TYPE=text NAME="stad" VALUE="<% =RecSet("stad") %>" SIZE=40>
            </TD>
          </TR>
          <TR bgcolor="#D9D9D9"> 
            <TD> <font size="2" face="Times New Roman, Times, serif"><%=txt_tele%></FONT> 
            </TD>
            <TD> 
              <INPUT TYPE=text NAME="tele" VALUE="<% =RecSet("tele") %>" SIZE=40>
            </TD>
          </TR>
          <tr bgcolor="#D9D9D9"> 
            <td> <font size="2" face="Times New Roman, Times, serif"><%=txt_epost%> 
              *</font> </td>
            <td bgcolor="#D9D9D9"> 
              <input type=text name="epost" value="<% =RecSet("epost") %>" size=40>
            </td>
          </tr>
          <tr> 
            <td valign=top bgcolor="#D9D9D9"> <font size="2" face="Times New Roman, Times, serif"><%=txt_kommentar%></font> 
            </td>
            <td bgcolor="#D9D9D9"> 
              <textarea name=kommentar rows=4 cols=36 wrap=physical></textarea>
            </td>
          </tr>
          <TR> 
            <TD ALIGN=center COLSPAN=2> 
              <INPUT TYPE=submit  NAME=Submit VALUE="<%=txt_submit%>" class="button">
              <INPUT TYPE=reset  VALUE="<%=txt_rensa%>" class="button">
            </TD>
          </TR>
        </TABLE>
      </FORM>
      <%RecSet.Close
End If%>
      <% If Request.Querystring("bestallning") = "ny" Then

Addera = "SELECT * FROM orders"

RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

RecSet.AddNew

		RecSet("datum") = Request.Form("datum")
		RecSet("order_id") = Request.Form("order_id")
		RecSet("person_nr") = Request.Form("person_nr")
		RecSet("foretag") = Request.Form("foretag")
		RecSet("namn") = Request.Form("namn")
		RecSet("adress") = Request.Form("adress")
		RecSet("post_nr") = Request.Form("post_nr")
		RecSet("stad") = Request.Form("stad")
		RecSet("tele") = Request.Form("tele")
		RecSet("epost") = Request.Form("epost")
		RecSet("kommentar") = Request.Form("kommentar")
		RecSet("antal") = Request.Form("antal")
		RecSet("art_nr") = Request.Form("art_nr")
		RecSet("produkt") = Request.Form("produkt")
		RecSet("pris") = Request.Form("pris")
		RecSet("totalt") = Request.Form("totalt")
		RecSet("totalt_pris") = Request.Form("totalt_pris")
		RecSet("moms") = Request.Form("moms")
		RecSet("summa") = Request.Form("summa")
		RecSet("user") = Request.QueryString("user")
RecSet.Update
	RecSet.Close

Connect.Close
	Set RecSet = nothing
	Set Connect = nothing

Response.Redirect "svar.asp"
End If
%>

Vet inte riktigt var jag ska ändra och hur för de ska funka normalt :P

Mvh //Darek

Medlem sedan mars 20015 287 inlägg
#2

Lägg in en If-sats som kollar om det finns något i variabeln "user", gör inte någon hämtning från db annars.
Sen lär du iofs även behöva ändra till variabler i ditt fomulär o sätta typ:
varnamn = RecSet("namn")
eller liknande inom oven nämnd If-sats.

Medlem sedan jan. 2005296 inlägg
#3
<%If Request.QueryString("user") = "" Then

tänkte sätta såhär, att om där inte är någon user ska den inte connecta till databasen, men hur sätter jag att den inte ska connecta till datan basen.. eller hur gör jag att den inte ska göra någonting?
Then
Do nothing? hehe

Medlem sedan jan. 2005296 inlägg
#4

aja de e lugnt har fixat det nu, jag la det såhär:

<%If Request.QueryString("user") = "" Then

formuläret utan recset

else

formuläret med recset

end if

Tack ändå..

Mvh //Darek

267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)