کلا چطوری میشه یه سایتphp نوشت ؟

sharktech

کاربر فعال
چطوری میشه کدهای php رو روی ویندوز تست کرد؟ منظورم اینه که چطور میشه php رو روی ویندوز نصب کرد؟

شما میتونین از این برنامه استفاده کنین WampServer , اگه اینو نصب کنید, دیگه نیازی به نصب php و کلی درد سر دیگه ندارید.

من خودم توی مدیریت سایت dreamweaver آدرس سایت رو root این برنامه دادم و همه چی حل شد.
 

sharktech

کاربر فعال
فرق بین session و cooki چیه ؟

از کدوم یکی برای تشخیص اینکه کاربر وارد یا خارج شده استفاده میکنن ؟

اصلا کاربرد و نوع استفاده از هر کدوم رو یه توضیح بدین ممنون میشم.

مرسی
 

Mr.Steres

Active Member
خیلی ساده بگم این 2 تا ظرفی برای قرار دادن اطلاعات به شما میده ! در حالت اول $_COOKIE اطلاعات ظرف شما روی مرورگر کاربر ذخیره می شه ولی در $_session اطلاعات روی سرور دخیره می شه ! طبیعا چون به کاربر اطمینانی نیست که روی سیستمش تروجانی چیزی نباشه برای سیستم های لوگین از $_session استفاده می شه
 
آخرین ویرایش:

sharktech

کاربر فعال
ممنون.

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

راستش من می خوام یه اسکریپت ساده( اما با امنیت خوب و طبق آخرین متد روز :lol:) بنویسیم که توش امکان عضویت, ورود و خروج وجود داشته باشه, اما هنوز موفق نشدم, اگه بشه با مثال, کل قضیه, عضویت, ورود و خروج رو توضیح بدین ممنون میشم.
 

sharktech

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

مثلا اگه کسی مستقیما آدرس محیط admin رو بزنه, میتونه بهش دسترسی داشته باشه.

مرسی
 

Mr.Steres

Active Member
من قسمت لوگین سایت رو ساختم اما نمیدونم چطوری جلوی ورود افراد مهمان رو به قسمت های ممنوع سایت بگیرم.

مثلا اگه کسی مستقیما آدرس محیط admin رو بزنه, میتونه بهش دسترسی داشته باشه.

مرسی

ساده ترین شکل ممکن :

PHP:
function check_user()
{
	session_start();
	if ( isset ( $_SESSION['admin'] ) ){
		return true;
	} else {
		return false;
	}
}

if ( ! check_user() ) {
	header ( 'Location: login.php' );
	exit();
}

صفحه ورود :

PHP:
if ( isset ($_POST['submit']) ) {
	
	$row = mysql_query ("select * from users where username = '{$_POST['username']}' and password = '{$_POST['password']}'") ;
	
	if ( mysql_num_rows ( $row ) ) {
		
                session_start();
                $user = mysql_fetch_assoc($row);
                $_SESSION['admin']=$user['admin'];
                header ( 'location: usercp/index.php' );
		
	} else {
		
		$msg = 'نام کاربری و یا کلمه عبور اشتباه است . ' ;
		
	}
	
}
 

imanbaraty

کاربر متخصص افتر افکتز

sharktech

کاربر فعال
برای خروج از سیستم, کدوم دستور بهتره ؟

session_unset
session_unregister
session_destroy

مرسی
 

sharktech

کاربر فعال
من صفحه ثبت نام رو هم نوشتم, اما سیستم کپچا نداره, می خواستم بدونم که چطوری می تونم یکی درست کنم یا از یه سیستم آماده استفاده کنم ؟

به سوال بالایی هم جواب بدین.
مرسی.
 

Masoud1365

مدیر انجمن
شما بهترین کاری که میتونی بکنی اینه که اول سرچ کنید بعد سوالتون رو مطرح کنید . توی همین انجمن بیشتر از 2000 بار در مورد کپچا بحث شده . این طوری بیشتر توی ذهن خودت هم میمونه در کل اگر میخوایی برنامه نویس حرفه ای بشی هیچ وقت از کسی کد آماده نخواه سعی کن خودت بنویسی :wink:

موفق باشی
 

sharktech

کاربر فعال
ممنون

راستش من سرچ کردم اما چیزی پیدا نکردم.

حالا نمیشد یکم راهنمایی می کردین ؟:)

اصلا ولش کن, خودم یکی نوشتم :cool:
 
آخرین ویرایش:

sharktech

کاربر فعال
یه مشکل جدید ما رو گزید :lol:
من یه چندتا فانشن رو تو یه فایل نوشتم که این فایل هم تو یه فولدر هست.
حالا می خوام اون فایل قبلی رو توی یه فایل که خودش تو یه فولدر دیگه است اینکلود کنم, اما نتونستم.

چی گفتم, کسی هست کمک کنه ؟
 

Mr.Steres

Active Member
ادرس اینکلود دومی باید نصب با صفحه ای که الان فایل داره توش اینکلود می شه تنظیم بشه
 

sharktech

کاربر فعال
متوجه نشدم, میشه یکم بیشتر توضیح بدین ؟

من می خوام که وقتی کسی توی سایت عضو شد, تکمیل شدن ثبت نامش با ایمیل ممکن باشه, اما نمیدونم چطوری این کارو بکنم, میشه در این مورد هم یه توضیحی بدین ؟

ممنون
 

Mr.Steres

Active Member
ببین شما مثلا یک فایل به اسم تست توی پوشه Inc داری و یه فایل به اسم تست 2 توی پوشه sys ! حالا اگر بخوای تست یک رو تست 2 انکلود کنی باید این کد رو بزنی :

PHP:
include ("../Inc/test.php");

برای تایید ثبت نام هم باید یک کد اتفاقی ایجاد کنی و بزاری توی url و برای تیبل یوزر ها هم یک فیلد status ! بعد یک فایل می زاری که کد پیگیری رو با گت از url بگیره و اون رکورد ی که کدش رو به دست اورده رو status اش رو active کنه !
 

sharktech

کاربر فعال
یه دنیا ممنون دوست عزیز :rose:
آقا شرمنده, این تکمیل ثبت نام رو اگه میشه یه بار دیگه توضیح بدی, خیلی خوب میشه.

یه چیز دیگه, من توی تیبل کاربرها یه فیلد به اسم id گذاشتم که شماره میخوره, حالا می خوام وقتی که یه کاربر ثبت نام کرد به صورت اتوماتیک, ببینه قبلی چند هست یکی به اون اضافه کنه و برای کاربر فعلی ثبت کنه.(همون شماره کاربرهای خودمون)

بازم ممنون
 

Mr.Steres

Active Member
باید هنگام تعریف فیلد ای دی اون رو AUTO_INCREMENT تعریف می کردی که خود mysql این کارو رو انجام بده
 

sharktech

کاربر فعال
از داخل phpmyadmin در قسمت structure فیلد مورد نظرمو در حالت AUTO_INCREMENT قرار دادم, درست شد.

در مورد تایید ثبت نام هم, چطوری میشه بعد از ثبت نام یه کدی رو درست کرد و به ایمیل وارد شده فرستاد.

در مورد بازیابی رمز عبور هم یه توضیح بدین ممنون میشم.

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

بازم ممنون
 

Mr.Steres

Active Member
با کد زیر می تونی کد اتفاقی 10 رقمی ایجاد کنی !

PHP:
$code = rand(1000000000,9999999999) ;

خوب با تابع mile می تونی این رو برای کاربرت ارسال کنی :

کد:
http://ir.php.net/manual/en/function.mail.php

می تونی برای ارسال url اون رو اینطوری بسازی :

PHP:
echo "Http://Sitename.Com/register.php?do=active&code=" . $code ;

خوب توی قسمت active فایل register باید این کد ها رو وارد کنی :

PHP:
if ( $_GET['do'] == 'active' ) {
	mysql_query("update users set status = 'active' where code = '{$_GET['code']}' ");	
}

برای ارسال رمز هم باید به روش زیر عمل کنی :

PHP:
$email = $_POST['email'] ;
$pass = mysql_query("select password from users where email = '$email' ");

خوب کد بالا پسورد اون ایمیلی که کاربر وارد کرده رو به دست می آره که اینم با تابع mile() باید به $email باید ارسالش کنی !
 
آخرین ویرایش:

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

بالا