会话不会在特定页面中启动

会话不会在特定页面中启动

问题描述:

Edit: I fixed it, the problem was the spaces before <?php. Thanks for the comments.

Sessions are working on all pages except index.php

The error: session_start(): Cannot start session when headers already sent in /home/site/public_html/connection.php on line 13

connection.php:

<?php

try {
$db=new PDO('mysql:host=localhost;dbname=testdb','testuser','123456');
$db->exec("SET CHARACTER SET utf8"); }
catch(PDOExpception $e) {
echo $e->getMessage(); }

ob_start(); session_start(); # (line 13)

?>

index.php:

<?php
include 'connection.php'; include 'seo.php';
$connect_site=$db->prepare("SELECT * FROM site WHERE id=?");
$connect_site->execute(array(1));
$site=$connect_site->fetch(PDO::FETCH_ASSOC);
?>

<!DOCTYPE HTML>
<html>
<head>
...

You have to put always the

session_start();

At the start of all your codes. Nothing had to go before whatever it is :)

Enjoy coding !

Change your code in connection.php

<?php ob_start(); session_start();  ?>
<?php
    try {
      $db=new PDO('mysql:host=localhost;dbname=testdb','testuser','123456');
      $db->exec("SET CHARACTER SET utf8"); }
    catch(PDOExpception $e) {
      echo $e->getMessage(); 
    }
?>