Lær at lave glemt brugernavn & password system
Hey rowlere, velkommen til min første artikel her på rowl.
Her kan i lære jer at lave et "glemsom" system, som kan bruges til, hvis nogle har glemt brugernavnet og/eller password"et til jeres community, kundesystem, etc.
Lad os straks begynde at kode.
først starter vi med en include i glemtkodebrugernavn.php:
<?php
include "mysql.php"
Vi includ"er filen mysql.php .
I mysql.php skal vi så have lavet noget som connecter databasen, det kan gøres på mange måder, men jeg plejer altid bruge den nemme:
<?
mysql_connect("localhost", "brugernavn", "kodeord");
mysql_select_db(databasenavn);
?>
Efter dette, går vi tilbage til glemtkodebrugernavn.php, hvor vi så begynder at kode, det som der skal se, når vi trykker "Send brugernavn/password", vi laver nemlig formen, først til sidst.
Nu skal vi så lave nogle ifsætninger, vi kan begynde med en if sætning, nemlig denne:
For at få det på det rene, betyder det, "hvis action er glemtkode" så skal den genere, og sende brev. Men først, skal vi jo også lave noget, som tjekker om der egentlig er skrevet noget i feltet, hvis ikke, så laver vi en echo som skriver, at man skal skrive sin email.
if($_POST[email] == "") {
echo "Du skal skrive din email!";
Sådan dér gøres det. Okay. nu skal vi så lave en, else, og else tager jeg ( personligt ) altid som "eller os..." og som "eller os" skal vi have tjekket, om der egentlig er en email som hedder f.eks martin@lonberg.dk, i sin tabel, for hvis der ik er, skal den jo ikke sende. Så vi laver dette:
$tjek_mail = mysql_query("SELECT * FROM tabel WHERE email = "$_POST[email]"");
if(mysql_num_rows($tjek_mail) == "0") {
echo "Mailen du har angivet, er ikke registreret på nogen af vores brugere!";
Det vil den skrive, hvis der ik er nogle brugere som er regristeret med martin@lonberg.dk ( eksempel ).
Nu laver vi så en til "eller os.. " altså en else, hvor vi nu skal sende selve mailen.
Og så nu, skal vi så igang. Men først skal den lige hente nogle oplysninger, og det gør vi fra den tidligere mysql query som hedder $tjek_mail.
Det lille stump kode dér gør at hvis vi laver en $vis[brugernavn] så henter den fra den mysql query længere oppe. Det vil sige, den henter brugernavnet og viser.
Nu skal vi så igang, med at finde den mail man skal skrive i den form vi laver senere.
Her finder den så mailen, den skal sende til.
Her skriver vi så hvad for en mail, den skal "displaye" som er blevet sendt fra. Typisk er det "noreply" som der vil stå, i sådanne auto genereret emails. Så jeg har valgt at bruge noreply@dinside.dk.
Nu går vi så igang med selve indeholdet af brevet:
$msg = "Hejsa. Du har anmodet om at få dit brugernavn & password sendt. ";
$msg .= "Dit brugernavn er: $vis[brugernavn] ";
$msg .= "Dit password er: $vis[kodeord] ";
$msg .= "Hvis du mener du har fået denne mail, som en fejl- kan du kontakte webmasteren! ";
$msg .= "Mvh. dinside.dk";
msg, behøves det ikke ligefrem være, har bare forkortet message, så det blev til msg. Som du kan se er der nogle
det er linjeskift.
Nu skal vi igang med at lave emnet. Emnet på brevet.
Jeg har valgt at kalde den "Glemt password!" du kan kalde den hvad som helst, f.eks dinside.dk - glemt password. Du kan selve finde på noget.
Nu laver vi en if sætning, og så bruger mail() funktionen også.
if(mail($sendto, $subject, $msg, "From: $mail
" . "Reply-To: $mail
")) {
Her samler den alt. Personen, den skal sendes til, emnet, selve emailen, og hvem det er fra, og hvem man skal skrive til, hvis man trykker "Besvar!".
Vi kan nu lave en echo, som skriver at mailen nu er sendt. Sådan her:
og nu bruger vi så "eller os..." altså else, funktionen igen, til hvis den ikke blev sendt korrekt.
} else {
print "Vi kunne ikke sende mailen desværre, prøv igen.";
Sådan der skal det gøres. Og efter alle de { "er vi har åbnet, skal vi nu til at lukke alle sammen og afslutte selve phpkoden.
}
}
}
}
if($_POST[action] == "") {
?>
Nu skal vi bare lave det sidste, nemlig form"en.
<form action="" method="POST">
<input type="hidden" name="action" value="glemtkode">
<b>Skriv din email her:</b><br>
<input type="text" name="email"><br><br>
<input type="submit" name="submit" value="Send brugernavn & password!">
<?
}
?>
En enkel form, hvor man kan skrive email i og derefter trykke "Send brugernavn & password!".
I kan se selve "systemet" under Downloads, her på rowl.dk, så i kan downloade det ned, hvis der er "fejl" på jeres.
Enjoy ;o)! |
Oprettet af:
Ukendt bruger
PHP
Point modtaget: 0
Rate:
15:32 20/01/2007
|
Kommentarer
Giv din mening tilkende om denne artikel, eller læs andres.
Har du spørgsmål eller brug for hjælp til denne artikel henvises du til forummet.
|
Det var da en god artikel |
Oprettet af:
Ukendt bruger
13:41 22/01/2007
|
Komplet ubrugelig hvis man brugere krypterede kodeord, hvilket jeg mener at man ALTID skal gøre.
Derudover lærer man ikke ret meget udover at bruge mail() funktionen, det andet er ret logisk og gennemskueligt..
Desværre.. |
15:35 22/01/2007
|
|
Der kan du godt have fat i noget ak |
Oprettet af:
Ukendt bruger
16:52 22/01/2007
|
|
Fin artikel .. |
Oprettet af:
Ukendt bruger
18:01 24/01/2007
|
|
Tjaa, ak har ret, men mail() er jo også en meget nyttig funktion, såå? |
19:41 27/02/2007
|
|
MEGA!!! God Artikel :D |
17:28 02/03/2007
|
|
Mere tekst... Ellers fint! |
13:31 15/04/2007
|
Eeeeh o_O
<?
mysql_connect("localhost", "brugernavn", "kodeord");
mysql_select_db("databasenavn");
?>
Du glemte "" omkring databasenavn x]
|
16:21 23/11/2008
|
Du skal være oprettet og logget ind for at kommentere en artikel
|