Symbianize Forum

Most of our features and services are available only to members, so we encourage you to login or register a new account. Registration is free, fast and simple. You only need to provide a valid email. Being a member you'll gain access to all member forums and features, post a message to ask question or provide answer, and share or find resources related to mobile phones, tablets, computers, game consoles, and multimedia.

All that and more, so what are you waiting for, click the register button and join us now! Ito ang website na ginawa ng pinoy para sa pinoy!

[PHP] Warning: Cannot modify header information - headers

Soichiro Jin

Proficient
Advanced Member
Messages
255
Reaction score
2
Points
28
Guys patulong naman :help: I am new to PHP/Web development. Ginoogle ko na at tinry ang mga other solutions and still no luck.

I have this code and nag eerror sakin -> "Warning: Cannot modify header information - headers"

Please patulong, working naman sya kapag localhost pero nag eerror kung online na, sumasablay sa 'header('location:home.php'); I am using free webhosting (000webhost.com)

Code:
<?php session_start(); ?>
<?php include('dbcon.php'); ?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="form-wrapper">
  
  <form action="#" method="post">
    <h3>Login here</h3>
	
    <div class="form-item">
		<input type="text" name="user" required="required" placeholder="Username" autofocus required></input>
    </div>
    
    <div class="form-item">
		<input type="password" name="pass" required="required" placeholder="Password" required></input>
    </div>
    
    <div class="button-panel">
		<input type="submit" class="button" title="Log In" name="login" value="Login"></input>
    </div>
  </form>
  <?php
	if (isset($_POST['login']))
		{
			$username = mysqli_real_escape_string($con, $_POST['user']);
			$password = mysqli_real_escape_string($con, $_POST['pass']);
			
			$query 		= mysqli_query($con, "SELECT * FROM users WHERE  password='$password' and username='$username'");
			$row		= mysqli_fetch_array($query);
			$num_row 	= mysqli_num_rows($query);
			
			if ($num_row > 0) 
				{			
					$_SESSION['user_id']=$row['user_id'];
					header('location:home.php');
					
				}
			else
				{
					echo 'Invalid Username and Password Combination';
				}
		}
  ?>
  <div class="reminder">
    <p>Not a member? <a href="#">Sign up now</a></p>
    <p><a href="#">Forgot password?</a></p>
  </div>
  
</div>

</body>
</html>

Credit's for the Code: Sourcecodester.com
 
Last edited:
need mo lang imove sa labas ng <html> tag yung PHP blocks mo na gumagamit ng header function

Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP.
Source: http://php.net/manual/en/function.header.php

Edit: In addition, isa sa mga good practices na ilalagay ang PHP blocks before HTML para maiwasan sa future ang gantong error at para na rin di mahirap magdebug since meron na silang separation. Gumawa rin ng new php file kung paulit ulit na ginagamit yung function na yun sa ibang page. Iwasan hanggat sa maaari ang pagdagdag ng php logic sa loob ng HTML :)
 
Last edited:
try mo ilagay before ng session start();

Code:
        // headers must be sent.
	ob_start();

after ng </html>

Code:
        //ob_flush();
	//ob_end_clean();
	ob_end_flush();

basahin mo sa php documentation about ob_start(), ob_flush() etc. para ma familiar ka kung ano ang function nila. :)

pag hindi nag work, there's something else.. :)
 
try mo ilagay before ng session start();

Code:
        // headers must be sent.
	ob_start();

after ng </html>

Code:
        //ob_flush();
	//ob_end_clean();
	ob_end_flush();

basahin mo sa php documentation about ob_start(), ob_flush() etc. para ma familiar ka kung ano ang function nila. :)

pag hindi nag work, there's something else.. :)

working ito... promise...
 
Back
Top Bottom