PDA

View Full Version : خطا تابع header



rahil.m68
چهارشنبه 10 دی 1393, 10:19 صبح
سلام دوستان
من دو قطعه کد زیر رو که اولی فایل index.php و قطعه ی دوم فایل config.php هست ، وقتی اجرا میکنم خطا  زیر رخ میده و redirect نمیشه ، چیکار باید کنم ؟ ممنون میشم راهنمایی کنید .
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\test\index.php:1) in C:\xampp\htdocs\test\config.php on line 22



<?php
include 'config.php';
$main=new test();
if(isset($_POST['register'])){$user=$_POST['username'];
$pass=$_POST['pass1'];
$email=$_POST['email'];
$gender=$_POST['gender'];
$city=$_POST['city'];
$result=$main->register($user ,$pass,$email,$gender,$city);
if ($user==""){
$main->Redirect("index.php?msg=nouser");
}}?>

<head>
<link rel="stylesheet" href="faraz.css"/>

<script language="javascript" type="text/javascript" src="js/valuation.js" >

</script>
</head>

<body><?php include 'register.php';

?></body>




<?php
class test
{public $db;
function __construct(){
$this->db=mysql_connect('localhost','root','') or die("not connected");

mysql_query("SET NAMES'utf8'",$this->db);

mysql_select_db('test',$this->db)or die("can not select data base"); }

function register($user ,$pass,$email,$gender,$city){

$q="INSERT INTO tbl_users VALUES (NULL,'$user' ,'$pass','$email','$gender','$city')";

mysql_query($q,$this->db);}

function Redirect($page)

{ header("Location:$page");
}}
?>

z_b624
چهارشنبه 10 دی 1393, 10:33 صبح
{ header("Location:$page");
header رو به این صورت بنویسید

header("Location:".$page);

rahil.m68
چهارشنبه 10 دی 1393, 10:54 صبح
{ header("Location:$page");
header رو به این صورت بنویسید

header("Location:".$page);
درست نشد ، همچنان این خطا رخ میده :ناراحت:

z_b624
چهارشنبه 10 دی 1393, 11:15 صبح
شما باید توی فانکشنتون 2 تا پارامتر دریافت کنید یکی واسه مشخص کردن صفحه و یکی هم واسه متغیر get
مثل این:

function redirect($page,$param){
if(isset($page && $param)){
$p = $page .'.php?'.$param;
header('location:$p');
exit();
}
else{
$p =$page.'.php';
header('location:$p');
exit();
}
}
و بعد هر وقت میخوای از redirect استفاده کنی به این شکل مینویسی:

$main->redirect("index","msg=nouser");

H:Shojaei
چهارشنبه 10 دی 1393, 11:29 صبح
سلام دوستان
من دو قطعه کد زیر رو که اولی فایل index.php و قطعه ی دوم فایل config.php هست ، وقتی اجرا میکنم خطا  زیر رخ میده و redirect نمیشه ، چیکار باید کنم ؟ ممنون میشم راهنمایی کنید .
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\test\index.php:1) in C:\xampp\htdocs\test\config.php on line 22


ابتدای کدها این تابع رو بذارید ببینید درست میشه:
ob_start()
انتها هم این رو:
ob_end_flush();

***BiDaK***
چهارشنبه 10 دی 1393, 16:40 عصر
ازین تابع استفاده کن

function redirect($url)
{
@header('location: ' . $url);
exit('<meta http-equiv="Refresh" content="0;url='. $url .'">');
}

us1234
چهارشنبه 10 دی 1393, 21:01 عصر
کدینگ فایل ها را به UFT-8 without BOM تغییر بده و دوباره ذخیره اش کن .

rahil.m68
جمعه 12 دی 1393, 12:01 عصر
ازین تابع استفاده کن

function redirect($url)
{
@header('location: ' . $url);
exit('<meta http-equiv="Refresh" content="0;url='. $url .'">');
}

ممنونم با این کد جواب داد .