PHP code wont work if i add HTML code?

I have a kinda small problem but very annoying…
The thing is that i use this script as a loginsystem, it has always been working. But now i changes webhotel and everything became messed up, now i cant use html code in this file, or not every create a new file with html code and then use include to get the code within the file, the problem is that if i use any kind of html code it will not create the cookie, and as fast i remove the html code it works again… ive been trying to find out the problem for a few hours now and ill get kinda pissed off right now…

[php]<?php
// Connects to your Database

mysql_connect(“", “", "”) or die(mysql_error());
mysql_select_db("
”) or die(mysql_error());

//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 usersuweeb WHERE username = '$username'")or die(mysql_error());

while($info = mysql_fetch_array( $check )) 	

	{

	if ($pass != $info['password']) 

		{

		 			}

	else

		{

		header("Location: members/index.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 usersuweeb 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=registration_page.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/index.php”);

}

}

}

else

{

// if they are not logged in

?>

Login

Username:
Password:
<?php } ?>

[/php]

I would be very glad if someone could check it out and help me :slight_smile: thanks and regrets!
/Ompaa

may not be a sure shot solution, but why dont you try this…

instead of doing this…

?>

why dont you simply echo the html code? like this

echo '<form id=“form1”…

what say?

or you could
[php]
//then redirect them to the members area

header(“Location: members/index.php”);

}

}

}

else

{

// if they are not logged in
###########################

Just drop in an <<< EOT statement

make echo <<< EOT and EOT; are

aligned to the LEFT MARGIN (FLAT)

##########################

echo <<< EOT

Login

Username:
Password:
EOT;

}

?>
[/php]

I know it’s probably not the best practice, but I LOVE using echo <<< EOT when I need to drop a chunk of HTML in a while() or if(). It saves from having to mess with dropping the PHP script with a ?> and then chunking out your HTML, and then reopening <?php and finishing out your script there with }'s and such.

You could try a proper templating engine, such as Twig. (Highly recommended)

or move to a proper web host! :smiley:

terrible solution!

or maybe you could fix the problem

[php]<?php echo $_SERVER['PHP_SELF']?>[/php]

should be

[php]<?php echo $_SERVER['PHP_SELF'];?>[/php]
you forgot to end your php statement that is what the error was from

Sponsor our Newsletter | Privacy Policy | Terms of Service