ASP - Een ASP-pagina maken. Overzicht van Active Server Pages (ASP)-technologie

1) Algemene informatie over ASP
ASP (Active Server Pages) is een programmeertechnologie waarmee u dynamische, interactieve webpagina's op een webserver kunt maken (met IIS, 1997). ASP-bestanden zijn bestanden met de extensie *.Asp die een combinatie van HTML-code, VBScript- of JavaScript-scriptcode, databasetoegangstools (ADO), extern COM-objectbeheer en interne ASP-objecten bevatten. Deze technologie werd voor het eerst geïmplementeerd in de IIS-webserver van Microsoft en is feitelijk een geïnterpreteerde versie van de ISAPI-serverextensie.

2) Inbouwobjecten
ASP bevat zeven ingebouwde objecten (geen creatie of initialisatie vereist) die worden gebruikt om HTML-pagina's en gegevens naar de browser te verzenden, gegevens op te halen, te communiceren met de server, enzovoort. onder hen:
. Antwoord– verzendt gegevens naar de klant
. Verzoek– verwerkt gegevens ontvangen op verzoek van de opdrachtgever.
. Server– zorgt voor interactie met de server.
. Sollicitatie– cachet applicatiegegevens.
. Sessie– cachet browsergegevens.
. ObjectContext– start transacties en beheert de uitvoering ervan.
. ASPEFout– ondersteunt foutafhandeling.

3) ASP-functies
Naast de ingebouwde objecten bevat de ASP-kit een aantal geïnstalleerde objecten, waarvan sommige nuttig zijn, en sommige onvervangbaar. Het COM Dictionary-object is dus onmisbaar.

In tegenstelling tot CGI draait het ASP-script als een intern serverproces, is het ook multi-threaded en geoptimaliseerd om grote aantallen gebruikers te verwerken. Het ASP-script wordt uitgevoerd nadat de browser een bestand met de extensie *.Asp opvraagt ​​bij de webserver. De webserver roept de ingebouwde IIS ASP-verwerkingsengine (..\System\InetSrv\Asp.Dll) aan, die het script leest en alle aangetroffen opdrachten uitvoert. Als gevolg hiervan wordt een HTML-pagina gegenereerd en naar de browser verzonden.

Om iets serieus te kunnen doen op een webserver met behulp van ASP, moet u COM-objecten maken en hun services (methoden) gebruiken. ASP-componenten moeten het STA-threading-model gebruiken: elk object draait in de context van zijn eigen thread en is beschermd tegen concurrerende threads.

4) Toegang tot ingebouwde objecten
Om toegang te krijgen tot de ingebouwde interfaces van gemaakte COM-objecten, moet u de volgende interfaces gebruiken:
a) Gebruik de GetObjectContext-functie om een ​​verwijzing naar de IObjectContext-interface te verkrijgen;
b) Met behulp van een pointer zou u een pointer naar de IGetContextProperties-interface moeten krijgen;
c) Door de methode GetProperties() aan te roepen en deze de naam van het ingebouwde object door te geven, bijvoorbeeld Request of Response, en een variantvariabele, kunt u hierdoor een verwijzing naar de IDispatch-interface van het aangevraagde object verkrijgen;
d) Vervolgens kunt u methoden aanroepen op het ingebouwde object.

5) Nadelen van ASP
. ASP-programma's worden niet gecompileerd, maar geïnterpreteerd. Bijgevolg worden ze langzamer uitgevoerd dan gecompileerde versies.
. ASP beschikt niet over geavanceerde hulpmiddelen voor typedefinitie. Alle variabelen zijn van het type Variant (16 bytes). Dit is handig, maar verbetert de snelheid niet.
. Externe bestanden moeten elke keer dat u ze opent, worden toegevoegd.
. ASP behandelt alle objectvariabelen als laatgebonden objecten. Elke keer dat een eigenschap of methode wordt benaderd, worden alle gegevens over het object opgevraagd, waardoor de responstijd toeneemt.

6) Voorbeeld van ASP-implementatie
— Noodzakelijke instellingen en instellingen
Op de server moet u IIS (WEB5-directory), ADO, ODBC (Systeem DSN - SLS), InterBase (FireBird) installeren. We zullen de Sales.Gdb-database als gegevensbron gebruiken.

— Structuur van het databasetoegangsprogramma

HTML-kop:

ASP-demo

Verbinding maken met de database


Verbinding maken met de database:
<%
Sec Conn=Server.CreateObject(“ADODB.Connection”)
VerbindingOpen “SLS”
Stel RS=Conn.Execute(“SELECT * FROM Customer”) in
%>
HTML-voettekst:


Gegevensleescyclus:


<% FOR i=0 TO RS>Velden.Aantal-1 %>

<% NEXT %>
<% Do While Not RS.EOF %>

<% FOR i=0 TO RS>Velden.Aantal-1 %>

<% NEXT %>
<% RS.MoveNext
Lus
RS.Sluiten
Verbinding sluiten
%>

— Werken met het programma
Om het programma uit te voeren, typt u in uw browser: http://localhost/web5/sales/php

7) ASP-klonen en analogen
. Chili! Zacht
Chili!Soft, een product van het gelijknamige bedrijf, is een redelijk flexibele ASP-kloon die op verschillende hardware, besturingssystemen en webservers kan draaien. Er wordt aangenomen dat Chili!Soft en ASP voor 90% compatibel zijn.

. Java-serverpagina's
Java Server Pages (JSP) is een technologie die lijkt op ASP, maar die alleen de Java-taal in combinatie met HTML gebruikt om het dynamisch genereren van pagina's op elk Java-platform te ondersteunen. JavaBeans-objecten zijn analoog aan COM-objecten.

. Apache::ASP
Apache::ASP, gebaseerd op PerlScript van het Apache Perl International Project, draait op verschillende besturingssystemen, maar alleen met de Apache-webserver.

. PHP
De open-gelicentieerde taal PHP heeft vergelijkbare mogelijkheden. Het is waar dat PHP-technologie gebaseerd is op klassieke objectmodulebibliotheken, en niet op het gebruik van het COM-componentobjectmodel en ActiveX-besturingselementen.

8) ASP.NET
Na ontvangst van het verzoek gebruikt de server (in dit geval IIS) de extensie *.Aspx om vast te stellen dat de client een ASP.NET-pagina heeft aangevraagd. IIS geeft de webpagina vervolgens door aan een speciale ISAPI-server, aspnet_isapi.dll. Deze server stuurt de pagina door naar het Asp.Net-proces: ..\Framework\v4..\aspnet_wp.exe. Het werkproces roept de Common Language Runtime (CLR) aan, die de verantwoordelijkheid op zich neemt voor het compileren en uitvoeren van de paginacode. In de praktijk moet u Dll-servers verbinden via het COM-Interop-mechanisme, dat kan worden gestart in het hoofdserverproces.

Active Server Pages is een programmeeromgeving waarmee u HTML, scripts en componenten kunt combineren om dynamische webapplicaties te creëren.

De mogelijkheid om scripts (code geschreven in een programmeertaal, zoals VBScript of JScript) in webpagina's in te sluiten, stelt u in staat om ontwerp logisch te combineren met gegevens verkregen uit verschillende bronnen, bijvoorbeeld uit een database.

De ideologie van het creëren van moderne webapplicaties is het inkapselen van bedrijfslogica in afzonderlijke componenten die zijn geschreven met behulp van COM-technologie. ASP-technologie is in dit geval de verbindende schakel tussen deze componenten en de webapplicatie-interface.

Bedrijfsprincipes

Voor het gebruik van Active Server Pages zijn geen specifieke browsers vereist. Alle ASP-scripts worden gestart en uitgevoerd op de webserver, waarbij de browser alleen de resulterende HTML-bestanden ontvangt. Microsoft Internet Information Server ondersteunt vanaf versie 3.0 Active Server Pages.

Extern functioneert ASP hetzelfde als CGI. Parameters (reeksen van queryformaten) worden op dezelfde manier doorgegeven en de resultaten worden uitgevoerd. De prestaties van ASP zijn echter veel hoger, omdat niet elk verzoek de ASP-interpreter afzonderlijk laadt. Het gebruik van ActiveX-componenten verbetert ook de prestaties van de webserver aanzienlijk.

Syntaxisbeschrijving

ASP-code die op de server moet worden uitgevoerd, wordt in speciale tags geplaatst<% %>. Omdat deze code op de server wordt verwerkt, is deze niet beschikbaar voor de gebruiker. De code zelf kan worden geschreven met Visual Basic Scripting Edition (VBScript) of JScript (JavaScript). ASP-technologie maakt het gebruik van andere programmeertalen mogelijk. In feite moeten we het niet hebben over de ASP-syntaxis, maar over de taal die wordt gebruikt om ASP-code te schrijven. De syntaxis van VBScript is veel eenvoudiger dan die van andere talen, dus het zal voor een beginner gemakkelijk te begrijpen zijn.

Objecten en componenten

VBScript is geen volledige programmeertaal en het gebruik van de ingebouwde tools is duidelijk niet voldoende. Daarom gebruiken ASP-pagina's speciale ActiveX-objecten en -componenten.

Er is een reeks "ingebouwde" objecten die automatisch worden geïnitialiseerd en aan het ASP-script worden geleverd wanneer de verwerking begint. Deze objecten bieden toegang tot fundamentele "vitale" functies:

  • Met het Application-object kunt u variabelen maken die beschikbaar zijn voor alle gebruikers van de webapplicatie.
  • Met het Session-object kunt u gegevens opslaan die aan een individuele gebruiker zijn gekoppeld.
  • Het Request-object biedt CGI-aanvraagparameters die worden verzonden met behulp van de POST- of GET-methode.
  • Het Response-object biedt methoden voor het toevoegen van informatie en voor het genereren van headers voor de responspagina van de webserver.
  • Het Server-object bevat veel verschillende methoden, waarvan er één de CreateObject-methode is, waarmee u exemplaren van ActiveX-componenten kunt maken.

In tegenstelling tot ingebouwde ASP-objecten moeten ASP-componenten expliciet in scriptcode worden gemaakt. Er is een groot aantal ActiveX-componenten die op ASP-pagina's kunnen worden gebruikt, en de meeste ervan worden gratis verspreid.

Er moet bijzondere aandacht worden besteed aan ADO-objecten (ActiveX Data Objects), krachtige geïntegreerde hulpmiddelen voor het maken van databasetoepassingen. ADO-componenten bieden een snelle en gemakkelijke interface met de database op het hoogste niveau, terwijl de draagbaarheid van ontwikkelde applicaties voor het werken met andere databases behouden blijft. Het gebruik van ADO-componenten vereenvoudigt het werk van de programmeur aanzienlijk; het enige dat hij hoeft te doen is SQL-query's correct in de database opstellen en zorgen voor het uitvoeren van de resultaten.

Als onderdeel van de werking van een webapplicatie is het mogelijk om handlers te creëren voor basisgebeurtenissen, zoals het starten en stoppen van een webapplicatie, en het openen en sluiten van een gebruikerssessie. Deze gebeurtenissen worden beschreven in een speciaal ASP-bestand, global.asa. Gebeurtenisgegevenshandlers kunnen worden gebruikt om objecten te initialiseren of de waarden van globale variabelen in te stellen.

Ontwikkelingshulpmiddelen

U kunt in elke teksteditor ASP-pagina's maken, maar dit is niet altijd handig. Naast het schrijven van code in VBScript is het nodig om deze te debuggen, wat alleen mogelijk is op een functionerende webserver (IIS) en met speciale tools.

Microsoft Visual InterDev 6.0 (meegeleverd met Microsoft Visual Studio) is een van de beste tools waarmee u niet alleen snel en efficiënt ASP-code kunt maken, maar ook geavanceerde foutopsporing in code kunt uitvoeren. Belangrijkste kenmerken van dit product:

  • Bekijk een lijst met gebruikte objecten en de mogelijkheid om snel code te schrijven.
  • Codesyntaxisaccentuering (VBScript en JScript).
  • Automatische generatie van global.asa-inhoud.
  • Wanneer het in de foutopsporingsmodus wordt gestart, configureert InterDev automatisch de webserver (IIS) in de gewenste modus, en herstelt de instellingen wanneer het foutopsporing is voltooid.
  • Mogelijkheid om breekpunten in te stellen.
  • Bekijk de waarden van variabelen (watches) en de lijst met aangeroepen procedures (call stack).

Er zijn ook andere gespecialiseerde editors waarmee u ASP-applicaties kunt ontwikkelen, zoals Home Site 4.5, Macromedia UltraDev 4.0 of ASP Express.

Deze tools dekken echter niet volledig de mogelijkheden van Visual InterDev.

Nieuwe functies in IIS 5.0

Er zijn nieuwe tools voor foutafhandeling verschenen. Met het nieuwe AppError-object kunt u nu informatie krijgen over fouten die optreden tijdens de runtime- en paginaparseerfase.

De nieuwe versie van de Script Engine van Windows 2000 heeft krachtige nieuwe ondersteuning voor de talen VBScript en JScript. In VBScript-scripts kunt u nu tools gebruiken voor het controleren en parseren van complexe expressies, en voor het maken van klassen.

Tools voor gegevenstoegang hebben ook aanzienlijke veranderingen ondergaan: de MDAC 2.5-kernel is nu opgenomen in het besturingssysteem, dat met name integratie met XML-tools biedt.

Ondersteuning voor andere programmeertalen

Samen met Visual Basic Scripting Edition (VBScript) ondersteunt IIS JScript-verwerking (JavaScript). U kunt allemaal dezelfde objecten gebruiken, maar alleen de syntaxis van de verbindende structuren verandert.

Het voordeel van ASP-technologie is dat u hiermee andere programmeertalen kunt gebruiken. Om ze te ondersteunen, moet u de juiste Script Engine-modules installeren. Ondersteuning voor de Perl-taal (of beter gezegd ActivePerl) kan bijvoorbeeld worden bereikt met behulp van een module van ActiveState (http://www.activestate.com/). Er zijn ook modules ter ondersteuning van REXX en Python.

Er zijn producten van derden die ASP-technologie op andere platforms ondersteunen. Chili!Soft ASP, van Chili!Soft, Inc. (http://www.chilisoft.com/) biedt bijvoorbeeld ASP-ondersteuning op verschillende webservers, zoals: Apache, Lotus, Netscape, O'Reilly , die onder verschillende besturingssystemen kan werken.

Ik zal het je niet vertellen. Als u zich in deze sectie bevindt, begrijpt u ongeveer wat u nodig heeft. Als je het niet begrijpt, zal ik je vertellen dat ik niet programmeer in ASP .NET en dat ook nooit zal doen. Ik zal je ook geen specialist in ASP .NET-programmering aanbevelen. Ik ben gespecialiseerd in webontwikkeling en systeembeheer. ASP .NET is helemaal niet voor deze doeleinden gemaakt. Ja, u kunt een website in deze taal ‘schrijven’. Maar dit staat gelijk aan het kopen van een passagiersbus en deze alleen naar het werk rijden.

Waarom wordt ASP .NET op internet gebruikt?

Grotendeels vanwege het feit dat producten die in deze programmeertaal zijn gemaakt perfect in Windows kunnen worden geïntegreerd (wat niet verrassend is, aangezien ze dezelfde ontwikkelaar hebben, maar dit is in theorie). In de praktijk is dit vaak niet het geval. Wat leren Windows-systemen ons allemaal? We hoeven niets anders te doen dan op de muistoetsen te klikken. We vertellen het besturingssysteem niet wat we willen doen of hoe we het willen doen. Wij wijzen haar erop met de muis. Maar programmeurs zijn ook ‘mensen’. Ze willen ook hun inspanningen om resultaten te behalen minimaliseren.

Om code voor ASP .NET te schrijven, zijn er veel toepassingen die het leven van een programmeur gemakkelijker maken. Degenen die begin deze eeuw probeerden websites te maken, gebruikten waarschijnlijk het programma Dreamviewer (toen het nog een product was van Macromedia Corporation). Het is enerzijds erg handig om het programma te openen, het type HTML-bestand te selecteren dat u wilt maken en op Ok te klikken. Het programma vormt bij het maken van een nieuw document zelf zulke belangrijke elementen als het documenttype en het headerblok. En de ontwikkelaar hoeft niet eens te begrijpen wat daar staat. Door dergelijke programma's te gebruiken, verliest de ontwikkelaar het vermogen om te denken, om na te denken. U kunt er zeker van zijn dat 95% van de ASP .NET-ontwikkelaars hun programmacode niet in een gewone Windows Notepad-toepassing kunnen schrijven. En de meeste PHP-programmeurs schrijven hun programma's in Kladblok en soortgelijke applicaties. Veel ASP .NET-programmeurs die websites maken, weten niet eens welke structuur een HTML-document moet hebben. Wat zijn de verplichte vereisten voor documenten zoals HTML5 en XHTML? Veel van deze ontwikkelaars zouden niet eens begrijpen wat ik hiermee bedoelde.

ASP .NET is goed voor het schrijven van applicaties die in de Windows-omgeving moeten werken met gebruikersgegevens (bijvoorbeeld de login waarmee de gebruiker geautoriseerd is in het domein of op zijn computer). Het is ook goed om applicaties in ASP .NET te schrijven die werken met gegevens die zijn opgeslagen in het MS SQL DBMS. Maar zelfs hier slagen de meeste ASP .NET-programmeurs erin hun taak te “vereenvoudigen”. Om query's op MS SQL-databases te bouwen, gebruiken ze speciale programma's: querymanagers. En het is veilig om te zeggen dat dergelijke programmeurs geen idee hebben hoe databasequery's eruit zouden moeten zien.

Zoals u weet is een forum een ​​communicatiemiddel tussen internetgebruikers, en tegelijkertijd is het een grote lijst met vragen en antwoorden over een bepaald onderwerp, en misschien kan geen enkele moderne site zonder een forum. In dit artikel vertel ik je hoe je snel je eigen forum op ASP kunt maken, en daarvoor hoef je nergens heen, zoek en download je eventuele extra programma's, en hoef je niet eens een programmeur te zijn. Om dit te doen is het voldoende om over Windows 2000/XP en een pakket MS Office-programma's te beschikken, namelijk MS Access. U kunt het gewone Kladblok gebruiken als reactor voor ASP-pagina's.

Actieve serverpagina's

ASP (Active Server Pages) is een technologie voor het dynamisch maken van webpagina's, ontwikkeld door Microsoft voor Windows NT/2000/XP/2003-servers. De basis van de ASP-syntaxis is de programmeertaal op hoog niveau - Visual Basic. Als u eerder met Visual Basic heeft gewerkt, zal het voor u niet bijzonder moeilijk zijn om ASP te begrijpen. Maar zelfs als u nog nooit met programmeren bent geconfronteerd, zal het nog steeds niet moeilijk voor u zijn om ASP te begrijpen, aangezien, zoals u weet, Visual Basic een vrij gemakkelijke taal is om te leren.

Eigen webserver? Gemakkelijk!

Voordat u begint met het maken van een forum, moet u IIS (Internet Information Services) installeren. Dit is een professionele webserver ontwikkeld door Microsoft. Windows 2000 en Windows XP bevatten IIS versie 5.0. IIS is standaard niet geïnstalleerd en moet dus afzonderlijk worden geïnstalleerd. Om dit te doen, klikt u op “Start” => “Configuratiescherm” => “Programma's toevoegen/verwijderen”, in het venster dat verschijnt, klikt u op “Windows Installatie”. Het venster Windows-functies zou moeten verschijnen. Selecteer Internetinformatieservices en klik op Volgende.

Na voltooiing van de installatie verschijnt in het “Configuratiescherm” => “Beheer” een snelkoppeling - “Internet Information Services”, bovendien kan uw computer nu de rol van een webserver spelen! Om dit te controleren, start u een browser (bijvoorbeeld Internet Explorer) en typt u: http://localhost/ in de adresbalk. Hierdoor wordt de standaardwebsite geopend die door IIS is gemaakt. Bovendien hebt u toegang tot de server als u http://uw_computernaam in de adresbalk invoert, of als u het lokale IP-adres opgeeft: http://127.0.0.1.

Nu we onze eigen webserver hebben, moeten we deze configureren. Start IIS: “Start” => “Configuratiescherm” => “Systeembeheer” => “Internetinformatieservices”.

Het venster dat verschijnt toont de mapstructuur van uw website, evenals de SMTP- en FTP-servers, als deze componenten zijn geïnstalleerd. Vouw de lijst “Websites” uit en klik met de rechtermuisknop op “Standaardwebsite”, selecteer het menu “Nieuw” => “Virtuele map”. Het venster “Wizard voor het maken van virtuele mappen” verschijnt. Klik op “Volgende”. De wizard zal u vragen de virtuele mapalias op te geven. De bijnaam moet uit Latijnse tekens bestaan, schrijf bijvoorbeeld "myforum.ru" en klik op "Volgende". De wizard zal u vragen een fysieke map op de schijf te selecteren. Klik op de knop "Bladeren", selecteer in het venster dat verschijnt "Schijf C:" en klik op de knop "Nieuwe map". De mapnaam kan ook van alles zijn, maar om misverstanden te voorkomen, wordt het niet aanbevolen om Russisch te gebruiken karakters. Om verwarring te voorkomen, kunt u deze bijvoorbeeld 'eerste_web_pagina' noemen. Selecteer de aangemaakte map en klik op Volgende. In het venster dat verschijnt, selecteert u de opties “Lezen” en “Scripts uitvoeren (bijvoorbeeld ASP)” en klikt u op “Volgende” en vervolgens op “Voltooien”.

Nu zou de virtuele map die u zojuist hebt aangemaakt - myforum.ru - moeten verschijnen in de lijst "Standaardwebsite". Dat is alles, er hoeft niets anders te worden geconfigureerd.

Database

Forumberichten moeten ergens worden opgeslagen. Meestal worden hiervoor databases gebruikt. Er zijn verschillende databases, maar de meest toegankelijke zijn MS Access-databases. MS Access is inbegrepen bij MS Office. Als u om de een of andere reden MS Access niet hebt geïnstalleerd, moet u dit installeren. Om dit te doen, klikt u op “Start” => “Configuratiescherm” => “Programma’s toevoegen/verwijderen”, in het venster dat verschijnt, zoekt u “Microsoft Office” en klikt u op de knop “Wijzigen” (of “Wijzigen/Verwijderen”) . In het venster dat verschijnt, stelt u de optie “Toegang” in en klikt u op de knop “Update”. Het installatieproces duurt een paar minuten. Hierna verschijnt het pictogram "Microsoft Office Access" op het bureaublad.

Start MS Access en maak een nieuwe database aan. Het programma zal u onmiddellijk vragen het gegevensbestand op te slaan; sla het op onder de naam “db.mdb” in de eerder gemaakte map - “C:\first_web_page”. Vervolgens zou het databasebeheervenster moeten verschijnen.

Selecteer in de sectie Objecten Tabellen en klik op Tabel maken in de ontwerpweergave. Voeg de volgende tabelvelden toe:

Sluit het Designer-venster. Wanneer u wordt gevraagd de wijzigingen op te slaan, antwoordt u “Ja” en geeft u de tabelnaam “tblMessages” op. Wanneer u wordt gevraagd om sleutelvelden te maken, antwoordt u “Nee”.

Alle! De databank is klaar! Natuurlijk hebben professionele forums een veel groter aantal velden, maar voor de eerste keer is dit voldoende.

Programmering

Het enige dat u dus nog hoeft te doen, is asp-pagina's maken. Er zullen er drie zijn: default.asp, show.asp en add.asp. Om dit te doen, maakt u in de map C:\ first_web_page drie gewone tekstdocumenten (rechtermuisknop => Nieuw => Tekstdocument) en hernoemt u deze naar default.asp, show.asp en add.asp. Houd er rekening mee dat om de bestandsextensie (van txt naar asp) te wijzigen, het noodzakelijk is dat de optie “Verberg extensies voor geregistreerde bestandstypen” is uitgeschakeld in de mapopties (mapmenu “Extra” => “Mapopties”, tabblad “Bekijken”) .

Het bestand default.asp is het hoofdbestand waarnaar de webserver zal zoeken bij toegang tot de virtuele map die u hebt gemaakt (http://localhost/myforum.ru). Dit bestand toont een lijst met forumonderwerpen. Open default.asp met Kladblok en voer de volgende code in:

<%
"Paginacaching-opties


Reactie.Verloopt = -1
advertentieOpenStatisch = 3
"databasetoegangsobjecten maken


"haal het pad naar de database op

"Verbind met de database
Verb.Open&_
strDBPath
"Maak een verzoek voor het ophalen van gegevens

"WAAR (ouder_id = 0) " & _

"Voer de query uit in de verbonden database

"Als er gegevens zijn, tonen we die
Als RS.RecordCount > 0 Dan
"We geven een lijst met forumonderwerpen weer
"Totdat de gegevens op zijn
Doen tot RS.EOF
Indien RS.EOF of RS.BOF, sluit dan Do af

"

RS("id" ) & "">" & RS("onderwerp" ) & _
"

"&vbCrLf
strSubjectLijst = strSubjectLijst & _
" & _
RS("auteur_mail") & "">" & _
RS("auteur_naam" ) & " "

RS("datum_toevoegen" ) & "

"&vbCrLf
"Ga naar het volgende item
RS.MoveNext
Lus
Anders
"Er zijn geen onderwerpen, we tonen hierover een bericht
strSubjectLijst = "

" & _
"De lijst met onderwerpen is leeg...

"

Einde Als

"Sluit de database
Verbinding sluiten
"objecten uit het geheugen verwijderen
Stel RS = Niets in
Stel Conn = Niets in
%>



Mijn eerste forum!
inhoud >




Voeg een nieuw onderwerp toe





<% =strSubjectList%>




Voeg een nieuw onderwerp toe





Hier is in feite de eerste pagina klaar! Om dit te controleren, start u uw browser en typt u: http://localhost/myforum.ru in de adresbalk. Er zou een bericht in de browser moeten verschijnen: “De lijst met onderwerpen is leeg...”, aangezien de database nog geen gegevens bevat. Let op de twee links “Een nieuw onderwerp toevoegen”, deze links brengen de gebruiker naar de pagina voor het toevoegen van een nieuw onderwerp, d.w.z. add.asp is precies wat u nu moet doen. Open het add.asp-bestand met Kladblok en voer de volgende code in:

<%
Response.CacheControl = "geen cache"
Response.AddHeader "Pragma", "no-cache"
Reactie.Verloopt = -1
advertentieOpenStatisch = 3
adOpenDynamisch = 2
adUseClient = 3
adOpenKeyset = 1
adLockOptimistisch = 3
"Voeg een bericht toe aan de database
Zo niet CStr (Request("tbAuthorName" )) = vbNullString Then
Set Conn = Server.CreateObject("ADODB.Connection" )
RS = Server.CreateObject("ADODB.Recordset" ) instellen
strDBPath = Server.MapPath("db.mdb" )
Verb.Open "Provider=Microsoft.Jet.OLEDB.4.0;Gegevensbron=" & _
strDBPath
RS.ActiveConnection = Verbind
RS.CursorLocation = adUseClient
RS.CursorType = adOpenKeyset
RS.LockType = adLockOptimistisch
RS.Bron = "tblMessages"
RS.Open
RS.ToevoegenNieuw

RS("auteurnaam" ) = Verzoek("tbAuthorName" )
RS("auteur_mail" ) = Verzoek("tbAuthorMail" )
RS("onderwerp" ) = Verzoek("tbOnderwerp" )
RS("main_text" ) = Verzoek("tbMainText" )
RS("date_add" ) = Nu
RS("parent_id" ) = CLng (Verzoek("tbParentID" ))
RS.Update
RS.Sluiten
Verbinding sluiten
Stel RS = Niets in
Stel Conn = Niets in
Einde Als
%>



</span> Mijn eerste forum!
inhoud ="tekst/html; charset=windows-1251">


<% If CStr (Request("tbAuthorName" )) = vbNullString Then %>
methode = "post"
action = "add.asp"
onSubmit="btnAdd.disabled=true;" >
id="tbOuderID"
naam = "tbParentID"
waarde="<% =CInt (Request(!}"id" ))%> "
/>

Jouw naam:
type=”tekst”
id="tbAuteurnaam"
style="breedte:50%"
maxlengte = "50" />


Uw e-mail:
type=”tekst”
id = "tbAuthorMail"
style="breedte:50%"
maxlengte = "25" />


<% If CInt (Request("id" )) <= 0 Then %>

Berichtonderwerp:
type=”tekst”
id="tbOnderwerp"
style="breedte:50%"
maxlengte = "255" />


<% End If %>





type = "verzenden"
id="cmdToevoegen"
waarde = "Toevoegen" /> !}



<% Else %>


Bericht succesvol toegevoegd!


Ga naar de lijst met onderwerpen


<% End If %>



Wanneer u nu op de link 'Een nieuw onderwerp toevoegen' klikt, wordt een pagina geladen met een formulier voor het toevoegen van een nieuw bericht aan het forum. Probeer een nieuw bericht toe te voegen. Houd er rekening mee dat als de naam van de auteur niet is opgegeven, het bericht niet aan de database wordt toegevoegd. Nadat u het formulier heeft ingevuld en op de knop “Toevoegen” heeft geklikt, zou het volgende bericht moeten verschijnen: “Bericht succesvol toegevoegd!”, en een link om naar de lijst met onderwerpen te gaan. Wanneer u op de link klikt, zou het door u gemaakte onderwerp in de lijst met onderwerpen moeten verschijnen. Nu moet er nog een pagina worden gemaakt - show.asp. Op deze oude pagina kunnen gebruikers van uw forum forumberichten bekijken. De code lijkt een beetje op default.asp:

<%
Response.CacheControl = "geen cache"
Response.AddHeader "Pragma", "no-cache"
Reactie.Verloopt = -1
advertentieOpenStatisch = 3
Set Conn = Server.CreateObject("ADODB.Connection" )
RS = Server.CreateObject("ADODB.Recordset" ) instellen
strDBPath = Server.MapPath("db.mdb" )
Verb.Open "Provider=Microsoft.Jet.OLEDB.4.0;Gegevensbron=" & _
strDBPath
"Wij tonen het onderwerp
strSQL = "SELECT * UIT tblMessages " & _
"WAAR (id = " & Request("id" ) & ")"
RS.Open strSQL, Conn, adOpenStatic
Als RS.RecordCount > 0 Dan

strOnderwerpLijst = _
"

Onderwerp bericht: " & _
RS("onderwerp") & _
"

"&vbCrLf
strSubjectLijst = strSubjectLijst & _
" & _
RS("auteur_mail") & "">" & _
RS("auteur_naam" ) & " "
strSubjectList = strSubjectList & "Toegevoegd: " & _
RS("datum_toevoegen" ) & "

"&vbCrLf
strSubjectLijst = strSubjectLijst & _
"

" & _
RS("hoofd_tekst") & _
"

"&vbCrLf
RS.Sluiten
"we tonen de antwoorden
strSQL = "SELECT * UIT tblMessages " & _
"WAAR (ouder_id = " & Request("id" ) & ") " & _
"ORDER OP date_add DESC, id ASC"
RS.Open strSQL, Conn, adOpenStatic
Als RS.RecordCount > 0 Dan
Doen tot RS.EOF
Indien RS.EOF of RS.BOF, sluit dan Do af

" & _
RS("auteur_mail" ) & ""> " & _
RS("auteur_naam" ) & " "
strSubjectList = strSubjectList & "Toegevoegd: " & _
RS("datum_toevoegen" ) & "

"&vbCrLf
strSubjectLijst = strSubjectLijst & _
"

" & _
RS("hoofd_tekst") & _
"

"&vbCrLf
RS.MoveNext
Lus
Anders
strSubjectLijst = strSubjectLijst & _
"

" & _
"Geen antwoorden...

"
Einde Als
Anders
strSubjectLijst = "

" & _
"Onderwerp niet gevonden...

"
Einde Als
Verbinding sluiten
Stel RS = Niets in
Stel Conn = Niets in
%>



Mijn eerste forum!
inhoud ="tekst/html; charset=windows-1251">






2024, leally.ru - Uw gids in de wereld van computers en internet


<%=RS(i).Name %>
<%=RS(i) %>