本人一名PHP小萌新 在学习过程中出现了小问题,但是已经解决。希望能帮到刚学习php的小伙伴们。
代码如下:
<?php
if(isset($_POST['userSubmit'])){
if(
isset($_POST['userName']) &&
$_POST['userName'] == "AJEST" &&
isset($_POST['userPass']) &&
$_POST['userPass'] == "123456"
){
if(setcookie("name","AJEST",time()+36002430,'/'))
{
echo "登录成功,<a href='./index.php'>返回首页</a>";
}else{
echo"设置cookie错误";
}
}else{
echo "用户名或密码错误,<a href='./login.php'>请重新登录</a>";
出现报错:
Warning: Cannot modify header information - headers already sent by...
如果能保证代码无错误的话 基本就是php.ini文件没有修改
默认情况下,php buffer是开启的,而且该buffer默认值是4096,即4kb。你可以通过在php.ini配置文件中找到output_buffering配置.当echo,print等输出用户数据的时候,输出数据都会写入到php output_buffering中,直到output_buffering写满,会将这些数据通过tcp传送给浏览器显示。你也可以通过ob_start()手动激活php output_buffering机制,使得即便输出超过了4kb数据,也不真的把数据交给tcp传给浏览器,因为ob_start()将php buffer空间设置到了足够大。只有直到脚本结束,或者调用ob_end_flush函数,才会把数据发送给客户端浏览器。
所以建议把
把output_buffering的
Default Value : Off 设置为 On
大概率就能解决