Autor Zpráva
Bunzy
Profil
Zdravim...

Mam dotaz...
Porad se mi vyhazuje tahle chyba : Warning: Cannot modify header information - headers already sent by (atd.)

Vim cim to asi je, je to tim ze mam menu v html kodu drive nez PHP kod, protoze do stranky index.php includuju vsechy ostatni stranky, jak tedy resit to aby cookies fungovalo?

Prochaze ljsem tyhle temata ale nejsem z nich o moc chytrejsi...
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=9&topic=80 336
http://diskuse.jakpsatweb.cz/index.php?action=vthread&topic=51352&foru m=9&page=-1
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=9&topic=21 11
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=9&topic=81 424&page=0#1

============KOD INDEX.PHP================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<?
if(!isset($_GET['page'])){
$stranka = "uvod";
}else{
$stranka = $_GET['page'];
}
$soubor = $stranka.".php";
if (!file_exists($soubor)){
$soubor = "uvod.php";
}
?>
<body>
<table border="1">
<tr>
<td><a href="../">Domů</a></td>
<td><a href="../index.php?page=registruj">Registruj</a></td>
<td><a href="../index.php?page=login">Přihlášení</a></td>
<td><a href="../index.php?page=zmena_hesla">Změna hesla</a></td>
<td><a href="../index.php?page=uzivatele">Zobrazit uživatele</a></td>
</tr>
</table><br /><br />
<? include($soubor)?>
</body>
</html>
===========================================================

==============KOD VKLADANEHO SOUBORU========================
<?
if(isset($_POST['odeslat'])){
require_once('databaze_pripojeni.php');
function uvozovky($data){
global $pripojeni;
if(ini_get('magic_quotes_gpc')){
$data = stripslashes($data);
}
return mysql_real_escape_string($data, $pripojeni);
}

$zprava = NULL;

if(empty($_POST['uzivatelske_jmeno'])){
$uzivatel = FALSE;
$zprava .="Nevyplnili jste uzivatelske jmeno!<br />";
}else{
$uzivatel = uvozovky($_POST['uzivatelske_jmeno']);
}

if(empty($_POST['heslo'])){
$h = FALSE;
$zprava .="Nevyplnili jste heslo<br />";
}else{
$h = uvozovky($_POST['heslo']);
}

if($uzivatel && $h){
$dotaz = "SELECT id_uzivatele FROM Uzivatele WHERE (uziv_jmeno='$uzivatel' AND heslo=SHA1('$h'))";
$provedeni = @mysql_query($dotaz);
$radek = @mysql_fetch_array($provedeni, MYSQL_NUM);
if($radek){
setcookie('jmeno', $radek[1]);
setcookie('id_uzivatele', $radek[0]);
header('Location: http://php.picky-design.com/index.php?page=prihlasen');
exit();
}else{
$zprava .= "Zadane udaje se neshoduji s databazi";
}
mysql_close();
}else{
$zprava .="Zkuste to znovu";
}

if(isset($zprava)){
echo $zprava;
}
}
?>

<form action="../index.php?page=login" method="post">
Uzivatelske jmeno:<input type="text" name="uzivatelske_jmeno" />
Heslo:<input type="password" name="heslo" />
<input type="submit" name="odeslat" value="Odeslat" />
</form>
=========================================================
dekuji za kazdou odpoved
nightfish
Profil
řešením je použít output buffering - na začátku souboru index.php (ještě před DOCTYPE) zavolat ob_start()
Champion
Profil
Tento isty problem som mal aj ja s elbiahostingom.. dikes skusim to aj ja
Bunzy
Profil
řešením je použít output buffering - na začátku souboru index.php (ještě před DOCTYPE) zavolat ob_start()
Jak presne tuhle funkci pouzit?
japlavaren
Profil
problem je v tom, ze nemozes pouzit header ak uz si nieco poslal na vystup (pouzil echo)
<?php
ob_start();

#dalsi kod
?>
Bunzy
Profil
problem je v tom, ze nemozes pouzit header ak uz si nieco poslal na vystup (pouzil echo)
<?php
ob_start();
#dalsi kod
?>
Nad doctype sem hodil tohle: <? ob_start() ?> a vypada to ze to vse jede jak ma
japlavaren
Profil
Bunzy - najlepsie mas ked to das na 1. riadok suboru
imploder
Profil
Můžeš si ty stránky dopředu naincludovat do RAM úplně na začátku a pak je jenom vyvolat.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: