Session start – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Session start – PHP – Fórum – Programujte.comSession start – PHP – Fórum – Programujte.com

 

luboš
~ Anonymní uživatel
95 příspěvků
12. 6. 2015   #1
-
0
-

Mám problém s nastartováním session.Chci aby kazdý kdo přijde na jakoukoli mou stránku měl svoje session.

Ovšem nefunguje to pokud na stránku prijde někdo úplně nový kterému se má session teprve vitvořit. Dělám to tak že na každé stránce ověřím jestli už existuje $_COOKIE['PHPSESSID'] a pokud ne tak nastartuju session.

<?php if (!isset($_COOKIE['PHPSESSID'])){
         session_start();
         $vysledek='session nebylo nastartovany';
      }
       else{
       $vysledek='session uz bezelo';
       }
      //zachyceni chyby z jine stranky
      if (isset($_GET["a"])){
        echo htmlspecialchars($_GET["a"]).'<br> <br>';
      }
?> 

chybová hláška je zde:

Warning: session_start() [function.session-start.html]: Cannot send session cookie - headers already sent by (output started at C:\Complex-Web-Server-2\www\index.php:1) in C:\Complex-Web-Server-2\www\index.php on line 1

Píše to že nelze odeslat cookie - hlavičky už byly odeslány....

ty hlavičky nechápu kde se vzaly , měl jsem za to že při návštěvě stránky se odešlou $_SERVER a ne header() ledaže bych ty header() přímo zadal do skriptu já sám např header('location: index.php')???.

Vím že session_start má být hned na začátku před jakýmkoli výstupem ale ja v mém kódu žádný výstup nevidím. Předem dík za rady.

Nahlásit jako SPAM
IP: 89.103.9.–
luboš
~ Anonymní uživatel
95 příspěvků
12. 6. 2015   #2
-
0
-

#1 luboš
oprava -" vytvořit " je správně

Nahlásit jako SPAM
IP: 89.103.9.–
Kit+15
Guru
12. 6. 2015   #3
-
0
-

#1 luboš
Tak zaprvé je ta podmínka zcela zbytečná, funkci session_start() volej nepodmíněně.

Zřejmě před "<php" máš výstup nějakého textu. "<?php" musí být na prvním řádku a začínat na prvním sloupci. Nesmí před tím být ani kousek HTML, ani DOCTYPE.

Některé hloupější editory tam vrazí BOM a pak to také vyhazuje tuto chybu. 

<?php
session_start();
//výpis chyby z jine stranky
if (isset($_SESSION["a"])) {
    echo htmlspecialchars($_SESSION["a"]).'<br> <br>';
}
Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:221:5...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
luboš
~ Anonymní uživatel
95 příspěvků
12. 6. 2015   #4
-
0
-

#3 Kit
tohle je script jak ho mám bezezměny

<?php session_start();
if (!isset($_COOKIE['PHPSESSID'])){
    $vysledek='session nebylo nastartovany';
    }
  if (isset($_GET["a"])){
  echo htmlspecialchars($_GET["a"]).'<br>';
  }
?> 

<html lang="cs">
<head>
 <meta charset="utf-8">
 <link rel='stylesheet' href='style-email.css'>
 <link rel='stylesheet' href='style.css'> 
</head>


 <h1>email obyč</h1>
<form  action="control/email.php" method="post"> 
<input type="text" name="to" placeholder="email příjemce" required value="whiterabbit1@seznam.cz"><br>
<input type="text" name="from" placeholder="email odesílatele" required value="aionff@seznam.cz"><br>
<input type="text" name="subject" placeholder="předmět emailu" value="nadpis emailu"><br>
<textarea name="message" id="example-one" cols="30" rows="5" placeholder="text emailu" required>nejaky text emailu</textarea><br>
<input type="submit" value="odeslat">
</form>   
</html>

je vidět že tam nemám žádný výstup ale přesto to hlásí pořád chybu takže zbývá jedině ten BOM ,používám PSpad a zjistil jsem že na to pspad má vliv http://www.linuxsoft.cz/article.php?… takže dík za nakopnutí

Nahlásit jako SPAM
IP: 89.103.9.–
luboš
~ Anonymní uživatel
95 příspěvků
12. 6. 2015   #5
-
0
-

#4 luboš
potvrzeno byl to BOM  dík

Nahlásit jako SPAM
IP: 89.103.9.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 9 hostů

Podobná vlákna

IT start — založil ITLover

Tlacitko start — založil Anonymní uživatel

Skrytí listy Start — založil Navara

Illegal start of expression — založil Draffix

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý