WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Snälla hjälp mig! (https://www.wn.se/forum/showthread.php?t=13690)

JeZZifelt 2006-04-21 14:56

Jag har ett script där man ska anmäla sig som har funkat när jag hade två input och en textarea men jag lade till lite andra fält och nu funkar dte inte längre.. :huh: Funderar på vad jag ha gjort så att det jag lade in inte funkade medan det jag hade innan funkade..
Har klippt ut en liten del av koden där själva problemet är:
Kod:

<table width="200" align="center" border="0">
<form method="post" action="admin.asp?visa=spara">
 *<tr>
 * * *<td><font size="2"><b>Lägg till deltagare:</b></font></td>
 *</tr>
 *<tr>
 * * *<td height="10"><hr></td>
 *</tr>
 *<tr>
 * *<td><b>Stor bild:</b><br>
 * * *<input type name="link" size="35"></td>
 *</tr>
 *<tr>
 * *<td><b>Liten bild:</b><br>
 * * *<input type name="url" size="35"></td>
 *</tr>
 *<tr>
 * *<td><p><b>Info om katten:</b><br>
 * * * * *<textarea name="info" rows="5" cols="35"></textarea>
 * *</p>
 * * *</td>
 *</tr>
 *<tr>
 * *<td height="14"><p><strong>Kattens namn:<br>
 * * *<input type name="name" id="name" size="35">
 * *</strong></p>
 * * *</td>
 *</tr>
 *<tr>
 * *<td><strong>Kattens &aring;lder: <br>
 * * *<input type name="age" id="age" size="35">
 * *</strong></td>
 *</tr>
 *<tr>
 * *<td><strong>Kattens ras: <br>
 * * *<input type name="ras" size="35">
 * *</strong></td>
 *</tr>
 *<tr>
 * *<td height="25"></td>
 *</tr>
 *<tr>
 * *<td><strong>&Auml;garens namn: <br>
 * * *<input type name="a_name" id="a_name" size="35">
 * *</strong></td>
 *</tr>
 *<tr>
 * *<td><strong>&Auml;garens &aring;lder:<br>
 * * *<input type name="a_age" id="a_age" size="35">
 * *</strong></td>
 *</tr>
 *<tr>
 * *<td><strong>Info om &auml;garen: <br>
 * * *<textarea name="a_info" cols="35" rows="5"></textarea>
 * *</strong></td>
 *</tr>
 *<tr>
 * *<td><input type="submit" value="Lägg till"></td>
 *</tr>
 *<tr>
 * * *<td height="10"><hr></td>
 *</tr>
 *<tr>
 * * *<td align="right"><a href="admin.asp?visa=logut"><b>Logga ut</b></a>  <a href="admin.asp"><b>Tillbaka</b></a></td>
 *</tr>
</form>
</table>

<%End If

If Request.Querystring("visa") = "spara" Then

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("db/rating.mdb")
Url = Request.Form("url")
If Url <> "" Then
 * *If Left(Url,7) = "http://" Then
 * * *Url = Url
 * *Else
 * * *Url = "http://" & Url
 * *End If
End If
SQL = "Insert Into rating (link,url,info,name,age,ras,a_name,a_age,a_info) Values('" & Request.Form("link") & "','" & Request.Form("url") & "','" & Request.Form("info") & "','" & Request.Form("name") & "','" & Request.Form("age") & "','" & Request.Form("ras") & "','" & Request.Form("a_name") & "','" & Request.Form("a_age") & "','" & Request.Form("a_info") & "')"
Conn.Execute(SQL)
Response.Redirect "admin.asp?visa=inne"
       
End If

If Request.Querystring("visa") = "tabort" Then

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("db/rating.mdb")
SQL = "Delete From rating Where id ="& Request.Querystring("id")
Conn.Execute(SQL)
Response.Redirect "admin.asp?visa=inne"
       
End If

If Request.Querystring("visa") = "logut" Then
 *Session.Abandon
 *Response.Redirect "rating.asp"
End If%>

Någon som kan se vad jag har gjort för fel?
Jag tycker att det borde funka, men jag kan ha missat nåt eller satt ut nåt för mycket.. :P

Felmeddelandet jag får är:
Citat:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] The INSERT INTO statement contains the following unknown field name: 'name'. Make sure you have typed the name correctly, and try the operation again.

/admin.asp, line 194

Rad 193-195:
Kod:

SQL = "Insert Into rating (link,url,info,name,age,ras,a_name,a_age,a_info) Values('" & Request.Form("link") & "','" & Request.Form("url") & "','" & Request.Form("info") & "','" & Request.Form("name") & "','" & Request.Form("age") & "','" & Request.Form("ras") & "','" & Request.Form("a_name") & "','" & Request.Form("a_age") & "','" & Request.Form("a_info") & "')"
Conn.Execute(SQL)
Response.Redirect "admin.asp?visa=inne"


Snälla hjälp mig så fort som möjligt för jag behöver det så fort som det bara är möjligt!

Mvh Jennifer

digiArt 2006-04-21 15:59

Antagligen saknar din databastabell "rating" en kolumn som heter "name"

Westman 2006-04-21 21:09

Stor varning för att använda name som namn på en kolumn!

Name, date, time etc. ska man absolut undvika. De måste inneslutas inom klammrar för att användas om jag minns rätt.

Westman 2006-04-21 21:11

PS. Left(Url,7) = "http://" funkar inte så bra om man skriver "Http://". Använd lcase(Left(Url,7)) = "http://" istället.

JeZZifelt 2006-04-22 15:50

Okej.. Hmm, glömde att ändra i databasen :D Jo, först hette det inte "name" men sedan testade jag att byta namn till "name" för att se om det gick så det är därför den heter name. Tack så mycket för tipset Westman! :)

JeZZifelt 2006-04-22 16:10

Nu har jag ändrat båda i databasen och det som du sa Westman, och nu får jag följande felmeddelande istället:
Citat:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/admin.asp, line 194

Raderna fick ni ju förut och det ska ju vara samma rader så att.. jaa... hjälp? :P

Robert 2006-04-22 16:23

Jag ser att du skickar in enkelfnuttar runt alla värden i din sqlsyntax. Är verkligen alla dessa uppsatta som char/varchar i din tabell (även Age?)

JeZZifelt 2006-04-22 20:20

Enkelfnuttar? :P är inte helt haj på databaser om jag ska vara ärlig.. en annan fixade databasen åt mig.. :P Men jag trodde jag gjorde rätt nu men det gjorde jag tydligen inte. Kanske du ville vara jätte snäll och ta en titt åt mig? http://www.TopCat.somee.com/db/rating.mdb Vore snällt om du eller någon annan ville hjälpa mig lite med databasen eftersom jag har otåliga besökare på hemsidan som väntar på att det ska funka.. ;)
Mvh Jennifer

Westman 2006-04-22 21:26

En enkel tumregel:
siffror = inte fnuttar
text = fnuttar

Westman 2006-04-22 21:34

url, link, namn, a_info, a_namn, ras, info = med fnuttar
resten utan

Westman 2006-04-22 21:36

Byt ut
Kod:

SQL = "Insert Into rating (link,url,info,name,age,ras,a_name,a_age,a_info) Values('" & Request.Form("link") & "','" & Request.Form("url") & "','" & Request.Form("info") & "','" & Request.Form("name") & "','" & Request.Form("age") & "','" & Request.Form("ras") & "','" & Request.Form("a_name") & "','" & Request.Form("a_age") & "','" & Request.Form("a_info") & "')"
mot
Kod:

SQL = "Insert Into rating (link,url,info,namn,age,ras,a_name,a_age,a_info) Values('" & Request.Form("link") & "','" & Request.Form("url") & "','" & Request.Form("info") & "','" & Request.Form("name") & "'," & Request.Form("age") & ",'" & Request.Form("ras") & "','" & Request.Form("a_name") & "'," & Request.Form("a_age") & ",'" & Request.Form("a_info") & "')"

JeZZifelt 2006-04-23 10:44

Tack så mycket! :) Ska testa med det och se om det funkar! :)
Fast jag såg ingen skillnad? :blink: Heh.. vad har du ändrat? :P

JeZZifelt 2006-04-23 11:03

Ta en titt på databasen är ni snälla! :) Har ändrat "name" och "a_name" till "namn" och "a_namn"

Westman 2006-04-23 13:01

Skillnaden är name -> namn och sen tog jag bort "enkelfnuttarna" på age och a_age.
SQL = "Insert Into rating (link,url,info,name,age,ras,a_name,a_age,a_info) Values('" & Request.Form("link") & "','" & Request.Form("url") & "','" & Request.Form("info") & "','" & Request.Form("name") & "','" & Request.Form("age") & "','" & Request.Form("ras") & "','" & Request.Form("a_name") & "','" & Request.Form("a_age") & "','" & Request.Form("a_info") & "')"

Såg ingen skillnad i databasen nu mot igår.

EDIT: Med andra ord så har du inte ändrat namn till a_namn i databasen vad jag kan se.

JeZZifelt 2006-04-24 18:20

Jo det har jag.. eller jag fixade det igår innan jag sg ditt inlägg.. jag hade gjort ett litet fel i admin.asp men nu är det fixat och det funkar finfint! :)


Alla tider är GMT +2. Klockan är nu 00:28.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson