PDA

View Full Version : سوال: مشکل با session روی هاست



mostafa8266
چهارشنبه 02 اردیبهشت 1388, 23:58 عصر
سلام
من یک سایت نوشتم که رو سیستم خودم درست کار می کنه ولی رو هاست به session_start() گیر می ده و می گه نمی تونه out putداشته باشه من فکر می کنم مشکل از output_buffering توی فایل php.iniباشه ولی نمی دونم چه طور باید این فایل رو واسه سایتم configکنم
اگه دوستان راه حلی ارائه بدن ممنون می شم
درضمن تابع ini_set()هم کار نمیکنه و هاستم هم امریکایی و دسترسی به پشتیبانی واسم سخته.

__ziXet__
پنج شنبه 03 اردیبهشت 1388, 09:47 صبح
سلام
من یک سایت نوشتم که رو سیستم خودم درست کار می کنه ولی رو هاست به session_start() گیر می ده و می گه نمی تونه out putداشته باشه من فکر می کنم مشکل از output_buffering توی فایل php.iniباشه ولی نمی دونم چه طور باید این فایل رو واسه سایتم configکنم
اگه دوستان راه حلی ارائه بدن ممنون می شم
درضمن تابع ini_set()هم کار نمیکنه و هاستم هم امریکایی و دسترسی به پشتیبانی واسم سخته.
لطفا ارورها رو بذار

mostafa8266
پنج شنبه 03 اردیبهشت 1388, 14:02 عصر
لطفا ارورها رو بذار


Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at site/index.php:4) in index.php on line 5

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at site/index.php:4) index.php on line 5

rasoolgh1
دوشنبه 18 خرداد 1388, 02:04 صبح
سلام من هم مشکل دارم اگه میشه کمک کنید ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
بد گیر کردم

rbagherih
پنج شنبه 19 اردیبهشت 1392, 15:14 عصر
با سلام
باید روی هاست پلاگین های مربوط به session ها را نصب کنید
توی تنظیمات php روی هاست را اگر بگردید کلی امکانات دیگه هم پیدا می کنید .

wordnet
جمعه 25 بهمن 1392, 08:28 صبح
سلام

ما هم این مشکلو داریم این نمونه یکی از کدهای ماست توی وامب سرور کار میکنه توی هاست ارور
Warning: session_start() [function.session-start (http://cback.hostnetwork.in/test/mgda/function.session-start)]: Cannot send session cache limiter - headers already sent (output started at /home/userho/public_html/test/login.php:27) in /home/cbackhos/public_html/test/login.php on line 28

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

اینم کد


<?php
session_start();
error_reporting(0);
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>صفحه لاگین</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="Distribution" content="Global"/>
<meta name="description" content="login page"/>
<meta name="keywords" content="login page"/>
<meta name="Robots" content="Index, Follow"/>
<link rel="StyleSheet" type="text/css" href="style/style.css"/>
</head>
<body>
<div id="auth"> <img class="logo" src="style/images/logo.png"/>
<form id="frmAuth" method="POST">
کارمند محترم لطفا اطلاعات وارد کنید
<!--نام کاربری:-->
<input class="input" type="text" name="user" required autofocus placeholder="نام کاربری"/>
<!--رمز عبور:<br/>-->
<input class="input" type="password" name="pass" required autocomplete="off" placeholder="رمز عبور"/>
<br/>
<input class="button" type="submit" name="login" value="ورود"/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</form>
</div>
<?php
require_once 'class/config.php';
if (isset($_POST['login'])&& isset($_POST['user']) && isset($_POST['pass'])) {

mysql_query('SET NAMES \'utf8\'');
$user=$_POST['user'];
$pass=$_POST['pass'];
}
//ersal be farsi hatman bad az etesal be deytabeys
$sql="select pass from karmand where user='$user'";
$result = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($result)==1)
{
//chek pass...
if($pass==mysql_result($result,0))
{
//vared shavad
print("ok");
$_SESSION['user']=$user;
$_SESSION['pass']=$pass;
header("location:user.php");

}
else
{
print("اشتباه است!");
}
}

?>
</body>
</html>

p30online
جمعه 25 بهمن 1392, 09:30 صبح
فکر کنم شما این فایل را اینکلود کردید در یک فایل دیگر و در کل وقتی اجرا می شود دو تا سشت استارت می شود(فایل اصلی و فایل اینکلود) در صورتی که یک بار کافی است استارت شود یکی را پاک کنید درست می شود!

abolfazl-z
جمعه 25 بهمن 1392, 13:15 عصر
فکر کنم شما این فایل را اینکلود کردید در یک فایل دیگر و در کل وقتی اجرا می شود دو تا سشت استارت می شود(فایل اصلی و فایل اینکلود) در صورتی که یک بار کافی است استارت شود یکی را پاک کنید درست می شود!
این خطا ربطی به این ندارد ! (خطاش این هست : Notice: A session had already been started - ignoring session_start() in)

این خطا داره میگه سرایند ارسال شده.
دوست عزیز شما به احتمال زیاد یک کاراکتری قبل از <?php دارید که کارو خراب می کنه. کد صفحه رو با ++np باز کنید و ببینید چاراکتری عجیب غریب وجود ندارد و همچنین Encoding صفحه رو با utf-8 without bom ذخیره کنید.
اگر نشد شما سشن رو به این صورت استارت کنید :

<?php
ob_start();
session_start();

p30online
جمعه 25 بهمن 1392, 14:13 عصر
خوب اینو بگذار ببین درست میشه یا نه؟




if(!isset($_SESSION)){ session_start(); }