Přihlašování na stránky pomocí ASP – posíláme heslo

    0

    V předcházejícím článku o přihlašování na web stránky jsme dali uživatelům možnost změnit si své heslo. Tento pro uživatele vstřícný krok však sebou nese jeden velký problém a to sice zvýšenou možnost zapomenutí hesla a tím pádem i znepřístupnění web stránek pro uživatele do té doby, než mu správce aplikace sdělí jeho heslo. V dnešním článku se dozvíte, jak zajistit možnost zaslání hesla na email, který je uveden v databázi.

    Předpokladem správné funkce je ovšem zajištění stavu, že kombinace emailové adresy a jména uvedených v databázi budou unikátní. To lze snadno zajistit při vkládání uživatelů do databáze, ale o tom až v některém z dalších dílů toho seriálu. Pro dnešní díl budeme předpokládat, že emaily a jména v databázi jsou skutečně unikátní.

    Celá dnešní „přidaná hodnota“ bude opět umístěna v jediném souboru, který se bude jmenovat mailpsw.asp V souboru bude umístěn jednoduchý formulář, který se zobrazí při přístupu na mailpsw.asp bez předchozího vyplnění formuláře a skript, který na základě vyplněné email adresy a jména odešle heslo, které těmto zadaným údajům odpovídá.

    <!–#include file=“connect.asp“–>
    <%
    if Request.Form(„email“)=““ and Request.Form(„jmeno“)=““ then
    %>
       <FORM action=“mailpsw.asp“ method=POST id=form name=form>
       Jméno:<INPUT type=“text“ id=jmeno name=jmeno><br>
       E-mail:<INPUT type=“text“ id=email name=email><br>
       <INPUT type=“submit“ value=“Submit“ id=submit1 name=submit1>
       <INPUT type=“reset“ value=“Reset“ id=reset1 name=reset1>
       </FORM>
    <%
    else
       if isconnectdb() then
          sql=“select jmeno,heslo,email from USERS where email='“&Request.Form(„email“)&“‚ and jmeno='“&Request.Form(„jmeno“)&“‚“
          set rs=objconn.execute(sql)
          if not rs.eof and not rs.bof then
             ‚ posilame heslo
             Set myMail=server.CreateObject(„CDONTS.NewMail“)
             myMail.From= „clanek@interval.cz“
             myMail.To=rs(„email“)
             myMail.Subject=“Mail z aplikace prihlaseni“
             myMail.Body=“Vase heslo je: „& rs(„heslo“)
             mymail.Send
             set myMail=nothing
             Response.Write „Vaše heslo bylo posláno na adresu: „&rs(„email“)
          else
             Response.Write „Zadaná email adresa nebo jméno nejsou v databázi“
          end if
          rs.close
          set rs=nothing
       else
          Response.Write „Nepodařilo se spojit s databází“
       end if
    end if
    %>

    Pokud není kombinace zadaného jména a adresy nalezena v databázi, nebo se nelze s databází spojit, je o tom uživatel informován.

    Ve skriptu je použito souboru connect.asp, který zajišťuje spojení s databází a byl již několikrát popisován v předchozích článcích. Na základě vyplněné email adresy sestavíme SQL dotaz, pomocí kterého se pokusíme v databázi najít odpovídající záznam. Pokud najdeme záznam, který odpovídá zadané emailové adrese, odešleme na tuto adresu heslo. Podobněji je posílání emailu popsáno v článcích o posílání emailu pomocí ASP, které najdete v této rubrice Interval.cz.

    A ještě jeden tip na závěr dnešního článku. Pokud chcete mít formulář pro poslání hesla na jiné stránce, můžete jej bez obav umístit kamkoliv. V tomto případě ale doporučuji po zpracování provést přesun zpět na stránku, ze které bylo volání provedeno.

    Vše, co jsem vám dneska předvedl, si můžete stáhnout zde.

    Žádný příspěvek v diskuzi

    Odpovědět