php - 为什么 include() 不允许工作 setcookie?

标签 php

<分区>

我需要在我的页面中设置 cookie,但它返回

Warning: Cannot modify header information - headers already sent by (output started at /home1/bsam/public_html/24kadr/index.php:1) in /home1/bsam/public_html/24kadr/basic_login.php  on line 35

在第一行我有

include 'basic_login.php'; 

但即使我删除了 include,ir 也会在 session_start 或 mysql_connect 上返回相同的警告。 所以我认为这些所有函数在调用时都使用 header ,但我该怎么办?至少我需要连接到数据库,然后我需要使用 setcookie()。 那我该怎么办? 谢谢

更新index.php的第一行

<?include 'basic_login.php';include 'settings.php';?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
...........

在 basic_login.php 中开始

<?
session_start();
include 'connect.php';
ini_set("session.bug_compat_42",1);
ini_set("session.bug_compat_warn",0);

............................................

setcookie("cookname", $_SESSION['username'], time()+60*60*24*30, "/");
setcookie("cookpass", $_SESSION['password'], time()+60*60*24*30, "/");

最佳答案

您很可能在 /24kadr/index.php 中有空格开幕前<?php .删除它应该没问题。

如果没有空格,可能是您的 PHP 文件保存为 Byte Order Mark ( Material list )。在这种情况下,让您的编辑器在不保存文件的情况下保存文件。

关于php - 为什么 include() 不允许工作 setcookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2599107/

相关文章:

php - 无法使用 while 循环代替 foreach 循环进行分页 php mysql

php - 无法分配命令/变量

php - 在 Netsuite 中按自定义字段搜索客户

javascript - 如何设置 json 响应中的值到 php 和 javascript 中的 <p> 字段?

php - symfony2学说注释【语义错误】

php - Laravel 5.1 DecryptException 在 BaseEncrypter.php 第 45 行 : The payload is invalid

php - 有没有一种方法可以使用 jQuery 提交表单,而无需详细的逐个字段分割?

php - PHP XPath:将查询结果评估为整数

javascript - 动态表总和

php - Github 通过 ubuntu 中的 shell_exec 拉取不工作