10/10/2018, 09:21
Lỗi khi setcookie và header (PHP)
Khi em setcookie lúc đăng nhập
thì nó báo lỗi :
Ngay cả khi dùng header("location:$url"); để redirect cũng bị lun :
Bác nào biết cách giải quyết chỉ dùm em với.
Thanks all
PHP Code:
setcookie("member_id", $member_id, time()+60*60*24*365, "/");
setcookie("password", $password, time()+60*60*24*365, "/");
Code:
Warning: Cannot modify header information - headers already sent by (output started at /home/nmusic/public_html/multipurpose.php:39) in /home/nmusic/public_html/multipurpose.php on line 264 Warning: Cannot modify header information - headers already sent by (output started at /home/nmusic/public_html/multipurpose.php:39) in /home/nmusic/public_html/multipurpose.php on line 265
Code:
Warning: Cannot modify header information - headers already sent by (output started at /home/nmusic/public_html/multipurpose.php:39) in /home/nmusic/public_html/multipurpose.php on line 250
Thanks all
Bài liên quan
<?php
//session code
?>
<html>
...
Minh co doan code ve session sau:
<?php
session_start();
//session_destroy();
include "iconn.inc"; //Lay ket noi
$message="";
////// Login Section.
$Login=$_POST['Login'];
if($Login)
{
$username=$_POST['username'];
$md5_password=md5($_POST['password']);
$sql= "select * from test where username= '$username' and password= '$md5_password'";
$result = mysql_query($sql);
if(mysql_num_rows($result)==1)
{
session_register("username"); // Craete session username.
header("Location: index.php");
exit;
}
else{ // If not match.
$message="--- Incorrect Username or Password ---";
}
} // End Login authorize check.
?>
Khi chay,no bao loi : Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\dophargroup\index1.php:8) in C:\AppServ\www\dophargroup\right.php on line 30
Ai do giup minh voi nha
session.cookie_path = "C:\hehe\hoho"
session.save_path = "C:\session"
hoặc đường dẫn thế nào cũng được, miễn là đúng.
Save lại, restart lại server (vào service restart hoặc khởi động lại máy).
Như thế chắc ổn, nếu chưa được bạn lại post lên nhé.
Hi, nhìn lộn cái cookie, sửa luôn một thể sau dùng session nhé.
$Login=$_POST['Login'];
bằng dòng
$Login=isset($_POST['Login'])?$_POST['Login']:null;
Là okie thôi.
Chú ý trong code ở trên của bạn đang bị lỗi injection đó - nên thay dòng
$username=$_POST['username'];
bằng
$username=addslashes($_POST['username']);
Regards.
<?php
/*
*@Back to the submit page
*/
function in_back($url, $err){
echo '<script language="javascript">';
if($err != ""){
echo 'alert("' . standStr($err) . '");';
echo 'window.onload=function(){';
echo 'document.frm.action="' . $url . '";';
echo 'document.frm.submit();';
echo '};';
}else
echo 'window.location.href="' . $url . '";';
echo '</script>';
}
print('<form name="frm" action="" method="post">');
$err = "";
$func = $_POST***91;'func'***93;;
switch($func) {
case "save_data":
$err = saveData(); //return error
if($err) {
echo '<input type="hidden" name="name" value="' . $_POST***91;"name"***93; . '" />';
echo '<input type="hidden" name="old" value="' . $_POST***91;"old"***93; . '" />';
in_back('submitPage.php?func=hihi', $err);
break;
}
in_back('submitPage.php?func=hehe', '');
break;
default:
break;
}
print('</form>');
?>
Chú ý là hay bị 1 ký tự unicode(Không thấy được) trước khi gọi cookie,session,header dù đã để cookie,session,header lên đầu tiên.