Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: headers already sent, session_start() w pierwszej linii pliku
Forum PHP.pl > Forum > Przedszkole
.luki
No właśnie.

index.php - początek:
  1. <?php ob_start(); ?>
  2. <?php require_once("includes/session.php"); ?>



session.php:
  1. <?php
  2.  
  3. function logged_in() {
  4. return isset($_SESSION['user_id']);
  5. }
  6. ?>



Ten sam błąd mam kiedy:
--nie ma output buffer`a
--session_start przeniosę do index.php na pierwszą linię


Kod
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/xx/domains/xxx/public_html/inventory/index.php:1) in /home/xx/domains/xxx/public_html/inventory/includes/session.php on line 2


Dlaczego? Dodam, że na localhost`cie działa bez problemu tak jak jest w tej chwili i BEZ ob_start`a.
GrayHat
nie masz przypadkiem spacji przed <?php?? albo entera?
Wieviór
Skopiuj całą treść z plików index.php i session.php do nowych, czystych plików i nadpisz. Tylko kopiuj zaznaczając od znaku "<?", nie używając Ctrl+A.
.luki
Chore. Na innym serwerze (darmowym, yoyo) działa, na moim serwerze nie.
specialplan
index.php

  1. <?php
  2. require_once("includes/session.php");
  3. ?>
andrew1985
Sprawdź czy twój edytor nie zapisuje BOM z kodowaniem UTF-8.
martex
Podepne sie pod temat zeby nie zaczynac nowego :?
Hmmm buduje sobie powolutku malego cmska smile.gif i zaglebiam sie w tajniki php na localhoscie xampp bylo wszystko ok jak przerzucilem wszystko na serwer i podpiolem baze stronka oczywiscie jest ale klopot z panelem admina nie chce wystartowac sesja :/
mogl by mnie nakierowac ktosc co w tym kjodzie jest zle questionmark.gif? niewiem czy dobrze rozumie ale nie moze byc nic przed <?php questionmark.gifquestionmark.gif

z gróry dziękuje smile.gif

[PHP] pobierz, plaintext

<html>
<head>
<script type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
mode: "textareas"
});
</script>
</head>
<body>

<?php

require("db.php");

function login($login, $haslo){
global $pdo;

$stmt = $pdo -> prepare("SELECT id FROM users WHERE login = :login AND haslo = :haslo");
$stmt -> bindValue(":login", $login, PDO::PARAM_STR);
$stmt -> bindValue(":haslo", $haslo, PDO::PARAM_STR);
$stmt -> execute();

while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
return $row['id'];
}

return 0;
}

function printForm(){

echo "<form method='post' action='admin.php'>";
echo "User: <input type=text name=login><br>";
echo "Haslo: <input type=text name=haslo><br>";
echo "<input type=submit value='Ok'>";
echo "</form>";
}

session_start();

if(!isset($_SESSION['user'])){
$_SESSION['user'] = 0;
}

?>

[PHP] pobierz, plaintext




jak pisalem na localu ok a na serwerze wsykakuje cos takiego :


Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/x4ql/ftp/tkproject/adminUtils.php:12) in /home/x4ql/ftp/tkproject/adminUtils.php on line 40

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/x4ql/ftp/tkproject/adminUtils.php:12) in /home/x4ql/ftp/tkproject/adminUtils.php on line 40

Zaloguj sie
User:
Haslo:




kiedy wpisze login i haslo

Warning: Cannot modify header information - headers already sent by (output started at /home/x4ql/ftp/tkproject/adminUtils.php:12) in /home/x4ql/ftp/tkproject/adminLogin.php on line 8
Damonsson
session_start na sam początek kodu. Ogólnie jeśli już tak piszesz, to cały php daj na początek sobie.
martex
dzieki pomoglo ale znowu jak sie chce zalogowac to mam :


Warning: Cannot modify header information - headers already sent by (output started at /home/x4ql/ftp/tkproject/adminUtils.php:47) in /home/x4ql/ftp/tkproject/adminLogin.php on line 8


  1.  
  2. <?php
  3.  
  4. if(!isset($_SESSION['user'])){
  5. $_SESSION['user'] = 0;
  6. }
  7. require("db.php");
  8.  
  9. function login($login, $haslo){
  10. global $pdo;
  11.  
  12. $stmt = $pdo -> prepare("SELECT id FROM users WHERE login = :login AND haslo = :haslo");
  13. $stmt -> bindValue(":login", $login, PDO::PARAM_STR);
  14. $stmt -> bindValue(":haslo", $haslo, PDO::PARAM_STR);
  15. $stmt -> execute();
  16.  
  17. while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
  18. return $row['id'];
  19. }
  20.  
  21. return 0;
  22. }
  23.  
  24. function printForm(){
  25.  
  26. echo "<form method='post' action='admin.php'>";
  27. echo "User: <input type=text name=login><br>";
  28. echo "Haslo: <input type=text name=haslo><br>";
  29. echo "<input type=submit value='Ok'>";
  30. echo "</form>";
  31. }
  32.  
  33.  
  34.  
  35. ?>
  36. <html>
  37. <head>
  38. <script type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
  39. <script type="text/javascript">
  40. tinyMCE.init({
  41. mode: "textareas"
  42. });
  43. </script>
  44. </head>
  45. <body>
  46.  


a jak odswieze strone jest juz ok :/
ehh
ciezkie te poczatki
tylko czego na localhoscie dziala ok a na serwie sa takie problemy
sowiq
Bo masz kolego znak nowej linii, o tu:


A tak w ogóle to temat był wałkowany milion razy. Nawet w przypiętym temacie na forum jest podany link: http://phpedia.pl/wiki/Cannot_add_header_i...rs_already_sent
martex
przepraszam ze tak mecze temat znak wynika z blednego skopowiania i wklejenia na forum :/ w skrpciku jest na pierwszym miejscu
staram sie robic tak jak znajde jakies instrukcje w necie i tak jak pisalem bylo ok na localhoscie
a teraz po wpisaniu passow
Warning: Cannot modify header information - headers already sent by (output started at /home/x4ql/ftp/tkproject/adminUtils.php:47) in /home/x4ql/ftp/tkproject/adminLogin.php on line 8

a gdy odswieze jest ok :/

jesli moglby mi podac powod tego jakas

<?php
ob_start();

// TRESC SKRTYPTU PHP

ob_end_flush();
?>
^^
to rozwiazanie tez nie dziala

moze to header psuje robote :/

  1. <!DOCTYPE html>
  2.  
  3. <?php
  4. require("db.php");
  5. ?>
  6. <html xmlns="http://www.w3.org/1999/xhtml">
  7. <meta name="keywords" content="" />
  8. <meta name="description" content="" />
  9. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  10. <title>tkproject.pl</title>
  11. <script src="js/jquery-1.7.2.min.js"></script>
  12. <script src="js/lightbox.js"></script>
  13.  
  14. <link href='http://fonts.googleapis.com/css?family=Oswald:400,300' rel='stylesheet' type='text/css'>
  15. <link href='http://fonts.googleapis.com/css?family=Abel' rel='stylesheet' type='text/css'>
  16. <link href="style.css" rel="stylesheet" type="text/css" media="screen" />
  17. <link href="css/lightbox.css" rel="stylesheet" />
  18. </head>
  19. <div id="wrapper">
  20. <div id="header-wrapper" class="container">
  21. <div id="header" class="container">
  22. <div id="logo">
  23. <h1><a href="#">Tkproject</a></h1>
  24. </div>
  25. <div id="menu">
  26. <ul>
  27. <li><a href="index.php">Strona główna</a></li>
  28. <li><a href="projekty.php">Projekty</a></li>
  29. <li><a href="galeria.php">Galeria</a></li>
  30. <li><a href="kontakt.php">Kontakt</a></li>
  31. </ul>
  32. </div>
  33. </div>
  34. <div><img src="images/img03.png" width="1000" height="40" alt="" /></div>
  35. </div>
  36. <!-- end #header -->
Posio
Kolego, jak dla mnie to cały czas masz problem z kodowaniem. Ściągnij sobie taki prosty malutki edytor NOTEPAD++, otwórz twój plik, kliknij format - > Koduj w UTF-8(bez BOM) i zapisz. Myślę, że będzie działać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.