automatisk bekræftelses mail...
jeg har et ASP-Script hvor en buger kan tilmelde sig mit system,1: nå de har tilmeldt sig vil jeg gerne have der automatisk bliver sendt en E-Mail med Burgernummer, Password, osv til dem,
når de godkender bliver de videresent til flg. Script:
<% @Language=JavaScript %>
<%
function createDatabaseConnection() {
con = Server.CreateObject("ADODB.Connection");
con.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("database.mdb")+";");
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 += "pass='" + Request.Form("pass") + "'";
sql += " WHERE brugerID=" + brugerID;
con.execute(sql);
return brugerID;
}
function tilfojperson(brugerID) {
// kontroller
if (!strcmp(Request.Form("pass"),Request.Form("passA"))) {
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, <br>
brugerID: <%=brugerID%>.<br>
Email: <%=Request.Form("email")%> <br>
Password: <%=Request.Form("pass")%> <br>
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 email (<%=Request.Form("email")%>). 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();
}
%>
hvor skal dette sættes ind?, hvad kræver det af der hvor jeg bliver hostet, jeg har ikke meget forstand på ASP, derfor spørger jeg jer, bedes sættes ind i scriptet for mig...
Tingene har flg navne i min Database:
brugerID
Clan
Clantag
navn - brugernavn
adresse
postnummer
City
email - det er den det skal sendes til
tform
IRC
pass
alle disse oplysninger skal sendes til brugeren der opretter sig.
2: jeg vil vide hvad det kræver er må man gerne evt. give en guide til hvordan jeg sætte min IIS server op så jeg kan teste det, og hvordan/hvad det kræver af Hosteren, links til dem der understøtter det må gerne gives....
3: hvorfor virker dette ikke???
function tilfojperson(brugerID) {
// kontroller
if (!strcmp(Request.Form("pass"),Request.Form("passA"))) {
printResult(FORKERT_KODEORD);
det skulle kontollere passwordne er ens...
behøves i ikke svare på... men må godt..
4: se desuden SPG: http://www.eksperten.dk/spm/340253
jeg sætter 120 point, men ved ikk om det er nok... 30 for hver svar på et af de fire SPG...
