آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

تفاوت در هاست و local

Lnaz  10 سال پیش  10 سال پیش
+1 0

من رو local اجرا میگیرم و همه چی درسته و با موفقیت لاگین میشه  

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

 

 

+3 0
مطمئنا نباید تفاوتی در لوکال و سرور باشه چون سورس یکی هست احتمالا جایی از کدتون ایراد داره . (10 سال پیش)
 برای این سوال 12 پاسخ وجود دارد.
پاسخ به سوال 
ABOLFAZL  10 سال پیش
+1 0

تو فیلم های آموزشی استاد هم همین اتفاق میافته

ینی موقعی ک استاد هم این پروژه رو انجام میده باوجود نشان دادن پیام موفقیت در ورود به عنوان کاربر میهمان وارد میشه؟؟

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

پاسخ به سوال 
Lnaz  10 سال پیش
0 0

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

پاسخ به سوال 
Lnaz  10 سال پیش
0 0

!!!!!!!!!!!!!!!!!!!!!!!!!
پروژه استاد، بدونه حتی یه نقطه کم کردن آپ کردم !!!!

و باز هم در local کاربر به خوبی وارد میشه و رکورد هارو میاره !!!! 

ولی در host باوجود دادن پیغام ورود شما را تبریک می گوییم ورود به صفحه اصلی وقتی روی ورود به صفحه اصلی میزنم . میگه کاربر مهمان برای استفاده کامل از سیستم، نیازمند ثبت نام در سایت می باشید !

+1 0
احتمالا توی رندر صفحه ی اصلی یا قبل ترش Session پاک میشن. مخصوصا در رندر صفحه اصلی. ببینید آیا کدی ننوشتید که Session رو دیستوری (destory) کنه. اگه به قول خودتون تمام کدها رو واقعا درست نوشتید پس احتمال میره که مرورگر شما کوکی ها رو نگه نمیداره. (10 سال پیش)
پاسخ به سوال 
Lnaz  10 سال پیش
0 0

حتی جای دستورات با هم عوض کردم و چون isGest مقدار 1 داشت  و با وجود رفتن به صفحه home باز session خالی بود !!!!!!!!!!

 
+1 0
یه چیزی میگم امتحان کنید. بعد از این که کاربر با موفقیت وارد شد و پیغام "ورود شما را تبریک می گوییم ورود به صفحه اصلی" رو مشاهده کرد، شما از طریق یک تب دیگه توی مرورگر صفحه home رو لود کنید. اگه باز Session پاک شده بود، پس از خود صفحه ی home هست و اگر درست بود و Note ها رو نشون می داد، پس از لینکی هست که روش کلیک می کنید و بعد وارد صفحه اصلی میشین. (10 سال پیش)
+1 0
این مشکل قطعا از ست نشدن سشن ها هست . شما از $_SESSION یه dump یا همون print_r بگیرید ببینید بهتون ارایه خالی میده یا نه . که به احتمال زیاد با توجه به توضیحاتتون ارایه خالی بهتون چاپ کنه . این کار رو بکنید و نتیجه رو بگید (10 سال پیش)
پاسخ به سوال 
Lnaz  10 سال پیش
0 0

 بله درسته بعد از ورود و دادن پیام موفقیت ، با زدن روی ورود به صفحه اصلی سشن خالیه !!!

 

0 0
(10 سال پیش)
پاسخ به سوال 
Lnaz  10 سال پیش
0 0

جالب اینجاست که وقتی ورود موفقیت امیز بوده SESSION پره و وقتی میره  به صفحه home خالی میشه !!!!

و فقط هم توی هاست این مشکل پیش میاد !!!!

پاسخ به سوال 
Mr Mehdi  10 سال پیش
+1 0

من مشکلی شبیه به مشکل شما داشتم که البته تفاوتش این بود که با بستن مرورگر سشن از بین میرفت که با کد زیر مشکل حل شد. یکی از خطها برای تغییر عمر سشن هست و اون یکی مربوط به عمر کوکی (که البته مشکل من از عمر کوکی بود):

ini_set('session.gc_maxlifetime', 3*30*24*60*60);
session_set_cookie_params(3*30*24*60*60);

این کد رو توی فایل Index استفاده کنید شاید مشکل شما هم مثل مشکل من بود.

پاسخ به سوال 
Lnaz  10 سال پیش
0 0

صفحه LOGIN

<?
if (isset($_SESSION['email'])){
$message = _already_logged_in . ' ' . $_SESSION['email'];
exit;
}
?>
<div class="tac">
<img src="<?=baseUrl()?>/image/notes.png"><br><br>

<form action="<?=baseUrl()?>/user/login" method="post">
<input type="text" class="ltr" placeholder="<?=_ph_email?>" name="email"><br>
<br>
<input type="password" class="ltr" placeholder="<?=_ph_password?>" name="password"><br>
<br>
<br>
<button type="submit" class="btn-blue"><?=_btn_login?></button>
</form>

<br>
<br>
<br>
<a href="<?=baseUrl()?>/user/register" class="link-gray"><?=_btn_signup?></a>
</div>

صفحه success

<div class="tac">
<br>
<img src="<?=baseUrl()?>/image/success.png">
<br>
<br>
<div><?=$message?></div>
</div>

پیام داخل messege

define('_login_welcome', 'ورود شما را تبریک می گوییم <a href="' . baseUrl() . '/page/home">ورود به صفحه اصلی</a>');

صفحه home

<div id="header-wrapper">
<div id="header-top-right">
<? if ($isGuest) { ?>
<img class="profile-image" src="<?=baseUrl()?>/image/empty-profile-24.png">
<span style="margin-right: 5px"><?=_header_guest?> <?=_header_welcome?></span>
<a style="margin-right: 5px" class="btn-blue" href="<?=fullBaseUrl()?>/user/login"><?=_btn_login?></a>
<? } else { ?>
<img class="profile-image" src="<?=baseUrl()?>/image/empty-profile-24.png">
<span style="margin-right: 5px"><?=$_SESSION['email']?> <?=_header_welcome?></span>
<a style="margin-right: 5px" class="btn-blue" href="<?=fullBaseUrl()?>/user/logout"><?=_btn_logout?></a>
<? } ?>
</div>
</div>

<div id="content">
<? if ($isGuest) { ?>
<div class="tac lf important-color m15tb">
<span>برای استفاده کامل از سیستم، نیازمند ثبت نام در سایت می باشید</span>
</div>
<? } else { ?>
<ul class="todo-entry">
<li>انجام</li>
<li>حذف</li>
<li>عنوان</li>
<li>توضیحات</li>
<li>زمان وقوع</li>
</ul>

<? if ($records == null){ $records = array(); } ?>
<? foreach ($records as $record){
if ($record['isDone']){
$doneClass = "done";
} else {
$doneClass = "pending";
}
?>
<ul class="todo-entry <?=$doneClass?>">
<li><span onclick="noteToggle(this, <?=$record['note_id']?>)" class="btn">*</span></li>
<li><span onclick="noteRemove(this, <?=$record['note_id']?>)" class="btn">-</span></li>
<li><?=$record['title']?></li>
<li><?=$record['description']?></li>
<li><?=$record['eventTime']?></li>
</ul>
<? } ?>

<br>
<br>
<div class="tal">
<a href="/notes-v2/note/submit" class="btn-blue">درج یادآور</a>
</div>
<? } ?>
</div>

<script>
function noteToggle(sender, noteId){
sender = $(sender);
var parent = sender.parentsUntil('.todo-entry').parent();

$.ajax('/notes-v2/note/toggle/' + noteId, {
type: 'post',
dataType: 'json',
success: function(data) {
if (parent.hasClass('done')){
parent.removeClass('done');
parent.addClass('pending');
} else {
parent.removeClass('pending');
parent.addClass('done');
}
}
});
}

function noteRemove(sender, noteId){
sender = $(sender);
var parent = sender.parentsUntil('.todo-entry').parent();

$.ajax('/notes-v2/note/remove/' + noteId, {
type: 'post',
dataType: 'json',
success: function(data) {
parent.remove();
}
});
}
</script>







اینم loader
<?
session_start();
date_default_timezone_set('Asia/Tehran');

global $config;
require_once(getcwd() . '/config.php');
require_once(getcwd() . '/system/core.php');
require_once(getcwd() . '/system/common.php');
require_once(getcwd() . '/system/db.php');
require_once(getcwd() . '/system/view.php');
require_once(getcwd() . '/locale/' . $config['lang'] . '.php');
?>
0 0
فکر کنم صفحه های مورد نیازو گذاشتم (10 سال پیش)
+1 0
من با کدهای خودم که هم روی لوکال جواب داده و هم روی هاست آنلاین، چک کردم تفاوتی در نوشتار کدهای شما ندیدم. البته این کار به قول دوستمون آقا مهدی کار سختیه. ولی اگه میتونید کل پوشه پروژه رو زیپ کنید و جایی آپلود کنید تا بررسی کنیم. البته اگه فرصت کنم یا دوستان زودتر فرصت کنن. در ضمن تاکید می کنم پسوردها و نام هاست در فایل کانفیگ رو حتما پاک کنید و بعد زیپ کنید و بفرستید. (10 سال پیش)
0 0
باشه،ولی پروژم نیاز به آپ نداره فک کنم ، چون بعد فرمایش شما همون پروژه استاد آپ کردم فقط یوزر و پسو عوض کردم . حالا یه نگاه بندازید. :( لینک (10 سال پیش)
+1 0
شما بهتره کاری که من می‌گم رو بکنید تا بهفمید ایراد از کده یا سرور اگه از سرور باشه و با کدی که من دادم حل نشده ایراد از محل ذخیره شدن سشن هست که با فانکشنی که بهتون دادم میشه فهمید چه مشکلی وجود داره (10 سال پیش)
0 0
که توی فایل Index اول یک سشن تنظیم کنید این یعنی چیکار کنم ؟ (10 سال پیش)
0 0
session_save_path ([ string $path ]); مسیرشو کجا بدم خب !!!! (10 سال پیش)
پاسخ به سوال 
Mr Mehdi  10 سال پیش
+1 0

بهتره اول بفهمید که مشکل از هاست هست یا کد. بررسی کد کار سختیه به نظر من منطقی نیست. کاری که من پیشنهاد میکنم اینه که توی فایل Index اول یک سشن تنظیم کنید و بعد از فانکشن exit استفاده کنید تا کد ادامه پیدا نکنه.

صفحه رو ریلود کنید. حالا کد تنظیم سشن رو حذف کنید و به جاش کد پرینت سشن رو بذارید تا ببینید سشن هنوز تنظیمه یا نه.

پاسخ به سوال 
Lnaz  10 سال پیش
0 0

این کد نوشتم در index

<?php


error_reporting(E_ALL);
ini_set('display_errors', '1');

echo '<hr><center><b>session_save_path:</b> ', session_save_path(), '</center><hr>';

echo '<hr><center><b>open_basedir:</b> ', ini_get('open_basedir'), '</center><hr>';

phpinfo();

exit;

خروجی  مسیر خالیه !! session_save_path

Warning هم که میده اینه !!!

Warning: Unknown: open(/tmp/sess_12710v3nqle01fvsifobhefru5, O_RDWR) failed: No such file or directory (2) in Unknown on line 0 Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is 

correct () in Unknown on line 0

+1 0
احتمال زیاد مشکل اینه که سشن اصلا ذخیره نمیشه که استفاده کنید. اگه از سرویس اشتراکی استفاده می‌کنید باید با پشتیبانی هاست تماس بگیرید و مشکلتون رو بهشون بگید تا اونا پیگیری کنند. از این قسمت به بعد دیگه دست شما نیست. (10 سال پیش)
0 0
دقیقا به همین دلیل بود و با تغییر هاست مشکلم برطرف شد . (10 سال پیش)
پاسخ به سوال 
w3b.programm3r  10 سال پیش
+2 0

اصلا نیازی به تغییر هاست نیست

علت این که Session ها به درستی کار نمیکردن کانفیگ سرور بوده

شما اگه از دستور Header("Location:page.php"); استفاده کنید با یک پیغام مبنی بر این که تغییر header امکان پذیر نیست مواجه میشید.

حالا راه رفع این پیغام رو میتونید با استفاده از دستور

ob_clean(); و ob_start  در ابتدا صفحه  و استفاده از دستور ob_end_flush و ob_get_clean قبل از ساخت session

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

 

پاسخ به سوال 
Lnaz  10 سال پیش
0 0

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


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .