webForumDet fria alternativet

Formulärproblem

16 svar · 428 visningar · startad av WebbisNet

WebbisNetMedlem sedan feb. 20032 027 inlägg
#1

Jag har ett formulär till en gästbok, koden för att spara datan funkar men det är hur man får texten som man skriver in i textboxarna att sparas i databasen.....HUR skriver man?

KoggenMedlem sedan juni 2002169 inlägg
#2

koden för att spara datan funkar men det är hur man får texten som man skriver in i textboxarna att sparas i databasen

Hmm vilket är det som funkar egentligen....

Nåja, så här är ett sätt:
Jag förutsätter att din koppling till databasen är klar. I detta fall kallar jag ditt recordset rs.

rs.addNew
rs("namn") = request.form("namn")
rs("email") = request.form("email")
rs("inlagg") = request.form("inlagg")
rs.update
WebbisNetMedlem sedan feb. 20032 027 inlägg
#3

Koggen skrev:

koden för att spara datan funkar men det är hur man får texten som man skriver in i textboxarna att sparas i databasen

Hmm vilket är det som funkar egentligen....

Nåja, så här är ett sätt:
Jag förutsätter att din koppling till databasen är klar. I detta fall kallar jag ditt recordset rs.

rs.addNew
rs("namn") = request.form("namn")
rs("email") = request.form("email")
rs("inlagg") = request.form("inlagg")
rs.update

det är inte den delen.....datan sparas i databasen fast inga värden hänger med.
det är ex.
<td width="150">Hemsida</td>
<td><input type="text" class=input name="Hemsida" value="" size="20" maxlength="40"></td>
som jag har problem med....skriver man in weadressen i textrutan så ska webadressen följa med när man sparar

jag hade en masa response.write innan som funkade men jag vill hellre ha formuläret som ovanstående

KoggenMedlem sedan juni 2002169 inlägg
#4

Du får nog ge oss lite utförligare förklaring och mer kod.

WebbisNetMedlem sedan feb. 20032 027 inlägg
#5

Koggen skrev:

Du får nog ge oss lite utförligare förklaring och mer kod.

När man har ett formulär så har man en textruta och en kod som sparar datan till databasen

det jag vill är att texten som man skriver in i textrutan ska följa med koden som sparar datan när man klickar på skicka

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#6
<td width="150">Hemsida</td> 
<td><input type="text" class=input name="Hemsida" value="" size="20" maxlength="40"></td>

Jag förutsätter att du har en <form></form> runt detta! hur som helst så måste du se till att Request har det namnet som name har i textboxen, exempel om method är POST.

<form method="POST" action="någonsida.asp">
<input type="text" class=input name="Hemsida" value="" size="20" maxlength="40">
<input type="submit">
</form>

' någonsida.asp
<%
Dim strHemsida
strHemsida = Request.Form("Hemsida") 
' om POST = Get, använd Request.QueryString i sället.
' strHemsida = Request.QueryString("Hemsida") 

SQL = "INSERT INTO tabell(col1) VALUES('" & Replace(strHemsida,"'","''") & "')"
objConn.ExeCute(SQL)
objConn.Close
' Gör något annat.... 
%>
@ndersMedlem sedan juni 200032 969 inlägg
#7

Se till att ta bort mellanslaget mellan ' och " och mellan " och ' i SQL-frågan bara. De bör inte vara där, eftersom de mellanslagen då lagras i databasen före och efter aktuellt värde.

WebbisNetMedlem sedan feb. 20032 027 inlägg
#8

Fredde Mannen skrev:

<td width="150">Hemsida</td> 
<td><input type="text" class=input name="Hemsida" value="" size="20" maxlength="40"></td>

Jag förutsätter att du har en <form></form> runt detta! hur som helst så måste du se till att Request har det namnet som name har i textboxen, exempel om method är POST.

<form method="POST" action="någonsida.asp">
<input type="text" class=input name="Hemsida" value="" size="20" maxlength="40">
<input type="submit">
</form>


' någonsida.asp
<%
Dim strHemsida
strHemsida = Request.Form("Hemsida") 
' om POST = Get, använd Request.QueryString i sället.
' strHemsida = Request.QueryString("Hemsida") 

SQL = "INSERT INTO tabell(col1) VALUES(' " & Replace(strHemsida,"'","''") & " ')"
objConn.ExeCute(SQL)
objConn.Close
' Gör något annat.... 
%>

Tänkte att jag skulle slippa skicka med hela koden men här kommer den:

<form name="write" action="write.asp?gastbok=spara" method="post" enctype="text/plain">
<table class=Text1 width="400" height="270" border="0" cellpadding="0" cellspacing="0" summary="">
	<tr>
		<td>
		<center>
		<table width="350" border="0" cellpadding="0" cellspacing="0" summary="">
	<tr>
		<td width="150">Namn</td>
		<td>
		<input type="text" class=input name="Namn" value="" size="20" maxlength="40"></td>
	</tr>
	<tr>
		<td width="150">E-post</td> 
		<td><input type="text" class=input name="Epost" value=""  size="20" maxlength="40"></td>
	</tr>
	<tr>
		<td width="150">Hemsida</td>
		<td><input type="text" class=input name="Hemsida" value=""  size="20" maxlength="40"></td>
	</tr>
	<tr>
		<td width="150">Meddelande</td>
		<td><textarea class=input name="Meddelande" value=""  cols=30 rows=5></textarea></td>
	</tr>
	<tr>
		<td colspan="2"><input type="hidden" value="<%=DATE%>"  name="Datum" size="20" maxlength="40"></td>
	</tr>
	<tr>
		<td colspan="2"><input type="hidden" value="<%=Request.ServerVariables("REMOTE_ADDR")%>" name="IP" size="20" maxlength="40"></td>
	</tr>
	<tr>
		<td align="center" width="150" colspan="2">
		<input type="submit" value="Skicka inlägget">
		</td>
	</tr>
</table>

<!-- Lite html kod -->

</body>
</html>
<%	
	If Request.Querystring("gastbok") = "spara" Then
	
	
		Namn = Request.Form("Namn")
		Epost = Request.Form("Epost")
		Hemsida = Request.Form("Hemsida")
		Meddelande = Request.Form("Meddelande")
		Datum = Request.Form("Datum")
		IP = Request.Form("IP")

	Set conn = Server.CreateObject("ADODB.Connection")
	conn.Open connstr

	SQL = "INSERT INTO gastbok "
	SQL = SQL & "(Namn, Epost, Hemsida, Meddelande, Datum, IP) "
	SQL = SQL & "VALUES('"& Namn &"','"& Epost &"','"& Hemsida &"','"& Meddelande &"','"& Datum &"','"& IP &"')"

	conn.Execute(SQL)
	conn.Close

End If

%>

SÅ, när man fyller i alla fält så ska värdet från textfältet sparas i koden till MySQL-databasen......just nu får jag bara nya tomma innehållslösa rader i databasen

@ndersMedlem sedan juni 200032 969 inlägg
#9

Om du skriver ut SQL-frågan, hur ser den ut då?

Om du droppar enctype-attributet ur form-taggen (det behövs ju inte), fungerar det då? Det är inte ovanligt att det är enctype som ställer till det.

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#10

@nders skrev:

Se till att ta bort mellanslaget mellan ' och " och mellan " och ' i SQL-frågan bara. De bör inte vara där, eftersom de mellanslagen då lagras i databasen före och efter aktuellt värde.

hi hi... såklart de inte ska vara där.. de kom bara dit för att jag skulle se skillnanden på om jag hade skrivit '" eller "' för man ser inte det när man skriver i textboxen. Glömde bara ändra... skall göras nu! :)

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#11

Och om du inte förstår vad @nders menar med skriva ut, så menar han: Response.Write(SQL) istället för conn.execute(SQL). så ser du om värdena har följt med. :e

WebbisNetMedlem sedan feb. 20032 027 inlägg
#12

ÄNTLIGEN ett klokt svar......det var bara enctype som behövde droppas

KoggenMedlem sedan juni 2002169 inlägg
#13

ÄNTLIGEN ett klokt svar

Tack för den du.....

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#14

WebbisNet skrev:

ÄNTLIGEN ett klokt svar......

x( §jr §e :l

solbulleMedlem sedan mars 20015 287 inlägg
#15

WebbisNet skrev:

ÄNTLIGEN ett klokt svar......

Som man frågar får man svar, eller vad säger ni gubbar? ;) :)

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#16

solbulle skrev:

Som man frågar får man svar, eller vad säger ni gubbar? ;) :)

jepp!

WebbisNetMedlem sedan feb. 20032 027 inlägg
#17

jag är glad att det löste sig med formuläret, bra med WebForum :-)

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)