Avatar billede jsl Nybegynder
04. april 2002 - 15:38 Der er 10 kommentarer og
1 løsning

tilføje ny post til db

Denne kode tilføjer en post til en database, når der klikkes på banneret.
Problemet er at der også tilføjes en post når siden indlæses. Den skal kun tilføjes, når banneret aktiveres. Jeg vil gerne at al kode, kan være i et dokument.


<%
Response.Buffer = True

Dim objConnB, objRSB, DSNNameB, strSQLB

Set objConnB = Server.CreateObject("ADODB.Connection")
strConnB = "Data Source=mdsfdbx;User ID=;Password=;"
objConnB.Open strConnB

strSQLB = "INSERT INTO T_banner (hits) VALUES "
strSQLB = strSQLB & "('1')"
objConnB.Execute strSQLB

strSQLB = "SELECT * FROM T_banner"
Set ObjRSB = objConnB.Execute(strSQLB)

Response.Write "<a href='http://" & objRSB("http") & "' TARGET=_SELF><img src='" & objRSB("banner") & "' border = '0'></a>"

ObjRSB.Close
objConnB.Close
Set ObjRSB = Nothing
Set objConnB = Nothing
%>
Avatar billede rou Nybegynder
04. april 2002 - 15:53 #1
<%
Response.Buffer = True

Dim objConnB, objRSB, DSNNameB, strSQLB
Set objConnB = Server.CreateObject("ADODB.Connection")
strConnB = "Data Source=mdsfdbx;User ID=;Password=;"
objConnB.Open strConnB

If(Request.QueryString("klik") = "1") Then

  strSQLB = "INSERT INTO T_banner (hits) VALUES "
  strSQLB = strSQLB & "('1')"
  objConnB.Execute strSQLB
End If

strSQLB = "SELECT * FROM T_banner"
Set ObjRSB = objConnB.Execute(strSQLB)

Response.Write "<a href='http://" & objRSB("http") & "?klik=1' TARGET=_SELF><img src='" & objRSB("banner") & "' border = '0'></a>"

ObjRSB.Close
objConnB.Close
Set ObjRSB = Nothing
Set objConnB = Nothing
%>

Det er dog en ret grim måde at gøre det på. Jeg vil foreslå at du bruger en UPDATE istedet, og så tæller op i den samme række, istedet for at lægge en ny række hver gang.
Samtidigt burde du sætte den SQL over på en anden side, som bliver kaldt fra dit banner, og så redirecte tilbage. Ellers risikerer du at folk bruger Refresh (f5) og så tæller den også.
Avatar billede jsl Nybegynder
04. april 2002 - 16:12 #2
Jeg forstår ikke helt det med at sætte SQL over på den anden side. Kan du forklare det?

Jeg bruger INSERT, fordi jeg vil have tidpunktet for hvornår der klikkes på banneret.
Avatar billede delle29 Nybegynder
04. april 2002 - 22:08 #3
Jeg giver rou fuldtsætandig ret.
rou mener noget lignende dette her.

dette er siden med banneret på.
<%
Dim objConnB, objRSB, DSNNameB


Set objConnB = Server.CreateObject("ADODB.Connection")
strConnB = "Data Source=mdsfdbx;User ID=;Password=;"
objConnB.Open strConnB

strSQLB = "SELECT * FROM T_banner"
Set ObjRSB = objConnB.Execute(strSQLB)


'lav en querystring der indikerer at der bliver klikket på banneret.
Response.Write "<a href='http://" & objRSB("http") & "?klik=1' TARGET=_SELF><img src='" & objRSB("banner") & "' border = '0'></a>"

%>

Dette er asp siden der skal sætte værdierene ind i databasen.

<%
'nu ved jeg ikke helt hvilken slags database det skal sættes ind men
'hvis det er en Access database ser det sådan ud.
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & application("chat_db_sti")

If(Request.QueryString("klik") = "1") Then

  strSQLB = "INSERT INTO T_banner (hits) VALUES "
  strSQLB = strSQLB & "('1')"
  Conn.Execute (strSQLB)
End If

ObjRSB.Close
objConnB.Close
Set ObjRSB = Nothing
Set objConnB = Nothing
%>

Det er mit bud på hvordan du kan gøre.
Avatar billede jsl Nybegynder
05. april 2002 - 15:58 #4
Nu tilføjer en ny post for hver gang linket aktiveres, men den der skal samtidig åbne en ny side www.NySide.dk i et nyt vindue.
Hvordan laver man det? Det skal være UDEN brug af JavaScript!!!

<%
Dim objConnB, objRSB, DSNNameB, strConnB, strSQLB

Set objConnB = Server.CreateObject("ADODB.Connection")
strConnB = "Data Source=mdsfdbx;User ID=;Password=;"
objConnB.Open strConnB

If(Request.QueryString("klik") = "1") Then
  strSQLB = "INSERT INTO bannerhits (tid) VALUES "
  strSQLB = strSQLB & "('200')"
  objConnB.Execute (strSQLB)
End If


strSQLB = "SELECT * FROM bannerlist"
Set ObjRSB = objConnB.Execute(strSQLB)

Response.Write "<a href=banner.asp?klik=1><img src='" & objRSB("banner") & "' border = '0'></a>"

objConnB.Close
Set strConnB = Nothing
Set objConnB = Nothing
%>
Avatar billede delle29 Nybegynder
06. april 2002 - 13:54 #5
Du tilføjer bare dette her i enden af asp'en

If Request("klike=1") Then
Response.Redirect "Nyside.htm"
End If


Prøv lige at skrive tilbage hvis det ikke virker, jeg bruger somregel ikke andet javascripts til at åbne nye vinduer med, da det er det nemmeste/bedste.

Håber det virker
Avatar billede jsl Nybegynder
06. april 2002 - 14:58 #6
Den kode som du nu viser mig åbner jo ikke siden i et nyt vindue.
Jeg siger Ikke JavaScript fordi der er nogle, der ikke kan få banneret til at virke med det. F.eks. dem, som kører med højst mulig sikkerhed.
Avatar billede delle29 Nybegynder
06. april 2002 - 17:38 #7
Så ved jeg sgu ikk' lige hvordan man kan gøre det.
Avatar billede delle29 Nybegynder
08. april 2002 - 20:53 #8
Jeg tror rent faktisk at man sagtens kan få det til at virke, ved at bruge min metode.

Linket skal stadig være den samme og det skal asp'en også.
Så prøv lige at sæt min lille stump her ind i bunden af siden(ihvert fald efter at asp'en er gennemløbet).

If Request("klik=1") Then
Response.Redirect "Nyside.htm"
End If

Det kan jeg ikke se hvorfor det ikke skulle virke, for så har asp'en jo sat dine værdier ind i databasen, og så redirecter den i samme nye vindue som asp'en lige er blevet åbnet i.

Prøv i det mindste og se om det ikke virker, ellers skriv venligst tilbage, med hvad der så sker.
Avatar billede jsl Nybegynder
09. april 2002 - 13:34 #9
Hvor mener du, at det nye vindue åbnes?
Avatar billede delle29 Nybegynder
09. april 2002 - 16:18 #10
Jeg mener at linket til asp'en jo åbner et nyt vindue.
Derfor kan man da godt lave en redirecter i asp'en som derved åbner den nye side i samme vindue,ikk.

Hvis linket ikke åbner et ny vindue skal du bare lave lidt om på linket og tilføje et target :

Response.Write "<a href=banner.asp?klik=1 target=_blank><img src='" & objRSB("banner") & "' border = '0'></a>"

Sådan der.

Kan det ikke passe ?
Avatar billede jsl Nybegynder
09. april 2002 - 19:53 #11
Det virker. Du får dine point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester