Përshkrim i shkurtër
Në këtë mësim keni mundësi që të mësoni se si të admnistroni user-at në faqën tuaj , se si funksionon një Login ? këto dhe shumë tjera do ti mësoni në këtë tutorial.
Tutoriali
Qellimi nuk është që të krijojmë një User Administration komplekse .Qellimi është që të i jap një filestari në PHP themelët për një fillim të mbarë .
1.Hapi i parë: krijimi i databazës
Si hap i parë duhët të krijojmë një të dhënë e cila do të ketë përmbajtjë të zbrazët me emrin „db.txt“.Ky file do të na shërbejë si databaze texti , në të cilën do të ruhën Emrat dhe fjalëkalimët e përdoruesve.Që të lejoni se ky file të mund të jetë i modifikueshëm për PHP scriptin tuaj , atëherë duhët që ta bëni të modifikueshëm .Ndër sistemet UNIX kjo funksinon me ndihmën e CHMOD . Me FTP programin tuaj , duhët t’ia jepni vlerën 666.
2.Hapi i dytë: regjistrimi
Siq e shini ne rreshtin nr:4 , për qdo user i ri që krijohët , krijohët dhe një rresht i ri (\n).
Pseudonimi dhe fjalëkalimi do të ndahën me një Tabulator (\t) ,që të kemi mundësi më vonë të i da llojmë të dhënat mes veti.
Ne rreshtin e 5-t , e hapim të dhënën për ta mbishkruar me anë të opcionit "a" . Këtë opcion("append") e përdorim që t’i bashkangjesim diqka kësaj të dhëne.
MD5 është një One-Ëay-enkriptim , do të lexoni më tepër në shkrimin më poshtë.
- Kodi:
-
<?php
// regjistrimi.php
if($_POST['submit'] == 1) {
$line = $_POST['user'] ."\t". md5($_POST['password'])."\n";
$handle = fopen('db.txt', "a");
fwrite($handle, $line)or die('Gabim gjatë mbishkrimit');
fclose($handle);
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="hidden" name="submit" value="1" />
<table>
<tr>
<td>Pseudonimi:</td>
<td><input type="text" name="user" /></td>
</tr>
<tr>
<td>Fjalëkalimi:</td>
<td><input type="password" name="password" /></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Regjistrohu" />
</td>
</tr>
</table>
</form>
3.Hapi i tretë: login
Kur useri tashmë është regjistruar ,atëherë edhe duhët që diku të logohët.
Unë kam krijuar forumularin si në vazhdim.
- Kodi:
-
<?php
// login.php
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="hidden" name="p_submit" value="1" />
<table>
<tr>
<td>Pseudonimi:</td>
<td><input type="text" name="p_user" value="<?php echo $_POST['p_user']; ?>" /></td>
</tr>
<tr>
<td>Fjalëkalimi:</td>
<td><input type="password" name="p_password" /></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Login" />
</td>
</tr>
</table>
</form>
4.Hapi i katërt: Siguria e të dhënave
Pasi që i krijuam bazat , tash është koha të mendojmë pak për siguri të PHP file-ve tona.
Së pari e krijomë një file me emrin secure.php , këtë do ta lidhim në hapin e ardhshëm me file-in të cilin deshirojmë ta sigurojmë.
session_start() në rreshtin e dytë është kushti. if($_POST['submit'] == 1) kontrollon se a është dërguar Login forumlari apo regjistrimi.
Me file() i fusim rreshtat me (\n) në Arrays , pastaj këto Arrays i ndajmë me explode pas Tabulatorit.
Pastaj kontrollojmë se a egzistojnë të dhënat dhe se a konkortadojnë me variablën $login të dhënat e ruajtura në Session , nëse ato egzistojnë.
Në rast të mosgjetjës të asnjë vlere , e ndërpresim me die().
- Kodi:
-
<?php
// secure.php
session_start();
if($_POST['p_submit'] == 1) {
$_SESSION['s_user'] = $_POST['p_user'];
$_SESSION['s_password'] = md5($_POST['p_password']);
}
$login = false;
$file = file('db.txt');
if($_SESSION['s_user'] != '' && $_SESSION['s_password'] != '')
foreach($file as $row) {
$roë = explode("\t", $row);
$user = trim($row[0]);
$password = trim($row[1]);
if($user == $_SESSION['s_user'] && $password == $_SESSION['s_password']) {
$login = true;
}
}
if($login == false) {
if($_POST['p_submit'] == 1)
echo 'Gabim ne kyqje. Pseudonimi dhe/ose fjalëkalimi nuk janë korrekt.';
else
echo 'Ju lutëm kyquni';
require('login.php');
die();
}
?>
5.Hapi i pestë: Siguroni të dhënat
Tani mundemi të i sigurojmë të dhënat tona .php , për ta bërë këtë , mjafton ta shtojm këtë kod në filim të sciptes sonë:
- Kodi:
-
<?php
// admin.php
require('secure.php'); ?>
TO SECURE
6.Hapi i gjashtë: Dalja(LogOut)
Në rast se vizitori juaj i regjistruar deshiron që të del nga faqja juaj , te qkyqët pra , atëherë mjafton t’ia ofroni një link i cili e drejton tek faqja logout.php të cilën kuptohët duhët ju ta kirjoni me përmbajtjën siq vijon:
- Kodi:
-
<?php
// logout.php
session_start();
session_destroy();
?>
U qkyqët me sukses !