Permalänk
Medlem

Formulär i asp

Tjena.

Har sökt och allt tjaffs men jag hittar inget script som löser mina problem.

Jag vill helt enkelt ha ett script som man använder sig av när man ska gå med i ett nyhetsbrev.

Jag vill alltså ha ett förmulär som är kopplat till en databas som lagrar email adresser.

Blev kanske lite krångligt, men vet ni något?

Permalänk
Hedersmedlem

1) Googla hur man skriver formulär i HTML och hur man hämtar informationen mha ASP

2) Googla fram hur man skriver till en databas mha ASP

Se inte inlägget som drygt, se det som att du får svar på ca 5min mha google om du vet vad du skall söka på.

Visa signatur

- If you don't change direction, you may end up where you're heading

Permalänk
Medlem

Jaha, då blev ju allt jätte klart för mig, se inte det här inläget heller som drygt...

Permalänk
Medlem

Exempel i asp med mssql som databasserver

Vilket programmeringsspråk använder du?

Vilken typ av databasserver använder du?

Slänger med en länk där du kan läsa mer.
http://ivarssons.nu/petter/asp/asp_db_insert.htm

Ett snabbt exempel på hur det skulle kunna se ut om du använder ASP och en MSSQL-server.

fegis.asp:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <% dim skickat : skickat = request.form("skicka") if skickat = "skickat" then Set MinConn = Server.CreateObject("Adodb.Connection") MinConn.Open "Driver=SQL server;server=localhost;uid=login;pwd=hej;database=home" dim namn : namn = request.form("namn") dim epost : epost = request.form("epost") SQL = "INSERT INTO maillist(namn, email) VALUES ('" & namn & "', '" & epost & "')" MinConn.execute(SQL) MinConn.close : Set MinConn = Nothing end if %> <head> <title>Lek och lär</title> </head> <body> <form action="fegis.asp" method="post"> Ditt namn<input type="text" name="namn"><br> Din epost<input type="text" name="epost"><br> <input type="hidden" name="skicka" value="skickat"> <input type="submit" name="Submit" value="Lägg till"> </form> </body> </html>

databasen:

CREATE TABLE maillist ( namn VARCHAR(50), email VARCHAR(100) UNIQUE NOT NULL );

Permalänk
Medlem

ah, skrev jag inte det.

ASP och en MSSQL använder jag.

Får felet

Microsoft JET Database Engine error '80040e37'

Could not find output table 'Users'.

/asp_db_insert.asp, line 75

Permalänk
Medlem

Skapa databas mssql

Du måste skapa databasen först, med de tabeller som används.

Testa mitt exempel som jag skrev ovan.

För att skapa databasen:
Öppna query analyzer, klistra in följande kod och tryck GO.

CREATE DATABASE home USE home CREATE TABLE maillist ( namn VARCHAR(50), email VARCHAR(100) UNIQUE NOT NULL );

Permalänk
Medlem

Ah, vad kompicerat det vart helt plötsligt.
Säkert på att det inte finns ett enkelt script som sparar i en access databas?

Permalänk

Blir nog tvärr inte så mycket enklare än så om du vill ha ett formulär och spara det i en databas...

Visa signatur

The Programmer

Permalänk
Medlem

Ah okej.

Men query analyzer får jag inte att fungera, är :
http://www.shareup.com/Multiple_Database_Query_Analyzer-downl...

rätt?

Permalänk
Medlem

Query analyzer är en mjukvara som följer med MSSQL server. I MSSQL server 2005 ligger den inbyggd i SQL Server management studio.

Om du vill lära dig lite mer om databaser så tycker jag du ska göra denna googling:
sql database tutorial example

Och sedan när du vill använda databasen från ASP:
+ASP +database tutorial

På w3schools går dom igenom lite om sql -
http://www.w3schools.com/sql/sql_intro.asp

Denna snubbe har skrivit en hel del om databaser hur dom används med ASP, på svenska -
http://ivarssons.nu/petter/sql/sql_index.htm

Permalänk
Medlem

Alltså, ni måste ha fel eller så har jag yrrat och fått er att tro något annat.

Jag vill alltså ha ett helt enkel asp script som är kopplat till en access databas, där man på hemsidan knappar in sin email och den sparas i access databasen. Typ som när det är ett admin script, fast den bara matar in en grej.

Det vet jag ju att det finns och då ska det inte vara så här komplicerat

Permalänk
Medlem

Skapa en accessdatabas som har fälten
namn (text)
mail (text)

Sen kan du använda koden här:

Save.asp <% if Request.Form("name") = "" then Response.write "Du måste ange namn" end if if Request.Form("mail") = "" then Response.write "Du måste ange mail" end if 'Enkelt skydd mot sql-injektioner 'Tror jag iaf mail = Replace(Request.Form("mail"),"""","-") namn = Replace(Request.Form("namn"),"""","-") Set Connect = Server.CreateObject("ADODB.Connection") connect.Open("Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source="c:\sökväg\dindatabas.mdb") SQL = "Insert into databasblad (namn, mail) VALUES ("' & namn & '","' & mail & '")" Connect.Execute(SQL) Set Connect = nothing Response.redirect "formular.asp?action=done" %>

formular.asp <% if Request.QueryString("action") = "done" then Response.write "Sparad!" end if %> <form method='post' action='save.asp'> Namn: <input type='text' name='namn'> Mail: <input type='text' name='mail'> <input type='submit' value='save'> </form>

Edit: Inte testad koden, men den borde fungera... Det som kan tänkas vara fel är SQL-strängen eller Replace-grejerna. Sen måste du skriva sökvägen till din databas också, istället för c:\dinsökväg...

Visa signatur

Modermodem från ONOFF och bildskärmsutrustning från Electrolux. US Robotics 28.8K telefonuppringd internetförbindelse. Har en förkärlek för tysk tjejpop.