Go4Expert

Go4Expert (http://www.go4expert.com/)
-   PHP (http://www.go4expert.com/forums/php/)
-   -   Cannot modify header information - headers already sent by (http://www.go4expert.com/forums/modify-header-information-headers-sent-t23946/)

abosirage 21Nov2010 18:41

Cannot modify header information - headers already sent by
 
hi every body
I have problem in my login page my php code :

Code:

<?php
 // Connects to your Database
include ('config.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: data/viewdb.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('عفواً انت لم تقم بتعيئة البيانات المطلوبة للدخول');
}
// checks it against the database
if (!get_magic_quotes_gpc()) {
        $_POST['username'] = addslashes($_POST['username']);
    }
    $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('عفواً انت غير مسجل معنا <a href=add.php>ادخل هنا للتسجيل</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('خطأ في كلمة المرور, حاول مرة اخرى');
    }
 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 : data/viewdb.php");
 }
 }
 }
 else
 {   
 
 // if they are not logged in
?>
 <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
 <table border="0">
 <tr><td colspan=2><h1>Login</h1></td></tr>
 <tr><td>Username:</td><td>
 <input type="text" name="username" maxlength="40">
 </td></tr>
 <tr><td>Password:</td><td>
 <input type="password" name="pass" maxlength="50">
 </td></tr>
 <tr><td colspan="2" align="right">
 <input type="submit" name="submit" value="Login">
 </td></tr>
 </table>
 </form>
 <?php
 }
  ?>

when user insert username & password should reach viewdb.php page but in followin error appear :
Warning: Cannot modify header information - headers already sent by (output started at /home/umma/public_html/db/config.php:5) in /home/umma/public_html/db/login.php on line 57

Warning: Cannot modify header information - headers already sent by (output started at /home/umma/public_html/db/config.php:5) in /home/umma/public_html/db/login.php on line 58

Warning: Cannot modify header information - headers already sent by (output started at /home/umma/public_html/db/config.php:5) in /home/umma/public_html/db/login.php on line 61

help me to solve it with my best regards

shabbir 22Nov2010 09:02

Re: Cannot modify header information - headers already sent by
 
Isnt the warning self explanatory.

dannerr 29Nov2010 18:55

Re: Cannot modify header information - headers already sent by
 
You are echoing or displaying some HTML somewhere before you send your header()s. If you eve have a space or blank link before <?php this will cause it to send headers as HTML.


All times are GMT +5.5. The time now is 08:11.