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.

    Mohlo by vás zajímat

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

    Odpovědět