مشکل با session

maysam.m

Well-Known Member
با سلام
من هر چی با این سیشن ها کار میکنم به مشکل بر میخورم :cry: نمیدونم مشکل از کجاست! :(

من 2 تا صفحه دارم login.php , index.php

- در صفحه index.php میخوام شرطی بگذارم که اگه سیشن وجود داشت، یوزر بتونه صفحه را ببیند و اگر سیشن مقداری نداشت، کاربر را به صفحه login.php بفرستم.

- در صفحه login.php میخوام شرطی بگذارم که اگر سیشن مقداری داشت به صفحه index.php منتقل بشه و در صورتی که سیشن مقداری نداشت کاربر بتونه لاگین کنه و در صورت درستی یوزر و پسورد، سیشن هایی ساخته بشه و اون به صفحه index.php منتقل بشه!

نمی دونم این کار شدنی است یا نه! ولی من هر چی با این سیشن ور رفتم بیشتر گیج شدم!
من این دو تا صفحه را درست کردم ولی مدام خطای زیر را میدهد:
کد:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\mycms\admin\index.php:1) in C:\xampp\htdocs\mycms\admin\index.php on line 2

صفحه index.php
PHP:
<?php
session_start();

		if (isset($_SESSION['admin_id']) || isset($_SESSION['username']))
		{
		echo " You are Logged in as $_SESSION['username']";
		}// end if
else {

		@header("Location: login.php");	
}

?>

این هم صفحه لوگین:

PHP:
<?php 
session_start();
if ( isset($_SESSION['username']))
{
	@header("Location: index.php");	
}

if(isset($_POST['form']))
{
include_once "config.php";
$username = mysql_real_escape_string(htmlspecialchars($_POST['username']));
$password = mysql_real_escape_string(htmlspecialchars(md5($_POST['password'])));

	$query_login = mysql_query("SELECT * FROM `admin` WHERE `username` = '$username' AND `password` = '$password' ");
	
	$row = mysql_fetch_array($query_login);
	if($row > 0)
    {
	echo 'You Successfully Login';
	$_SESSION['username'] = $row['username'];
    $_SESSION['admin_id'] = $row['admin_id'];
	@header("Location: index.php");	
    }
    else
    {
	echo 'You Faild Login!';	
	@exit();
    }

	}

?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title> News Management : Admin Login </title>
</head>
<body>
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="POST">
<input type="hidden" name="form" value="1">
<div align="center">
	<table border="0" width="300" cellpadding="0" dir="rtl">
		<tr>
			<td align="right" id="newstitle" colspan="2"><b>» ورود به بخش مدیریت</b></td>
		</tr>
		<tr>
			<td>
			<table border="0" dir="rtl" cellpadding="0"  width="100%">
				<tr>
					<td align="left" dir="rtl">نام کاربری:</td>
					<td align="right" dir="rtl"><input type="text" name="username" size="20"></td>
				</tr>
				<tr>
					<td align="left" dir="rtl">رمزعبور:</td>
					<td align="right" dir="rtl"><input type="password" name="password" size="20"></td>
				</tr>
				<tr>
					<td align="left" dir="rtl"></td>
					<td align="right" dir="rtl"><input type="submit" value=" ورود " name="submit"></td>
				</tr>
			</table>
			</td>
		</tr>
	</table>
</div>
</form>
</body></html>


دوستان لطفا بگن مشکل این کدها کجاست؟
دیوونم کرد این سیشن! :mad: :snap:
 

maysam.m

Well-Known Member
این مشکل شما باید به خاطر ذخیره کردن فایلها با utf-8 باشه یه سری به این لینک بزنید حتما کمکتون می کنه
http://php.net/manual/en/function.session-start.php
اگه نیازی به اینکود utf-8 ندارید صفحات خودتون رو با یه اینکود دیگه save az کنید

با سلام

مشکل از utf-8 فکر نمیکنم باشه! :cry: مجدد با یه ویرایشگر متن دیگر تبدیلش کردم اما چیزی تغییر نکرد!
 

iran-TEC

Member
البته این مشکل به اینکود شما مربوط نمی شه مربوط به نرم افزاری که شما با اون اینکود انجام می دهید مانند notepad و dreamwaver شما وقتی با این نرم افزارها اینکود رو انجام می دهید باعث ایجاد یکسری کاراکترهایی که قابل دیدن نیستند می شود که همین علت ایجاد این مشکل می باشد .
برای حل مشکتون من این لینک رو پیدا کردم من خودم هم به این مشکل برخورد کردم و مجبور شدم کدهام رو دوباره تو نرم افزار zend sudioi بنویسم . اینم لینکی که گفتم
 

Allahparast

Member
فایلتون رو با هر ویرایشگری که باز می کنید save bomb نکنین ، بعد از session_strat();
PHP:
ob_start();
بعدش عرض کنم یک بار فقط سشن رو استارت می کنند شما تو فایل index.php تابع استارت سشن رو بردار
موفق باشی
 
آخرین ویرایش:

maysam.m

Well-Known Member
با تشکر از تمامی دوستان ، بله مشکل از Encoding Utf-8 بود.
این هم راه حل برای کسانی که شاید مشکل منو پیدا کنند. وارد نرم افزار
کد:
Notepad++
شوید و از منوی Format گزینه Convert to UTF-8 Without BOM را انتخاب نمایید.

شما تو فایل index.php تابع استارت سشن رو بردار
TNX

با تشکر
 
آخرین ویرایش:

hidensoft

Member
آخرین نسخه یوبونتو رو دانلود کنید نصب کنید تمومه...
مقدمات نمی خواد که
 

maysam.m

Well-Known Member
آخرین نسخه یوبونتو رو دانلود کنید نصب کنید تمومه...
مقدمات نمی خواد که

چرا برای من مقدمات میخواد :)
اول باید اطلاعاتم کمی بیشتر بشه! (هم در زمینه پی اچ پیو هم زبان انگلیسیم تقویت بشه)
دوم یه سیستم دیگه تهیه کنم تا روی اون یه نسخه از لینوکس نصب کنم.
:)
 

ziXet

مدیر انجمن PHP/MYSQL
آخرین نسخه یوبونتو رو دانلود کنید نصب کنید تمومه...
مقدمات نمی خواد که
به نظرم اوبونتو فعلا برای یه طراح وب سایت سیستم عامل خوبی نیست!
اول از همه فاقد نرم افزار گرافیکی خوب برای کارهای گرافیکی هست
دوم اینکه نصب کردن ie و کروم و سافاری و بدتر از همه اپرا روی لینوکس کار هرکسی نیست! و این برای یه طراح اصلا خوب نیست چون در تمام مدت طراحی باید هواسش به مرورگرهای مختلف باشه تا مبادا طراحیش با یه مرورگر همخوانی نداشته باشه...
 

hidensoft

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

maysam.m

Well-Known Member
تجربه ای که من دارم اینه که بهتره از ویندوز فاصله بگیرید تا لینوکس یاد بگیرید وگر نه خیلی طول می کشه

بحث در مورد این قضیه یه تاپیک جداگانه میخواد....

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

بنابراین باید پله پله جلو رفت. هر کس باید نسبت به شناختی که نسبت به خودش و توانایی هایش دارد این آشنا شدن یا مهاجرت به لینوکس را انجام دهد و در غیر این صورت نتیجه منفی خواهد داشت و باعث می شود به کلی لینوکس را فراموش کند!

موفق باشید
 

k2-4u

Well-Known Member
این مشکل شما باید به خاطر ذخیره کردن فایلها با utf-8 باشه یه سری به این لینک بزنید حتما کمکتون می کنه
http://php.net/manual/en/function.session-start.php
اگه نیازی به اینکود utf-8 ندارید صفحات خودتون رو با یه اینکود دیگه save az کنید

بله!!
راستی دوستان این مشکل رو من با
گزینه
C Style ........
در پنجره Save As... برنامه Dreamwaver حل می کنم
فکر کنم بهترین راه باشه

آخرین نسخه یوبونتو رو دانلود کنید نصب کنید تمومه...
مقدمات نمی خواد که

حیف که درایور های لبتاپم مشکل داره وگرنه منم نصب می کردم



خب دوستان لطفا از بحث خارج نشید
ممنون
 

hidensoft

Member
ه نظرم اوبونتو فعلا برای یه طراح وب سایت سیستم عامل خوبی نیست!
اول از همه فاقد نرم افزار گرافیکی خوب برای کارهای گرافیکی هست
دوم اینکه نصب کردن ie و کروم و سافاری و بدتر از همه اپرا روی لینوکس کار هرکسی نیست! و این برای یه طراح اصلا خوب نیست چون در تمام مدت طراحی باید هواسش به مرورگرهای مختلف باشه تا مبادا طراحیش با یه مرورگر همخوانی نداشته باشه...
حرف شما کاملا درسته اما لینوکس نمی تونه بسیاری از نیازهای من رو رفع کنه.
من کسانی را می شناسم که کاملا با لینوکس آشنا هستند، اما هر دو را در کنار هم استفاده میکنند و نتونستند کاملا به لینوکس مهاجرت کنند.
کد:
http://www.winehq.org/
Run Windows applications on Linux, BSD, Solaris and Mac OS X.
 

Allahparast

Member
یک برنامه نویس مستقل مطمئن باشید نمی تونه به صورت کامل مهاجرت کنه اگر هم مهاجرت کنه مطمئن باشید با این زبان های برنامه نویسی می کنه : php / c++ / java /rubby / peython
و کارهای طراحیش رو خودش انجام نمیده
هیچ گرافیستی مطمئن باشید نمی تونه رو gimp کار کنه براش های که داشته اکشن های که داشته شیپ و ...
 

hidensoft

Member
من ویژوال استیودات نت هم نصب کردم روش. فتوشاپ فلش دیریم ویور هر چی که فکر کنی من نصب کردم. جز یه نرم افزار که با جاوا بود.
اونم با Cross Application نصب کردم و کاملا جواب داد.
 

sporal

New Member
من با Dream viewer کد نوشتم همین مشکلو دارم اندکودینگش utf-8 هست
اینکودینگ های درست حسابی دیگه ای هم نداره باید چیکار کنم ؟
 

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

بالا