user45344
user45344

Reputation: 217

PHP sessions with HTML

I have a website which uses PHP and HTML pages, I want to create a session which stores a username from the login page. But the login pages are php and the next pages are html.

Is this a problem or can I just add a small statement of php into the html page saying

 <?PHP session_start();
$_session['loginid']=$_post['username'];
?>

Or am I doing it wrong?

This is the first time i've used sessions and they confuse me a little.

thanks for any help.

Upvotes: 6

Views: 18627

Answers (4)

localshred
localshred

Reputation: 2233

If you have access to your apache configuration, or a simple .htaccess file, you can tell Apache to handle php code inside of an .html file. You can do this by creating an .htaccess file (remember the . (dot) as the first character in that filename) on the document root of the site (probably public_html/) and putting this into it:

# Add this to public_html/.htaccess file
AddHandler application/x-httpd-php .html
AddHandler application/x-httpd-php .htm

You should be able to reload the html page and your PHP code (from Michael Matthews answer) will run great.

Upvotes: 9

Michael Mathews
Michael Mathews

Reputation: 481

You are trying to share a PHP session variable with a page that is of type text/html. As you suggested you must make the HTML page a PHP page for this to work and add a little snippet of PHP somewhere to display the user name.

Change your HTML page to PHP. At the top of the page add something like this:

<?php
  session_start(); // must be before any output
  $username = $_SESSION['username']; // or whatever you called it
  // check that $username is valid here (safe to display)
?>
html here
Hello <?= $username ?>!

Upvotes: 5

stalepretzel
stalepretzel

Reputation: 15913

You can't put php into .html files without playing around with your server's configuration files. You should only put php into .php files.

If you have a lot of .html files, you can simply rename them to .php files. It's okay to put pure html into something.php. So, you should make sure that all of your files end with .php, and then you can put any session logic you want into them.

Upvotes: 1

Gumbo
Gumbo

Reputation: 655209

As the sessions are handled by PHP, it needs PHP to maintain the state. You need at least session_start() to use the session variables stored in $_SESSION.

Upvotes: 3

Related Questions