تابع هدر در هیچ جای سایت عمل نمی کند ؟

ALYREZA

Member
سلام.
تابع هدر هیچ کجای سایت من عمل نمی کند
*با علم به اینکه قبل از تابع هدر نباید خروجی به مرورگر فرستاده شده باشد *
این صفحه نمونه ای است که در آن عمل نمی کند.
PHP:
<?php
session_start();
include_once("./modules/member_checker.php");
include_once("./modules/conf.php");
$id = $_GET["id"];
$email = $_SESSION["useremail"];
$query = "DELETE  FROM `s_ban` WHERE `id` = $id";
$p03 = $conn->query($query);
$ref = $_SERVER['HTTP_REFERER'];
$ref_array = explode("?",$ref);
$ref = $ref_array[0];
header("Location: $ref");
?>
صفحه ی member_checker.php از این قرار است :


PHP:
<?php
if(!isset($_SESSION["auth"])){
 
  header("Location: error.php");
 
}
?>




اینم از صفحه conf.php


PHP:
<?php
$connect = "mysql:host=localhost;dbname=saman";
$user = "admin";
$pass = 123456;
try {
$conn = new PDO($connect,$user,$pass);
//  $conn->exec("SET CHARSET  UTF8");
$conn->query('SET NAMES "UTF8"');

}
catch(PDOException $pe)
{
die($pe->getMessage());
}
?>



شایان ذکر است که این سایت در لوکال(بر روی WAMP SERVER) به خوبی عمل می کند ولی در هاست واقعی با این مشکل مواجه شدم .:shock::-?

هم اکنون نیاز مند یاری سبزتان هستیم :rose:



 
آخرین ویرایش:

Mohammadreza

Well-Known Member
به این شکل استفاده کن
PHP:
<?php
ob_start();
session_start();
include_once("./modules/member_checker.php");
include_once("./modules/conf.php");
$id = $_GET["id"];
$email = $_SESSION["useremail"];
$query = "DELETE  FROM `s_ban` WHERE `id` = $id";
$p03 = $conn->query($query);
$ref = $_SERVER['HTTP_REFERER'];
$ref_array = explode("?",$ref);
$ref = $ref_array[0];
header("Location: $ref");
?>
 

ALYREZA

Member
ارورری نمی ده ....!
ولی وقتی output buffering رو start کردم درست شد ؟!
بعد چندتا سوال بوجود اومد :
آیا برای هر صفحه ی که از هدر استفاده می کنم باید استارتش کنم بافرینگ رو ؟
آیا نباید بعد از استارت در انتهای کد آن را ببندم ؟
 

ziXet

مدیر انجمن PHP/MYSQL
مشکل از امضای BOM هست که در فرمت utf-8 هست!
شما موقع save کردن با انکدینگ utf-8 without BOM signature ذخیره کن درست میشه و نیازی به ob_start هم نیست ;)
 

ALYREZA

Member
مشکل از امضای BOM هست که در فرمت utf-8 هست!
شما موقع save کردن با انکدینگ utf-8 without BOM signature ذخیره کن درست میشه و نیازی به ob_start هم نیست ;)
مرسی از راهنمایی تون مشکلم حل شد.
چرا include کردن BOM این اشکال را بوجود آورد ؟
 

hidensoft

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

ALYREZA

Member
من این کد رو به اول برنامه اضافه کردم ولی باز هم ارورری نمایش داده نمی شد ؟!
PHP:
error_reporting(E_ALL);
 

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

بالا