Rätt uppfattat.
Ny med ASP! Enkla frågor antar jag..
109 svar · 2 560 visningar · startad av tranceformer · sida 2 av 6
Frågan, av tranceformer
Jag har börjat med lite ASP och håller på att göra en butik, en väldigt enkel sådan till att börja med! Det jag ska göra är att ta informationen från textrutorna(enbart textrutor) i formen, och lägga in den i en databas. Till att börja med undrar jag ifall alla sidor ska sluta med .asp ifall man bara behöver ASP-kod på butiken. Jag har använt mig av[Haneng.com](http://www.haneng.com/lessons13.a
Läs frågan i sin helhet →tranceformer skrev:
Men när man väl ska skicka till databasen... är det det första svaret i tråden som gäller då?
Är det så?
Och hur många tabeller behöver jag göra i databasen? Ska man göra en till varje beställning genom nån SQL-kod, eller hur gör man?
Hur menar du?
När jag ska skicka informationen till databasen, så måste jag väl först ha en tabell att stoppa informationen i ? Är det rätt till att börja med?
När jag ska in med ännu mer information(beställningar) ska jag då ha en ny tabell till den beställningen, och hur gör jag det då?
Ja, mycket riktigt måste du ha en tabell i databasen som lagrar informationen. Ett exempel kan se ut ungefär såhär:
Databasen:
tabell ---> INFORMATION
kolumner ---> dbNamn dbEmail
Först formuläret
<form name="sendNew" action="insert.asp" method="post">
Namn: <input type="text" name="namn">
<br>
Email: <input type="text" name="email">
<br
<input type="submit" value="Skicka">
</form>
Nu skickar vi datan som fylls i till sidan insert.asp. På den sidan skall vi ta emot datan och lagra den.
Först kopplar vi till databasen:
<%
Set con = Server.CreateObject("ADODB.Connection")
con.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("databas.mdb")
Nu har vi kontakt med databasen. Nu skall vi lagra informationen i databasen. Detta görs med en SQL-sats:
SQL = "INSERT INTO (dbNamn,dbEmail) VALUES (' " & Request.Form("namn") & "', '" & Request.Form("email") & "'"
dbNamn samt dbEmail är namnen på kolumnerna i databasen, så koden vet vart datan skall lagras. I vilken kolumn alltså.
Sedan ska vi köra SQL-frågan:
Set rs = db.Execute(SQL)
Sedan brukar man även stänga kopplingen och recordsetet:
rs.Close
Set rs = nothing
db.Close
Set db = nothing
Och om du t.ex. har en sida där man skriver ett gästboksinlägg, registrerar sig på eller vad det nu är så kan det skall man ju självklart skickas tillbaks. Detta görs med denna kod:
Response.Redirect "start.asp"
%>
Fullständig kod:
<%
Set con = Server.CreateObject("ADODB.Connection")
con.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("databas.mdb")
SQL = "INSERT INTO (dbNamn,dbEmail) VALUES (' " & Request.Form("namn") & "'. '" & Request.Form("email") & "'"
Set rs = db.Execute(SQL)
rs.Close
Set rs = nothing
db.Close
Set db = nothing
Response.Redirect "start.asp"
%>
Har inte prövat koden, men det behövs nog inte, är relativt säker på att den skall fungera.
Ni duktiga ASP-kodare, rätta mig gärna om jag sagt något fel eller om jag har dålig kod
Skulle byta provider i ovanstående kod till följande:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("databas.mdb")
Vidare ska punkten i sql-strängen vara ett komma.
Sedan är det ju lite bättre att köra omdirigeringen efter databas-stängningen, annars stängs ju aldrig databasen.
Josef: Redigerat! Tackar :)
Skulle vara bra om du redigerar den fullständiga koden också...
:r Ledsen, nu är allt fixat, förhoppninsvis.
RED: För övrigt, hur kan svaret vara accepterat av override?
Jag förstår fortfarande inte varför OveRRidE accpterat svaret! :q
Tack så hemskt mycket magnusfernstrom!
Ska testa imorgon när jag är klarare i huvudet ;)
Förstår inte heller hur det kan vara accepterat..!? Jag förmodar att jag kommer att komma på något mer så småning om ;)
Jag förmodar att jag kommer att komma på något mer så småning om
Ja, men försök att dela upp olika frågor i flera olika trådar (utan att överdriva då, givetvis). Det går ju inte att acceptera ett svar som slutgiltigt om det är fem frågor i samma tråd, eller hur?
RED: För övrigt, hur kan svaret vara accepterat av override?
I am the allmighty moderator in the ASP-forum and I have the power to kill you all, with a single look. Death by tray it shall be. For I am Darth Vader and.. *harkel*
Nej, skämt åsido; moderatorerna i respektive forum har rätt att acceptera/avacceptera svar. Däremot anledningen till att jag accepterade just det svaret, det får ni fråga någon annan om, för det vet jag inte själv. ;)
Jo precis :)
Det är ju EN butik jag behöver hjälp med, så jag tänkte att det var lämpligast att göra EN tråd, jag kan ju faktist acceptera det sista svaret jag behöver ;)
Varför tror ni att vi accepterar svar i trådarna?
Om nu din shop hade behandlat olika ämnen som kanske tillochmed sträcker sig över forumgränserna, så hade inte en ihopslagen tråd varit så lyckad, eller hur?
Som jag sa; man skall inte separera allt, men man kan tänka på det.
Finns det någon här som har erfarenhet av Aleborg.se ? Jag ska lägga upp sidan jag har butiken i där, och undrar hur man kopplar ihop databasen med butiken.
Man ska lägga databasen i "datamappen" står det, men jag tänkte använda mig av MySQL-databasen man får från Aleborg...går det?
Jag har självklart frågat supporten där, men min hotmail funkar inte för tillfället, och sidan ska vara uppe senast Fredag... :o :l
Då måste du nog hantera datan i MyAdmin. Ett verktyg som följer med, om jag inte minns helt fel. Har inte så stor erfarenhet gällande MySQL-databaser.
Alltså i en databas lagras ju data. Text t.ex. När du har en gästbok t.ex. lagras ju texten du skriver i en databas för att sedan skrivas ut. Text = data. Databas = en bas med samlad data. Ungefär :)
När du skall hantera din data, det vill säga skapa databas och se all data som lagrats måste du ju ha en databashanterare - ett program. Access-databaser öppnas ju i Access. MySQL öppnas i MyAdmin så vitt jag vet. Finns nog program som fixar detta också. Men med MyAdmin administrerar du databasen direkt i webläsaren. Utan att behöva ladda ner databasen.
Ifrån MyAdmin skapar du databaser också. Du hittar nog MyAdmin-gränsnittet någonstans i någon sort kontrollpanel på ditt webbhotell.
Ni proffs, rätta mig mer än gärna om jag har helt fel
Jodå! Det har jag hittat :) Men jag vet inte hur jag ska koppla databasen till min sida...förstår inte vilken adress jag ska ange när datan ska skickas till basen.
