چگونه یک سیستم لوگین برای سایت بسازیم

forgotten

New Member
سلام

من که نفهمیدم تو میخوای چیکار کنی. ولی اون کاری که گفتی واست انجام دادم. چنتا نکته در مورد سایتت:

1. قالب سایتت رو فایر فاکس میریزه به هم (فکر کنم تو posisioning دایو مشکل داری)
2. سایته جالبیه :)

در مورد این کدا. سه تا صفحه هست، از اسم صفحه ها مشخصه که چیکار میکنن. ولی فکر نکنم بازم بتونه کمک آنچنانی بهت بکنه. چون تو پی اچ پی بلد نیستی (باید یاد بگیری)

اگه دیدی بازم به جایی نرسیدی، کلا بگو چی میخوای، اگه وقت کنم واست مینویسم.

موفق باشی دوسته عزیز.
 

پیوست ها

  • login-logout-config.zip
    1.2 کیلوبایت · بازدیدها: 59

goroop

Member
forgotten جان یک دنیا از ممنونم خیلی کمک بزرگی کردی

بخدا من چند روزی هست که php رو یاد گرفتم

یکی از دوستان از من پرسید که : شما چطوری در طی چند روزه یک php نویسی بشین که این سایت رو با این طراحی و امکاناتش بسازید من 2 ساله که هنوز نتونستم یک cms بسازم

من بهش جواب دادم : من با ویرایش و دقت در کد های php مثل امار بازدید و... ویرایش کد هایی که دیتابیس متصل میشدن
توانستم که یک php نویس بشم

به جان خودم به خدا قسم من از هیچ کس کمک نگرفتم و فقط بخاطر این اسکریپت لوگین از شما کمک گرفتم

چون خیلی داشت بهم فشار وارد میشد از هرکس میپرسید یه جواب دیگه ایی میداد که ادم شاخ در میا ورد
خلاصه من php رو با ویرایش قطعه کد ها یاد گرفتم که چطوری به یک دیتا وصل شد
من میتونم سیستم های زیادی بسازم
دوباره میگم من میتونم بسازم نه اینکه ویرایش بدم من میتونم سیستم وب گذر رو براتون بسازم
ولی چند هفته ایی وقت میبره
میتونم سیستم لینک باکس بسازم
سیستم دوست یابی
سیستم نظر خواهی
سیستم امار
و سیستم هایی که توی فکرش هستید

خلاصه forgotten جان بخدا من از هیچ کس کمک نگرفتم اگر کسی هم بخواد یاد بگیره میتونه طی چند روز یاد بگیره و علاقه شدیدی بهش داشته باشه
مثلا بعضی ها هستند میرن دنبال یک کار بعد ازش خسته میشن و بعد دوباره میرن دنبالش
ولی من نه من یک سره رفتم توی کار php تا یاد گرفتم بخدا من شب و روز پای کامپیوتر بودم تا تونستم یه php نویس خوب بشم



خوب حالا forgotten جان میشه بگی سایتم چقدر میرضه جان خودت راستش رو بگو
 

forgotten

New Member
سلام عزیز

من خیلی تو سایت شما چرخ نزدم. ولی اینطور که دیدم بد نبود. اگه وقت کردم یه تست کلی میکنم. قول نمیدم (اگه وقت کردم). توی P.h.p هم هرچقدر سوال داری بپرس. تا جایی در حد دانشم باشه بهت جواب میدم. اگرم جایی چیزی ندونم واست میپرسم و بهت میگم.

موفق و سربلند باشی دوسته من.
 

goroop

Member
forgotten جان ببخشید بابت این همه زحمتی که به گردنت انداخته بودم واقعا شرمنده اخه نیاز داشتم که خوشبختانه کارم رفع شد ولی با یک کده دیگه اما کد شما حرف نداره ولی نمیدونم وقتی با هاش میخام لوگین کنم خطا میده و مینویسه نام کاربری و پسورد اشتباه است من یوزرنیم و پسورد رو درست بهش میدم ولی همچین میکنه فکر کنم یه مشکلی داره اگر لطف کنی سیستمی که به من دادی رو کامل تر بدی یعنی با تمام فایل هاش بدی بخدا خیلی ممنونت میشم

راستی اگر دوست داشته باشی میتونیم ما با هم همکار بشیم

من دارم یک فروشگاه اینترنتی معروف میسازم

با طراحی بسیار زیبا و امکانات جالب یعنی طوری میشه که کاربر سایت رو صفحه خانگی خودش می کنه
 

textile

Member
Goroob جان شما به پیام من عمل نکردید . اگه فایل هاتون رو برای من E-mail کرده بودید . تا حالا مشکلتون حل شده بود .



شما هم هرچی رو که می خوایی برات ویرایش کنم لطفا فایل هات رو E-mail بزن ..

میلاد جان من فایلهای php mailer , mailer را براتون ایمیل هم کردم لطفا کمک کنید.
 

پیوست ها

  • ali.rar
    10.2 کیلوبایت · بازدیدها: 18
  • Login System v[1].2.0.rar
    21.8 کیلوبایت · بازدیدها: 22
آخرین ویرایش:

goroop

Member
tabib_m جان

جان خودت اگر میتونی کار مار راه بنداز یه سیستم ساده میخام برای سایت که کاربران بتونن باهاش لاگین کنن
--------------------------------
من تو این رو خیلی از پست ها رو دیدم که داشتن در باره من مطلب مینوشتن

-----------------------------------

منتظر مطلب شما دوست عزیز هستم

ویرایش بدلیل عدم رعایت قوانین انجمن
ویرایش توسط Siavashmusic
 
آخرین ویرایش توسط مدیر:

forgotten

New Member
سلام عزیز.

کد من به 2 علت ممکنه کار نکنه

1. کانفیگ نکردن درست فایل config.php
2. دادن نام table اشتباه در متغیر mysql_command

شما باید این دوتا رو درست تنظیم کنی که اون کد کار کنه. در ضمن اینم بگم که اون کد یه کد ساده و پیش پا افتادس. ممکنه یه هکر راحت بتونه هکت کنه. اون فقط یه مثاله که سر نخ دستت بیاد. اگه بخوای من واست کلا این بخش رو بنویسم به سوالای من به صورت کامل جواب بده :

1. اسم و فیلدهای جدول اعضای سایت رو برام بنویس
2. اسم متغیرهای تماسی که داری ازشون استفاده میکنی.
3. چطوری داری برنامه رو مینویسی (فانکشنال یا کلاس)

اینارو به من بده تا من یه کد با پدر و مادر برات بنویسم و بهت بدم. اینم Yahoo! ID منه : r4dn3t
اگه کاری داشتی بهم پی ام بده. اونجا راحت تر میتونم توضیح بدم برات.

اینم بگم که فروشگاه نوشتن همش رو توانایی کار با $_SESSION میچرخه. پس استفاده از $_SESSION رو کاملا یاد بگیر.
موفق باشی
 

tabib_m

Member
سلام

من نمیدونم چرا یک بحث با این موضوع اینقدر باید طولانی بشه.

امیدوارم به زودی مشکل حل بشه.

این رو هم تست کن:
PHP:
<?
session_start();

$connect=mysql_connect("localhost","root","");
$db=mysql_select_db("dbName");

if($_SESSION['SESS_USER']){
	$USER=$_SESSION['SESS_USER'];
	$PASS=$_SESSION['SESS_PASS'];
}

if($_COOKIE['COOCIE_USER']){
	$USER=$_COOKIE['COOCIE_USER'];
	$PASS=$_COOKIE['COOCIE_PASS'];
}

if($_POST['login']){
	$USER=$_POST['username'];
	$PASS=$_POST['password'];
}

	
$query=mysql_query("select * from `membersTable` where `username`='$USER' and `password`='$PASS'");
$row=mysql_fetch_assoc($query);

if($row){
	$LOGIN=true;
	
	$_SESSION['SESS_USER']=$USER;
	$_SESSION['SESS_PASS']=$PASS;
	if($_POST['remember'] or $_COOKIE['COOCIE_USER']){
		setcookie("User",$user,time()+7*24*3600);
		setcookie("Pass",$pass,time()+7*24*3600);
	}
}else{
	$LOGIN=false;
}


if(!$LOGIN){

//SHOW LOGIN FORM
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Login Form</title>
</head>
<style>
body,td,input{
	font: 11px tahoma;
}
</style>
<body>

<div align="center">
	<form method="post">
	<br />
	<br />
	<?
	if($_POST['username']){
		echo "<font color='red'>Login Error, the Username and/or Password is not true.</font>";
	}
	?>
	<table style="width: 200px;">
		<tr>
			<td>
				Username:
			</td>
			<td align="right">
				<input type="text" name="username" value="<?=$_POST['username'];?>" />
			</td>
		</tr>
		<tr>
			<td>
				Password:
			</td>
			<td align="right">
				<input type="text" name="password" />
			</td>
		</tr>
	</table>
		<label><input type="checkbox" name="remember" value="1" />Remebmer</label><br />
		
		<input type="submit" name="login" value="Login" /><br />
	</form>
</div>


</body>
</html>
<?
exit();
}
?>

این کد رو بذار توی یک فایل ، مثلا با نام login.php . بعد هر جایی که ورود کاربران الزامی هست، این فایل رو require کن.

نکات:
1- لازمه ی استفاده از این کد (و کدهای دیگری که در این بحث گذاشته شدند) آشنا بودن با :html و php و mysql و session و cookie است.
2- قسمت های مورد نیاز، باید تغییر بکنه، از جمله اسم جدول کاربران، اسم فیلدها و ...
3- صفحه ی فرم لوگین، کاملا یک کد html ساده هست، که هر طور که بخواید میتونید طراحیش کنید...
4- در صورتی که کار نکرد، یا شما اروری دریافت کرده اید، یا نه. در صورتی که ارور دریافت شد، ارور مربوطه رو اینجا بذارید. در غیر این صورت، مسئله ای که باهاش مواجه میشید رو اینجا بگذارید.
5- از نظر این که کوکی مربوطه به صورت مستقیم ثبت میشه، امنیت این کد یه کم پایینه. کافیه از تابع md5 استفاده کنید، برای این کار هم تنها کمی آشنایی با php کافیه. اگر هم نتونستید این کار رو هم بکنید، باز هم بگید، من کد رو ویرایش میکنم و میذارم.

امیدوارم بحث دیگه بیشتر از این کش پیدا نکنه.

موفق باشید.
 

goroop

Member
tabib_m جان کدت برای من جواب داد

ولی یه کد براش بنویس که کاربر بتونه logout کنه یعنی خروج از سیستم بشه

و یک کد هم بنویس براش که داخل صفحه های دیگه بزارمش

وقتی که کاربر لاگین کرد منتقل بشه به این صفحه wellcome .php و اگر مشخصاتش درست نبود و وارد صفحه ی wellcome.php شد بهش اخطار بده که نام کاربر و کلمه عبور اشتباه است

منظورم رو فهمیدی

یعنی برای صفحه های دیگه که کاربر بخواد وارد انها بشه باید لاگین کنه تا بتونه به صفحه های دیگه دیگه وارد بشه امید وارم منظورم رو فهمیده باشی
 
آخرین ویرایش:

jhoseini

Member
حالت عادی سیستم لاگین به این حالته که به واسطه ی یک فرم ، نام کاربری + کلمه عبور از کاربر گرفته میشه و سیستم چک میکنه که اگه این اکانت فعال و مجاز هست، تاییدش کنه و تو این قسمت یه مشخصه ای به کاربر بده تا دیگه مجبور نباشه نام کاربر + کلمه عبور بده
این مشخصه میتونه یه session id باشه یا cookie و یا به واسطه ip کاربر یا ..
تمام فلسفه سیستم لاگین به حالت عادی همینه، حالا شما میتونید به هر حالت و هر زبونی اینو پیاده کنی
ولی اگه برنامت صوریه که کاربر باید مجبور باشه برای دیدن هر صفحه یک نام کاربر + کلمه عبور خاص اون صفحه رو بده به سیستم، اون دیگه نمیشه سیستم لاگین، اونو باید طور دیگه ای تحلیل کنی و ازش مسئله بسازی و ...
 

tabib_m

Member
ولی یه کد براش بنویس که کاربر بتونه logout کنه یعنی خروج از سیستم بشه
باید سشن ها و کوکی ها پاک بشن ، برای مثال:

PHP:
<?php
if($_GET['log_out']=='1'){
     $_SESSION['SESS_USER']='';
     $_SESSION['SESS_PASS']='';
     setcookie('COOKIE_USER','');
     setcookie('COOKIE_PASS','');
}
?>
اگر این کد رو به اول کدی که برات گذاشتم اضافه کنی، کافیه انتهای لینک log_out برابر با یک بشه. اونوقت سشن ها و کوکی ها ی مورد نظر پاک میشن.
توی کدی که برات گذاشتم، یک اشتباه تایپی هم دارم، اون جاهایی که نوشتم COOCIE رو با COOKIE عوض کن. (البته الزامی به این کار نیست)

برای جا به جایی بین صفحات از این کد استفاده کن:
PHP:
header("Location: newLocation");
کد مذکور باید قبل از این که هیچ چیزی به مرورگر ارسال بشه (مثلا echo بشه) نوشته بشه.

اگر php بلد باشی، خودت میدونی کجای کد باید جاش بدی، و ازش استفاده کنی...
 

.:: Ali ::.

Member
می خواستم یه تشکر ویژه از tabib_m عزیز داشته باشم ، به خاطر زحماتی که می کشه .
 

goroop

Member
اشتباه در فرم لاگین

تبیب جان
این کدی که دادی انگار یه مشکلی داره

مثال
وقتی لاگین میکنی ورود میشه هیچ هشکلی نداره
ولی وقتی میخای وارد یک صفحه یا یه چیزی به لینک اضافه کنی سریعا از سیستم logout میشه ولی من logut نمیکنم خودش خود به خود logut میشه
مثال ادرسش :
http://127.0.0.1/login.php
ولی وقتی میخای به لینک یه چیزی اضافه کنی مثل این
http://127.0.0.1/login.php?login
سریعا از سیستم خروج میشه ولی نباید اینطوری باشه باید بر رو ی لینک logut کلیک کنی تا تمام سشن ها و کوکی ها پاک بشن
نه اینکه تا یک چیزی به لینک اضافه کردی کوکی ها و سشن ها پاک بشن

اگر میشه یه نگاه به کدی که دادی بنداز و مشکلش رو رفع کن

2:
من میخام برای صفحه ها یه کد بزارم که وقتی کاربر لاگین کرده بتونه وارد اون صفحه بشه و اگر لاگین نکرده باشه بهش اخطار بده من از کد زیر استفاده کردم ببین درسته یا غلطه برای من که غلط بود اگر میشه اینم یه نکاه بندازید
PHP:
<?


if($row){ 
    $LOGIN=true; 
     
    $_SESSION['SESS_USER']=$USER; 
    $_SESSION['SESS_PASS']=$PASS; 
    if($_POST['remember'] or $_COOKIE['COOKIE_USER']){ 
       setcookie("User",$user,time()+7*24*3600); 
        setcookie("Pass",$pass,time()+7*24*3600);  

    } 




echo "خوش امدید ";
}else{ 
echo " لطفا لاگین کنید ";
}
?>
 
آخرین ویرایش:

1p30

Member
کد که ایراد داره
ولی یه چیز مهم تر هم میخوایی از سکشن استفاده کنی هم از کوکی!!
 

jhoseini

Member
PHP:
<?PHP
session_start(); // tamame safahati ke niaz be mohite shakhsi daran [niaz be session daran] , baiad avale script az tabe`e session_start(); estefade beshe

$current_username = "MyUsername"; // mituni ino az database bekhuni, ia az file, ia haminja configure esh koni
$current_password = "MyPassword"; // mituni ino az database bekhuni, ia az file, ia haminja configure esh koni

if(! (($_SESSION['username']==$current_username) and ($_SESSION['password']==$current_password))){
	if(!( ($_POST['username']==$current_username) and ($_POST['password']==$current_password))){
		echo "
		<form method=post>
		username:<input name=username><br>
		password:<input type=password name=password><br>
		<input type=submit>
		</form>";
		die();
	} else {
		$_SESSION['username']=$_POST['username'];
		$_SESSION['password']=$_POST['password'];
		echo "<script>alert('logged in')</script>";
	}
} 
// else 

echo "this is my users personal page, OOKKKK?!!!!!!!!!!!!!!!!!!!!!?!!!";
?>
 

tabib_m

Member
می خواستم یه تشکر ویژه از tabib_m عزیز داشته باشم ، به خاطر زحماتی که می کشه .
خواهش میکنم. :) وظیفه س

تبیب جان
این کدی که دادی انگار یه مشکلی داره

مثال
وقتی لاگین میکنی ورود میشه هیچ هشکلی نداره
ولی وقتی میخای وارد یک صفحه یا یه چیزی به لینک اضافه کنی سریعا از سیستم logout میشه ولی من logut نمیکنم خودش خود به خود logut میشه
مثال ادرسش :
http://127.0.0.1/login.php
ولی وقتی میخای به لینک یه چیزی اضافه کنی مثل این
http://127.0.0.1/login.php?login
سریعا از سیستم خروج میشه ولی نباید اینطوری باشه باید بر رو ی لینک logut کلیک کنی تا تمام سشن ها و کوکی ها پاک بشن
نه اینکه تا یک چیزی به لینک اضافه کردی کوکی ها و سشن ها پاک بشن

اگر میشه یه نگاه به کدی که دادی بنداز و مشکلش رو رفع کن

کد مورد نظر تست شده و هیچ مشکلی نداره...

من میخام برای صفحه ها یه کد بزارم که وقتی کاربر لاگین کرده بتونه وارد اون صفحه بشه و اگر لاگین نکرده باشه بهش اخطار بده من از کد زیر استفاده کردم ببین درسته یا غلطه برای من که غلط بود اگر میشه اینم یه نکاه بندازید

کدهای مورد نیاز (header) رو براتون گذاشتم. اگر فقط کمی توجه داشته باشید، میتونید از اون در مکان مورد نیاز در همین صفحه ی login.php استفاده کنید!!!

موفق باشید.
 

textile

Member
Goroob جان شما به پیام من عمل نکردید . اگه فایل هاتون رو برای من E-mail کرده بودید . تا حالا مشکلتون حل شده بود .



شما هم هرچی رو که می خوایی برات ویرایش کنم لطفا فایل هات رو E-mail بزن ..

میلاد جان خیلی وقته که برات فایلها را ایمیل کردم.لطفا ایمیلهایت را چک کن .....
 

delphiworker

New Member
سلام دوستان، مطالب رو خوندم، جالب و کامل بودند؛
آیا لوگین آماده ای دارید که بشه ازش برای استفاده در یک سایت استفاده کرد بدون نیاز به دیتابیس ؟ یا اینکه دیتابیس در قالب یک فایل متنی باشه ؟
 

alionline1366

Active Member
شما دو بار هدر رو به صفحه فرستادی کدت رو بزار تا درستش کنیم یا اگه تو کدت header داری قبلش یه @ بزار درست میشه
 

جدیدترین ارسال ها

بالا