09/10/2018, 23:34
Nhập viện với bệnh Cannot modify header information của PHP-MySql
khi chạy đoạn code sau:
code:
thì bị lỗi sau:
Warning: Cannot modify header information - headers already sent by (output started at D:xampphtdocsetestlogin.php:1) in D:xampphtdocsetestlogin.php on line 54
Warning: Cannot modify header information - headers already sent by (output started at D:xampphtdocsetestlogin.php:1) in D:xampphtdocsetestlogin.php on line 55
Warning: Cannot modify header information - headers already sent by (output started at D:xampphtdocsetestlogin.php:1) in D:xampphtdocsetestlogin.php on line 57
Mong các "Bác Sỹ" cho xin thuốc và phác đồ điều trị
code:
Code:
<?php //ob_start(); //ob_end_clean(); // Connects to your Database require_once("configuration.php"); //Checks if there is a login cookie if(isset($_COOKIE['ID_my_site'])) //if there is, it logs you in and directes you to the members page { $username = $_COOKIE['ID_my_site']; $pass = $_COOKIE['Key_my_site']; $check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error()); while($info = mysql_fetch_array( $check )) { if ($pass != $info['password']) { } else { header("Location: members.php"); } } } //if the login form is submitted if (isset($_POST['submit'])) { // if form has been submitted // makes sure they filled it in if(!$_POST['username'] | !$_POST['pass']) { die('You did not fill in a required field.'); } // checks it against the database if (!get_magic_quotes_gpc()) { $_POST['email'] = addslashes($_POST['email']); } $check = mysql_query("SELECT * FROM users WHERE username = '".$_POST['username']."'")or die(mysql_error()); //Gives error if user dosen't exist $check2 = mysql_num_rows($check); if ($check2 == 0) { die('That user does not exist in our database. <a href=register.php>Click Here to Register</a>'); } while($info = mysql_fetch_array( $check )) { $_POST['pass'] = stripslashes($_POST['pass']); $info['password'] = stripslashes($info['password']); $_POST['pass'] = md5($_POST['pass']); //gives error if the password is wrong if ($_POST['pass'] != $info['password']) { die('Incorrect password, please try again.'); } else { // if login is ok then we add a cookie $_POST['username'] = stripslashes($_POST['username']); $hour = time() + 3600; setcookie(ID_my_site, $_POST['username'], $hour); setcookie(Key_my_site, $_POST['pass'], $hour); //then redirect them to the members area header("Location: members.php"); } } } else { // if they are not logged in require_once("header.php"); ?> <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post"> <table border="0"> <tr><td colspan=2><h1>Login</h1></td></tr> <tr><td>Tên truy cập:</td><td> <input class="inputbox" type="text" name="username" maxlength="40"> </td></tr> <tr><td>Mật khẩu:</td><td> <input class="inputbox" type="password" name="pass" maxlength="50"> </td></tr> <tr><td colspan="2" align="right"> <input class="button" type="submit" name="submit" value="Đồng ý"> <input class="button" type="reset" name="clean" value="Huỷ bỏ"> </td></tr> </table> </form> <?php require_once("footer.php"); } ?>
Warning: Cannot modify header information - headers already sent by (output started at D:xampphtdocsetestlogin.php:1) in D:xampphtdocsetestlogin.php on line 54
Warning: Cannot modify header information - headers already sent by (output started at D:xampphtdocsetestlogin.php:1) in D:xampphtdocsetestlogin.php on line 55
Warning: Cannot modify header information - headers already sent by (output started at D:xampphtdocsetestlogin.php:1) in D:xampphtdocsetestlogin.php on line 57
Mong các "Bác Sỹ" cho xin thuốc và phác đồ điều trị
Bài liên quan
ob_start();---> Bỏ dấu // đi là được.
setcookie(ID_my_site, $_POST['username'], $hour);
setcookie(Key_my_site, $_POST['pass'], $hour);
//then redirect them to the members area
header("Location: members.php");
Có lẽ phải nhờ các bác giải thích cho tại sao lại bị thế, bị trong trường hợp nào ???
PS: Bạn nên dùng CODE để chèn code vào cho có indent cho mọi người dễ nhìn và nếu thể thì hightlight các dòng báo lỗi.
Mình đang xài IPB nó có 1 cách là só6ng chung với cái thông báo trên bằng 1 cách nào đó họ "dấu" cái thông báo đó đi thế là xong web vẫn chạy bình thường mà lại không show thông báo
<?
error_reporting(0);
?>
dùng CODE để chèn code vào thế nào nhỉ? Em mới học nên chưa biết.