Sign in to follow this  
Followers 0

რეგისტრაციის სკრიპტი PHP ში

3 posts in this topic

მოგესალმებით ! ამ თემაში დავწერ რეგისტრაციის და ავტორიზაციის სკრიპტს პიეიჩპიზე და მუსქულზე (PHP ,MYSQL).
დავიწყოთ! პირველ რიგში გავაკეთოთ ფაილი ,სადაც იქნება ბაზასთან კავშირის სკრიპტი.
შეგახსენებთ რომ კოდში // არის კომენტარები ,რათა უკეთესად წაიკითხოთ კოდი ... (კომენტარები არანაირად არ მოქმედებს კოდზე).

1)[b] გავაკეთოთ ფაილი ,სადაც იქნება ბაზასთან კავშირის სკრიპტი «config.php».[/b]

[code]
<php
//ჰოსტის მონაცემები ,ჰოსტი,იუზერი,პაროლი და ბაზა.
$host="localhost";//ბაზის ჰოსტი
$user="root";//ბაზის იუზერი
$pass="";//ბაზის პაროლი
$db="base";//ბაზის სახელი
mysql_connect($host,$user,$pass) or die("Database Error");//ვუკავშირდებით ბაზას,წარუმატებლობის შემთხვევაში ვწერთ Database Error და ვწყვეთ სკრიპტს
mysql_select_db($db) or die("Database Select Error");// ვირჩევთ ბაზას ჰოსტიდან ,წინაამდღდეგ შემთხვევაში ვწერთ Database Select Error და ვწყვეთ სკრიპტს
?>
[/code]

2)შემდეგ ვაკეთებთ ფაილს «register.php» და მასშივე ვაკეთებთ რეგისტრაციის ფორმას.
[code]
<?php
include("config.php");//ვიერთებთ კონფიგურაციის ფაილს(რომელშიც ბაზასთანაა კავშირი)
function secured($text){//ვაკეთებთ ფუნქციას ,რომელიც გახდის პარამეტრ $text ს უსაფრთხოს,რათა ჰაკერმა ვერ შეძლოს გამოიყენოს სკრიპტები .
return htmlspecialchars(trim(strip_tags($text)));
}
if($_POST['submit']){
$login=secured($_POST['login']);//ვიძახებთ ფუნქცია secured() და ვაგზავნით პარამეტრად $_POST['login'] ს .
$pass1=secured($_POST['pass1']);
$pass2=secured($_POST['pass2']);
if($login!=''){ //თუ ლოგინის ველი არაა ცარიელი ,მაშინ ვაგრძელებთ
if($pass1!=''){
if($pass2!=''){
if($pass1==$pass2){//თუ $pass1 იგივეა რას $pass2 ვაგრძელებთ
if(mysql_num_rows(mysql_query("SELECT * FROM users WHERE username='".$login."'"))==0){
mysql_query("INSERT INTO `users` (`id` ,`login` ,`password`)VALUES ('NULL', '".$login."', '".$pass1."')");//ვსვავთ ბაზაში login და password ს
echo "თქვენ წარმატებით დარეგისტრირდით";
}else {echo "მომხმარებელი ასეთჳ ლოგინით უკვე დარეგისტრირებულია";}
}else {echo "პაროლი და პაროლის გამეორება არ ემთხვევა";}
}else {echo "პაროლის გამეორება არ უნდა იყოს ცარიელი";}
}else {echo "პაროლის ველი არ უნდა იყოს ცარიელი";}
}else {echo "ლოგინის ველი არ უნდა იყოს ცარიელი";}
}
?>
<form method='post' action='/register.php'>
ლოგინი: <input type='text' size='30' name='login' /><br />
პაროლი: <input type='password' name='pass1' size='30' /><br />
გაიმეორეთ პაროლი: <input type='password' name='pass2' size='30' /><br />
<input type='submit'name="submit" value='რეგისტრაცია' />
[/code]

მგონი ყველაფერია გასაგებია ,მაგრამ მაინც კიდევ უფრო კარგად განვმარტავ ..

[b]mysql_query("INSERT INTO users(id,login,password) VALUES(NULL, '".$login."', '".$pass1."'");[/b]
აქ INSERT INTO ს შემდეგ მოდის ბაზა რომელშიც უნდა ჩაიწეროს . (id,login,password) ეს არის ბაზის სტრუქტურა .
VALUES(NULL, '".$login."', '".$pass1."'"); ეს არის მნიშვნელობები ,id,login,password ის შესაბამისად . id იმიტომ ჩავსვით NULL რომ ,აიდი არის ავტო ინკრემენტი,რაც იმას ნიშნავს რომ ბაზა თვითონ ჩასვამს მასში მომდევნო აიდს ,მაგ 1,2,3,4,5,6,7 .. თანმიმდევრობით ..
'".$login."' ,როდესაც გვსურს ჩავსვათ ცვლადი ვწერთ ამას ,'".$ცვლადი."'

[b]3)ავტორიზაცია[/b]- ვაკეთებთ ფაილს «login.php» და მასშივე ვაკეთებთ ავტორიზაციის ფორმას.
[code]
<?php
session_start();//ვიძახებთ სესიას აუცილებლად კოდის თავში .
include("config.php");
function secured($text){//ვაკეთებთ ფუნქციას ,რომელიც გახდის პარამეტრ $text ს უსაფრთხოს,რათა ჰაკერმა ვერ შეძლოს გამოიყენოს სკრიპტები .
return htmlspecialchars(trim(strip_tags($text)));
}
$login=secured($_POST['login']);
$pass=secured($_POST['pass']);
if($_POST['submit']){
if($login!=''){
if($pass!=''){
$userinfo=mysql_fetch_array(mysql_query("SELECT * FROM users WHERE login='".$login."'"));
if($pass==$userinfo['password']){
$_SESSION['ok']=1;
header("location:index.php");//$_SESSION['ok']=1; სესიაში ვსვავთ $_SESSION['ok'] რითაც ავღნიშნავთ რომ მომხმარებელი ავტორიზირებულია
}else {echo "ლოგინი ან პაროლი არასწორია";}
}else {echo "შეიყვანეთ პაროლი";}
}else {echo "შეიყვანეთ ლოგინი";}
}
?>
<form method='post' action='/login.php'>
ლოგინი: <input type='text' size='30' name='login' /><br />
პაროლი: <input type='password' name='pass' size='30' /><br />
<input type='submit'name="submit" value='ავტორიზაცია' />
[/code]
header("location:index.php");
ეს კოდი გადაგაგდებთ index.php ზე ,index.php ში კი გააკეთეთ ასეთი შემოწმება.
ჯერ აუცილებლად დაიწყეთ session_start(); ით, მერე
if($_SESSION['ok']!==1){
header("location:login.php"); //გახსოვთ? ჩვენ ავღნიშნეთ $_SESSION['ok']=1; თუ მომხმარებელი ავტორიზირებულია .აქ კი ხდება შემოწმება ,თუ მომხმარებელი ავტორიზირებულია არაა მაშინ გადავაგდოთ login.php ზე ;)
}

ეს კოდი ბოლომდე დაცული არაა ,და არც გირჩევთ ამ კოდის საიტზე გამოყენებას ,ეს დავწერე უბრალოდ თქვენ რომ გაიგოთ თუ როგორც ხდება რეგისტრაცია და ავტორიზაცია.
იმედია თქვენ ბევრად უკეთესს დაწერთ )))
ჰო კიდევ ,თუ ქართულ ფონტს გამოიყენებთ კოდირება უნდა იყოს UTF-8 (BOM ის გარეშე) .
BOM ის გარეშე თუ არ იქნება პრობლემები შეგექმნებათ სესიებთან Edited by giorgi711
3

Share this post


Link to post
Share on other sites
[b][member="giorgi711"][/b],
რა კარგი თემაა გიო და კარგადაც გიშრომია, ბრავო : ))
0

Share this post


Link to post
Share on other sites
[quote name='Serafit' timestamp='1386701365' post='712504']
[b][member="giorgi711"][/b],
რა კარგი თემაა გიო და კარგადაც გიშრომია, ბრავო : ))
[/quote]
მადლობა :)
0

Share this post


Link to post
Share on other sites
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   You have pasted content with formatting.   Remove formatting

Sign in to follow this  
Followers 0