PDA

View Full Version : مشكل در كار با HEADER



morteza_naderloo
جمعه 02 دی 1390, 14:29 عصر
سلام
اين كد صفحه ورود من


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<?php
$title='ورود به ناحيه كاربري';
$style='login.css';
include 'head.php';
?>
<body>
<form action='login_db.php' method='post'>
<div id='login-title'><img class='key' src='images/key.png' alt='icon'/>&nbsp;ورود به مديريت</div>
<div id='login-body'>
<div class='user' >نام كاربري :</div>
<div class='inp' ><input type='text' name='user' size='12' /></div>
<div class='clr' ></div>
<div class='user' >رمز عبور :</div>
<div class='inp' ><input type='password' name='pass' size='12' /></div>
<div class='clr' ></div>
<div ><input class='sub' type='submit' name='submit' value='ورود' /></div>
</div>
<div id='login-end'></div>
<?php
if(isset($_GET['error'])){
if ($_GET['error']=='2'){
echo "<div class='error'>نام كاربري و رمز عبور اشتباه مي باشد</div>";
}
if ($_GET['error']=='1'){
echo "<div class='error'>نام كاربري و رمز عبور را وارد كنيد</div>";
}
if ($_GET['error']=='3'){
echo "<div class='error'>لطفا مجددا به سايت وارد شويد</div>";
}
if ($_GET['error']=='4'){
echo "<div class='error'>شما با موفقيت از سيستم خارج شديد</div>";
}
}
?>
</form>
</body>
</html>


اين صفحه هم صفحه چك كردن اطلاعاته


<?php
session_start();
include 'head.php';
if(isset($_POST['user']) AND isset($_POST['pass'])){
$username=$_POST['user'];
$password=$_POST['pass'];
if($username!='' AND $password!=''){
connect($user,$pass,$Mydb);
$query="SELECT * FROM member WHERE user='$username' AND pass='$password' LIMIT 1";
$result=mysql_query($query);
$numrows=mysql_num_rows($result);
$con=mysql_fetch_array($result,MYSQL_ASSOC);
if ($numrows){
HEADER('LOCATION: reg_estate.php');
$_SESSION['user']="$con[user]";
$_SESSION['level']="$con[level]";
}else {
HEADER('LOCATION:login.php?error=2');
}
}else {
HEADER('LOCATION:login.php?error=1');
}
}else {
HEADER('LOCATION:login.php?error=1');
}
?>

حالا بعد از ورود به سايت با ارور زير روبه رو ميشم چيكار كنم ؟!!



Warning: Cannot modify header information - headers already sent by (output started at /home/amlaakdi/public_html/admin/head.php:1) in /home/amlaakdi/public_html/admin/login_db.php on line 14

بعد از اين ارور ديگه به صفحه بعد منتقل نميشه بايد چيكار كنم ؟

Dead Space
جمعه 02 دی 1390, 14:56 عصر
نگاه کنید ببینید در صفحه head.php که include کردید چیزی echo که نشده ؟
و بعد فایل رو حتما encoding رو بزارید روی Encoding UTF-8 Without BOM

morteza_naderloo
جمعه 02 دی 1390, 15:44 عصر
چرا ؟
دوتا echo دارم ؟؟؟
تاثير داره ؟

morteza_naderloo
جمعه 02 دی 1390, 15:46 عصر
پاكشون كردم اما باز هيچ فرقي نكرد !!

Dead Space
جمعه 02 دی 1390, 20:36 عصر
قبل از استفاده از header هیچ چیزی نباید چاپ بشه در صفحه وگرنه header کار نمی کنه.
without bom گزاشتید encoding رو ؟

morteza_naderloo
جمعه 02 دی 1390, 21:54 عصر
متوجه شدم ! اما اگه من بخوام راحت به يك صفحه ديگه برم بايد چيكار كنم ؟ بدون اينكه از HEADER استفاده كنم ؟!!!

Sadbar7
جمعه 02 دی 1390, 22:18 عصر
میتونی از جاوا اسکریپت استفاده کنی..

Dead Space
جمعه 02 دی 1390, 22:42 عصر
همانطور که دوستمون گفتن میتونید از جاوااسکریپت استفاده کنید
window.location = 'index.php'

morteza_naderloo
جمعه 02 دی 1390, 23:02 عصر
ممنون اما دوست دارم فقط از php استفاده كنم ؟!
يعني توي خود php تابعي براي اين كار وجود نداره ؟‌!