Avatar billede brops Nybegynder
10. april 2003 - 22:46 Der er 11 kommentarer og
1 løsning

database connection uden DNC...

så nu løste jeg lang om længe mine problemer med alt det andet...., men så var det der var en eller anden "lyseslukker" der sagde at jeghavde dat ikke min puter tændt hele tiden så det hjalp ikke noget at jeg at jeg havde min database som en "DNC-connection"....jeg har ikke så meget styr på ASP.. så derfor vil jeg gerne have hjælp......

Jeg har følgende 2 koder...
1 brugerinfo.asp

<% @language=JavaScript %>

<%
function createDatabaseConnection() {
  con = Server.CreateObject("ADODB.Connection");
  con.Open("database");
  return con;
}

function toSqlDate(date) {
  return "'" + date.getDate() + "-" + (date.getMonth() + 1) + "-" + dategatYear() + "'";
}
%>

<html><title>The E league </title>
<head
</head>

<td>
<h1>Registre Clan</h1>

  <P><font face="Verdana"> hvis du vil registrere dig som bruger skal du udfylde
    nedenstående felter og trykke på "registrer-knappen" dog skal du lige læse
    <a href=regler.asp target=mainFrame>Tilmelding og reglerne</a> først.</font>
  </p>
  <P><font face="Verdana">Alle felter m&aelig;rket
    med * Skal udfyldes ellers vil du ikke blive registreret.</font></p>
</td>
  <%

  person = Request.Cookies("person")
  if (person == "") {
    Clan = "";
    Clantag = "";
    navn = "";
    Adresse = "";
    Postnummer = "";
    City = "";
    email = "";
    IRC = "";
    tform = "";
  } else {
    res = con.execute("SELECT Clan, Clantag, navn, Adresse, Postnummer, City, email, IRC, tform FROM person WHERE brugerID = " + brugerID);
  Clan = res.Fields("Clan");
  Clantag = res.Fields("Clantag");
  navn = res.Fields("navn");
  Adresse = res.Fields("Adresse");
  postnummer = res.Fields("postnummer");
  City = res.Fields("City");
  email = res.Fields("email");
  IRC = res.Fields("IRC");
  tform = res.Fields("tform");
  }
%>
<form name=afsend action=modtag.asp method=post>
  <table>
    <tr>
      <td><font face="Verdana">Clan*</font></td>
      <td><input type=text name=Clan value="<%=Clan%>" size="20"></td>
    </tr>
    <tr>
      <td><font face="Verdana">Clantag*</font></td>
      <td><input type=tekst name=Clantag value="<%=Clantag%>" size="20"></td>
    </tr>
    <tr>
      <td><font face="Verdana">Kontaktnavn*</font></td>
      <td><input type=tekst name=navn value="<%=navn%>" size="20"></td>
    </tr>
    <tr>
      <td><font face="Verdana">Adresse*</font></td>
      <td><input type=text name=Adresse value="<%=Adresse%>" size="20"></td>
    </tr>
    <tr>
      <td><font face="Verdana">Postnummer*</font></td>
      <td><input type=text name=Postnummer value="<%=Postnummer%>" size="20"></td>
    </tr>
    <tr>
      <td><font face="Verdana">By*</font></td>
      <td><input type=text name=City value="<%=City%>" size="20"></td>
    </tr>
    <tr>
      <td><font face="Verdana">E-mail*</font></td>
      <td><input type=text name=email value="<%=email%>" size="20"></td>
    </tr>
    <tr>
      <td><font face="Verdana">IRC*</font></td>
      <td><input type=text name=IRC value="<%=IRC%>" size="20"></td>
    </tr>
    <tr>
      <td><font face="Verdana"><a href="type.htm" target="_blank">turneringsform*
        </a></font></td>
      <td><input type=tekst name=tform value="<%=tform%>" size="20"></td>
    </tr>
    <tr>
      <%
  if (person =="") {
%>
    <tr>
      <td colspan=2><font face="Verdana"> For senere at kunne logge dig På The
        E League skal du vælge et kodeord, og indtaste det i nedenstående felt
        </font></td>
    </tr>
    <tr>
      <td><font face="Verdana">Password *</font></td>
      <td><input type=password name=pass1 size="20"></td>
    </tr>
    <tr>
      <td><font face="Verdana">Gentag password *</font></td>
      <td><input type=password name=pass2 size="20"></td>
    </tr>
    <%
  }
%>
    <font face="Verdana"></td></font>
    <tr>
      <td><font face="Verdana">&nbsp;</font></td>
      <td><input name="submit" type=submit value="Afsend brugerinfo"></td>
    </tr>
  </table>
</form>
</body>
</html>

2 Modtag.asp

<% @Language=JavaScript %>
<%
function createDatabaseConnection() {
  con = Server.CreateObject("ADODB.Connection");
  con.Open("database");
  return con;
}

function toSqlDate(date) {
  return "'" + date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getYear() + "'";
}
%>
<%
  function strcmp(s1, s2) {
    if  (s1.lenght != s2.length) {
      return false;
    }

    for (i = 0; i < s1.length; i++) {
      if (s1[1] != s2[i]) {
        return false;
      }
    }
    return true;
  }
%>
<%
  OK = 0;
  FORKERT_KODEORD = 1;
  BRUGER_EKSISTERER = 2;

  con = createDatabaseConnection();

  // kontroller om bruger er logget ind...
  brugerID = -1
  if(Request.Cookies("person") !="") {
    brugerID = opdaterperson(Request.Cookies("person"));
  } else {
    brugerID = tilfojperson();
  }
printResult (OK);

  function opdaterperson(brugerID) {
    sql = "UPDATE person SET ";
    sql += "Clan='" + Request.Form("Clan") + "', ";
    sql += "Clantag='" + Request.Form("Clantag") + "', ";
    sql += "kontaktperson='" + Request.Form("navn") + "', ";
    sql += "Adresse='" + Request.Form("Adresse") + "',";
    sql += "postnummer='" + Request.Form("postnummer") + "', ";
    sql += "City='" + Request.Form("City") + "', ";
    sql += "email='" + Request.Form("email") + "', ";
    sql += "IRC='" + Request.Form("IRC") + "', ";
    sql += "tform='" + Request.Form("tform") + "'";
    sql += " WHERE brugerID=" + brugerID;
    con.execute(sql);
    return brugerID;
  }

  function tilfojperson(brugerID) {
  // kontroller
    if (!strcmp(Request.Form("passw1"),Request.Form("pass2"))) {
      printResult(FORKERT_KODEORD);
    }
 
    // kontroller om brugernavnet allerede eksistere
    res = con.execute("SELECT brugerID FROM person WHERE email='" + Request.Form("email") + "'");
    if (!res.EOF) { // brugeren eksisterer
      printResult(BRUGER_EKSISTERER);
    }
 
    sql = "INSERT INTO person (Clan, Clantag, navn, Adresse, Postnummer, City, email, IRC, tform, pass) VALUES(";
    sql += "'" + Request.Form("Clan") + "', ";
    sql += "'" + Request.Form("Clantag") + "', ";
    sql += "'" + Request.Form("navn") + "', ";
    sql += "'" + Request.Form("Adresse") + "', ";
    sql += "'" + Request.Form("postnummer") + "', ";
    sql += "'" + Request.Form("City") + "', ";
    sql += "'" + Request.Form("email") + "', ";
    sql += "'" + Request.Form("IRC") + "', ";
    sql += "'" + Request.Form("tform") + "', ";
    sql += "'" + Request.Form("pass") + "')";
   
    con.execute(sql);
    res = con.execute("SELECT brugerID FROM person WHERE email='" + Request.Form("email") + "'");
    return res.Fields("brugerID");
  }
 
  function printResult(status) {
%>
<html>
<head>
<title>The E League</title>
</head>
<body bgcolor="#FFFFFF">
<td> <%
  if (status == OK) {
%> <h1><font face="Verdana">Brugerbekræftelse</font></h1>
  <font face="Verdana"> Dine Brugerdata er nu afsendt, dit brugerID: <%=brugerID%>. Hvis der ikke står noget password er du ikke gemt i brugerdatabasen.
  Dette navn skal du du bruge når du logger ind, stiller spørgsmål til ligaen,
  og indberetter resultater mm. Eventuelle Spørgsmål og kommentare kan du sende
  til <a href=mailto:jonas_skovmose@mail.dk>jonas_skovmose@mail.dk</a> "mærk"
  emnet "The E League".
  <p>Tak for din interesse for ligaen...</p>
  <%
  } else if (status == FORKERT_KODEORD || status == BRUGER_EKSISTERER) {
%>
  <h1>Fejl</h1>
  der opstod en fejl i forbindelse med afsending af din tilmelding til The E League.
  <br>
  Din tilmelding blev ikke afsendt </font> <p> <font face="Verdana">
    <%
    if (status == FORKERT_KODEORD) {
%>
    De to indtastet kodeord var ikke ens. Hvis det er fordi du ar ladet begge
    felter været blanke er du <U><strong>ikke</strong></u> blevet registreret
    og vil derfor heller ikke komme til at deltage i ligaen. </font>
  <p><font face="Verdana">Klik <a href=brugerinfo.asp>her</a> for at komme tilbage
    til registreringsformen,</font></p>
  <font face="Verdana">
  <%
    } else {
%>
  Der er allerede registreret en Bruger med det angivet brugerID (<%=Request.Form("brugerID")%>). Hvis du allerede har registreret dig som bruger kan du <a href=login.asp>logge
  ind</a> ved at bruge dit Brugernavn og password, fra tidliger registrering.
  <br>
  Hvis ikke du kan huske dit password kan du få det tilsendt på en email fra <a href=login.asp>log
  ind-siden</a> </font> <p><font face="Verdana">Hvis ikke det er dig der er registreret
    kan du indtaste et andet E-mail <a href=brugerinfo.asp>her</a></font></p>
  <%
    }
  }
%> </td></tr>
</table>
</body>
</html>
<%
    Response.End();
  }
%>

jeg skal oxo have lavet en logindside, men det kommer...

det der så er at  jeg søger højt og lavt på eksperten og google og finder tilsidst den her side: http://www.viewsource.dk/ShowGuides.asp?ID=5
aha tænker jeg men bliver ikke kloger... er der en af jer Eksperter der vil hjælpe mig os sætte min database adgang DNC less... og som vil fortælle mig hvordan jeg skal smide det ind i loginscriptet når det kommer????... eller bedre endnu lave et heltnyt login/brugeroprettelses-system til mig

hvis det er det sidste belønnes det med 2 flasker vin... ved godt man ikke må udløje det her...
starter med at sætte 100 piont af...
Avatar billede mortrr Praktikant
10. april 2003 - 22:52 #1
DSN-less

udskift
con.Open("database");
med noget der passer til din database.
www.connectionstrings.com
Sikkert en Access, så
con.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\databasen.mdb;Uid=Admin;Pwd=;"
eller
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\databasen.mdb;"

databasen.mdb skal udskiftes med din database (og stien til den)
Avatar billede hossein Nybegynder
10. april 2003 - 22:54 #2
Avatar billede brops Nybegynder
10. april 2003 - 22:55 #3
thanx men som andre der har hjulpet mig tideliger er jeg en SPADE til det så vil du ikke smide det i script sammen med resten... og så sende det til jonas_skovmose@mail.dk :) be'r pænt...
Avatar billede brops Nybegynder
10. april 2003 - 22:55 #4
min database hedder bare database.mdb og er en access database... og den ligge i samme rod som resten af scriptet
Avatar billede mortrr Praktikant
10. april 2003 - 23:02 #5
Der er ingen grund til at poste hele scriptet igen.

Bare udskift linien
con.Open("database");
med
con.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("database.mdb")+";");


(sorry - fik skrevet det som vbscript i første omgang)
Avatar billede brops Nybegynder
11. april 2003 - 00:46 #6
jeg kigger på det i morgen tak for hjælpen.. smid lige et svar i tilfælde af det virker...:)
Avatar billede mortrr Praktikant
11. april 2003 - 10:46 #7
Tja - det kunne jo være du var heldig.
Avatar billede brops Nybegynder
11. april 2003 - 10:59 #8
det ser ud til at virke... men for de 100 point vil du så hjælp mig lidt mere???
1. jeg kom i tanke om at den email de indtaster gerne skulle være en *****@****.**(*) hvordan verificere jeg at det er det???

2. hvordan laver jeg en så brugeren kan få tilsendt sit password ved at opgive brugerID og email... men den bliver kun sendt hvis Emailen er = brugerID'ets email????
Avatar billede mortrr Praktikant
11. april 2003 - 12:21 #9
1. Den kan verificeres med fx:
email=""+Request.Form("email");
Valid_EMail=false;
if (email=="undefined") {
    email="";
}
if (email!="") {
    eRegEmail=new RegExp("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,3}$","gi");
    test=email.match(eRegEmail);
    if (test==email) {
        Valid_EMail=true;
    }
}

2. Det skal du lave på din login formular. ;-)
Avatar billede brops Nybegynder
11. april 2003 - 12:25 #10
1 hvor skal det sættet ind???
2 min login script ser sådan her ud:

<% @Language=JavaScript %>
<!-- #include file="database.js" -->
<%
  con = createDatabaseConnection();
%>

<Html><title>TheEleague</title>

<td>
<h1>Log ind</h1>
hvis du er registret som bruger kan du logge ind her, hvis ikke kan du registrere dig
<a href=brugerinfo.asp>her</a>
<p>
<form action=checklogin.asp method=post>
<table>
<tr>
<td>Email</td>
<td><input type=text name=email></td>
</tr>
<tr>
<td>Password</td>
<td><input type=password name=pass></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type=submit value="log ind"></td>
</tr>
</table>
</form>
</p>
</td>
</body>
</Html>

et tillægs spg....
jeg har lavet nogle test og især en ting driller mig skulle når man har indtastet pass tjekke om det er to ens pass men det vil den ikke mit script er stadig som de øverstangivede dog med den ændring til DNC du foreslog, det ser ud til at virke...
Avatar billede mortrr Praktikant
11. april 2003 - 12:40 #11
2 Modtag.asp

<% @Language=JavaScript %>
<%
function createDatabaseConnection() {
  con = Server.CreateObject("ADODB.Connection");
  con.Open("database");
  return con;
}

function toSqlDate(date) {
  return "'" + date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getYear() + "'";
}
%>
<%
  function strcmp(s1, s2) {
    if  (s1.lenght != s2.length) {
      return false;
    }

    for (i = 0; i < s1.length; i++) {
      if (s1[1] != s2[i]) {
        return false;
      }
    }
    return true;
  }
%>
<%
  OK = 0;
  FORKERT_KODEORD = 1;
  BRUGER_EKSISTERER = 2;
  UGYLDIG_EMAIL = 3;

  con = createDatabaseConnection();

  // kontroller om bruger er logget ind...
  brugerID = -1
  if(Request.Cookies("person") !="") {
    brugerID = opdaterperson(Request.Cookies("person"));
  } else {
    brugerID = tilfojperson();
  }
printResult (OK);

  function opdaterperson(brugerID) {
    sql = "UPDATE person SET ";
    sql += "Clan='" + Request.Form("Clan") + "', ";
    sql += "Clantag='" + Request.Form("Clantag") + "', ";
    sql += "kontaktperson='" + Request.Form("navn") + "', ";
    sql += "Adresse='" + Request.Form("Adresse") + "',";
    sql += "postnummer='" + Request.Form("postnummer") + "', ";
    sql += "City='" + Request.Form("City") + "', ";
    sql += "email='" + Request.Form("email") + "', ";
    sql += "IRC='" + Request.Form("IRC") + "', ";
    sql += "tform='" + Request.Form("tform") + "'";
    sql += " WHERE brugerID=" + brugerID;
    con.execute(sql);
    return brugerID;
  }

  function tilfojperson(brugerID) {
  // kontroller
    if (!strcmp(Request.Form("passw1"),Request.Form("pass2"))) {
      printResult(FORKERT_KODEORD);
    }
 
    // kontroller om brugernavnet allerede eksistere
    res = con.execute("SELECT brugerID FROM person WHERE email='" + Request.Form("email") + "'");
    if (!res.EOF) { // brugeren eksisterer
      printResult(BRUGER_EKSISTERER);
    }

  // Kontroller om email er gyldig
    Valid_EMail=false;
    email=""+Request.Form("email");
    if (email=="undefined") {
        email="";
    }
    if (email!="") {
        eRegEmail=new RegExp("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,3}$","gi");
        test=email.match(eRegEmail);
        if (test==email) {
            Valid_EMail=true;
        }
    }
    if (!Valid_EMail) {
      printResult(UGYLDIG_EMAIL);
    }
 
    sql = "INSERT INTO person (Clan, Clantag, navn, Adresse, Postnummer, City, email, IRC, tform, pass) VALUES(";
    sql += "'" + Request.Form("Clan") + "', ";
    sql += "'" + Request.Form("Clantag") + "', ";
    sql += "'" + Request.Form("navn") + "', ";
    sql += "'" + Request.Form("Adresse") + "', ";
    sql += "'" + Request.Form("postnummer") + "', ";
    sql += "'" + Request.Form("City") + "', ";
    sql += "'" + Request.Form("email") + "', ";
    sql += "'" + Request.Form("IRC") + "', ";
    sql += "'" + Request.Form("tform") + "', ";
    sql += "'" + Request.Form("pass") + "')";
   
    con.execute(sql);
    res = con.execute("SELECT brugerID FROM person WHERE email='" + Request.Form("email") + "'");
    return res.Fields("brugerID");
  }
 
  function printResult(status) {
%>
<html>
<head>
<title>The E League</title>
</head>
<body bgcolor="#FFFFFF">
<td> <%
  if (status == OK) {
%> <h1><font face="Verdana">Brugerbekræftelse</font></h1>
  <font face="Verdana"> Dine Brugerdata er nu afsendt, dit brugerID: <%=brugerID%>. Hvis der ikke står noget password er du ikke gemt i brugerdatabasen.
  Dette navn skal du du bruge når du logger ind, stiller spørgsmål til ligaen,
  og indberetter resultater mm. Eventuelle Spørgsmål og kommentare kan du sende
  til <a href=mailto:jonas_skovmose@mail.dk>jonas_skovmose@mail.dk</a> "mærk"
  emnet "The E League".
  <p>Tak for din interesse for ligaen...</p>
  <%
  } else if (status == FORKERT_KODEORD || status == BRUGER_EKSISTERER || status == UGYLDIG_EMAIL) {
%>
  <h1>Fejl</h1>
  der opstod en fejl i forbindelse med afsending af din tilmelding til The E League.
  <br>
  Din tilmelding blev ikke afsendt </font> <p> <font face="Verdana">
    <%
    if (status == FORKERT_KODEORD) {
%>
    De to indtastet kodeord var ikke ens. Hvis det er fordi du ar ladet begge
    felter været blanke er du <U><strong>ikke</strong></u> blevet registreret
    og vil derfor heller ikke komme til at deltage i ligaen. </font>
  <p><font face="Verdana">Klik <a href=brugerinfo.asp>her</a> for at komme tilbage
    til registreringsformen,</font></p>
  <font face="Verdana">
  <%
    } else if (status== BRUGER_EKSISTERER) {
%>
  Der er allerede registreret en Bruger med det angivet brugerID (<%=Request.Form("brugerID")%>). Hvis du allerede har registreret dig som bruger kan du <a href=login.asp>logge
  ind</a> ved at bruge dit Brugernavn og password, fra tidliger registrering.
  <br>
  Hvis ikke du kan huske dit password kan du få det tilsendt på en email fra <a href=login.asp>log
  ind-siden</a> </font> <p><font face="Verdana">Hvis ikke det er dig der er registreret
    kan du indtaste et andet E-mail <a href=brugerinfo.asp>her</a></font></p>
  <%
    } else {
%>
  Hen indtastede e-mail er ikke gyldig. <a href="#tilbage" onclick="history.go(-1);return false">Gå tilbage</a> og prøv igen.</font></p>
  <%
    }
  }
%> </td></tr>
</table>
</body>
</html>
<%
    Response.End();
  }
%>

Det andet har jeg desværre ikke tid til at kigge på nu.
Avatar billede brops Nybegynder
11. april 2003 - 13:29 #12
det er i orden....
hvis du vil kigge på det senere vil jeg gerne give flere point for det...
det er rimelig vigtig jeg får det til at virke :)
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