datum, hur hämtar jag detta?

ASP

7 svar · 302 visningar · startad av mikael_a

Medlem sedan mars 2000475 inlägg
Trådstart#1

hej,


<input type=hidden value="<% response.write now() %>" >

skickar med datumet automatiskt i ett formulär, fick jag veta i ett forum, men hur hämtar jag datan som har skickats med? med <% =datum %>?

Medlem sedan dec. 19991 072 inlägg
#2

För att kunna hämta ett värde måste du ange ett namn på din <input>-ruta.
ex:

<input type="hidden" name="datum" value="<%=now%>">

För att sedan hämta upp detta värde på nästa sida skriver du:

datum=request("datum")

Egentligen ska du skriva olika om du har satt method=get eller method=post i formuläret, men det är inte nödvändigt...men iaf, för post skriver du:

request.form("datum")

och för get skriver du:

request.querystring("datum")
Medlem sedan mars 2000475 inlägg
#3

tackar... men lägger detta in det i access databasen, eller måste jag fixa det på vanligt sätt?

Medlem sedan dec. 19991 072 inlägg
#4

nej...detta lägger in det i databasen...det får du göra på vanligt sätt med en sql-sträng. Om du ska lägga in det i sql:en kan du lika gärna hämta upp datumet där. typ:

sql="INSERT INTO db (namn, datum) VALUES ('"&namn&"', '"&date&"')"
Medlem sedan mars 2000475 inlägg
#5

hej, tackar för hjälpen, det fungerar till 98%, den skriver dock ut datumet 2 gånger varför?

koden till nyreg.asp


...

<input type="hidden" name="datum" value="<%=now%>">

denna sida skicka till nyreginsert.asp


<%

	Set Connection = Server.CreateObject("ADODB.Connection")
	Connection.Open "driver={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("/databas/medlems_register.mdb")
	SQLStmt = "Insert Into medlems_register "
	SQLStmt = 	SQLStmt & 	"(user_name, password, email, stad, yrke, hemsida, intresse, icq, datum) "
 	SQLStmt = 	SQLStmt & 	"VALUES('" & FixaTecken(Request.Form("user_name")) & "', '" & FixaTecken(Request.Form("password")) & "', '" & FixaTecken(Request.Form("email")) & "', '" & FixaTecken(Request.Form("stad")) & "', '" & FixaTecken(Request.Form("yrke")) & "', '" & FixaTecken(Request.Form("hemsida")) & "', '" & FixaTecken(Request.Form("intresse")) & "', '" & FixaTecken(Request.Form("icq")) & "', '" & FixaTecken(Request.Form("datum")) & "')"

	Connection.Execute(SQLStmt)

%>

och sedan i main_frame.asp visar jag de senaste 10 medlemarna så här:


<%
	Set Connection = Server.CreateObject("ADODB.Connection")
	Connection.Open "driver={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("/databas/medlems_register.mdb")
	SQLStmt = "SELECT top 10 user_name, datum from medlems_register order by id desc"
	Set RS = Connection.Execute(SQLStmt)

DO UNTIL RS.EOF
counter = counter + 1
If counter Mod 2 = 0 then
color = "#c0c0c0"
Else
color = "#aaaaaa"
End If
%>
<table border="0" cellspacing="1" width="100%">
  
  <tr>
    <td width="109" bgcolor="<%=color%>"><%=RS("user_name")%></td>
    <td width="67" bgcolor="<%=color%>"><%=RS("datum")%></td>
  </tr>
  
</table>
<%
RS.MOVENEXT
LOOP
RS.Close 
Connection.Close
%>

är det något jag gör galet?
det ligger två datum även i access databasen. Och om jag bara vill visa datumet inte klockslaget också, hur gör jag detta?

Medlem sedan dec. 19991 072 inlägg
#6

För att se vad som är fel brukar det hjälpa att skriva ut sql-strängen.
Gör detta precis innan du kör din SQLStmt. Skriv ut den och se vad det står.

För att bara få datumet så ska du använda "date" istället för "now" på din första sida.

Medlem sedan dec. 19991 072 inlägg
#7

byt ut den första koden mot:

<%

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("/databas/medlems_register.mdb")
SQLStmt = "Insert Into medlems_register "
SQLStmt = SQLStmt & "(user_name, password, email, stad, yrke, hemsida, intresse, icq, datum) "
SQLStmt = SQLStmt & "VALUES('" & FixaTecken(Request.Form("user_name")) & "', '" & FixaTecken(Request.Form("password")) & "', '" & FixaTecken(Request.Form("email")) & "', '" & FixaTecken(Request.Form("stad")) & "', '" & FixaTecken(Request.Form("yrke")) & "', '" & FixaTecken(Request.Form("hemsida")) & "', '" & FixaTecken(Request.Form("intresse")) & "', '" & FixaTecken(Request.Form("icq")) & "', '" & FixaTecken(Request.Form("datum")) & "')"

response.write(SQLStmt)

Connection.Execute(SQLStmt)

%>
och se vad det står...
Medlem sedan mars 2000475 inlägg
#8

tack för hjälpen. Det fungerar kanon nu...

jag hade av någon lustig anledning skrivit raden:

<input type="hidden" name="datum" value="<%=now%>">

två gånger, inte lustigt att den skicka datumet två gånger då.

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