problém s hlavičkou-error Vyřešeno

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
preclik
Level 2.5
Level 2.5
Příspěvky: 277
Registrován: říjen 07
Pohlaví: Nespecifikováno
Stav:
Offline

problém s hlavičkou-error  Vyřešeno

Příspěvekod preclik » 16 led 2012 10:28

zdravím
mám problém.server mi hází chybu

Kód: Vybrat vše

Warning: Cannot modify header information - headers already sent by (output started at /data/web/virtuals/16188/virtual/www/subdom/galerie/index.php:1) in /data/web/virtuals/16188/virtual/www/subdom/galerie/php/password_protect.php on line 139


je to kvůli cookie zřejmě. ale nevím jak to mám vyřešit.implementoval jsem [url=tohle]http://www.zubrag.com/scripts/password-protect.php[/url].
v tom skriptu je na řádku čislo 139 je tohle

Kód: Vybrat vše

 setcookie("overeni", md5($login.'%'.$pass), $timeout, '/');


v index.php mám na prvním řádku includován ten soubor s tím scriptem (password_protect.php)
nevím co s tím.tak kdyby měl někdo nějakej nápad jak to vyřešit.přinejhorším to od tama vyhodím.

Reklama
Uživatelský avatar
Ellrohir
nováček
Příspěvky: 49
Registrován: prosinec 11
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: problém s hlavičkou-error

Příspěvekod Ellrohir » 16 led 2012 11:12

před tím řádkem se setcookie nesmí skript nic vypisovat - tj. žádnej html kód, žádný php echo a dokonce ani nějakej prázdnej řádek ve zdrojáku, kterej html parser pochopí jako že má na obrazovku vypsat mezeru...je to proto, že cookie se posílá v hlavičce html a ta se odešle předtím, než se začne zpracovávat obsah stránky a jakmile je už jednou "odeslaná", tak ji nemůžeš následně změnit
"Zprávy mají velikost, třeba i nulovou, a mají nějaký význam, třeba i žádný."

Uživatelský avatar
preclik
Level 2.5
Level 2.5
Příspěvky: 277
Registrován: říjen 07
Pohlaví: Nespecifikováno
Stav:
Offline

Re: problém s hlavičkou-error

Příspěvekod preclik » 16 led 2012 11:34

celé to vypadá takto

Kód: Vybrat vše

<?php
###############################################################
# Page Password Protect 2.13
###############################################################
# Visit http://www.zubrag.com/scripts/ for updates
###############################################################
#
# Usage:
# Set usernames / passwords below between SETTINGS START and SETTINGS END.
# Open it in browser with "help" parameter to get the code
# to add to all files being protected.
#    Example: password_protect.php?help
# Include protection string which it gave you into every file that needs to be protected
#
# Add following HTML code to your page where you want to have logout link
# <a href="http://www.example.com/path/to/protected/page.php?logout=1">Logout</a>
#
###############################################################

/*
-------------------------------------------------------------------
SAMPLE if you only want to request login and password on login form.
Each row represents different user.

$LOGIN_INFORMATION = array(
  'zubrag' => 'root',
  'test' => 'testpass',
  'admin' => 'passwd'
);

--------------------------------------------------------------------
SAMPLE if you only want to request only password on login form.
Note: only passwords are listed

$LOGIN_INFORMATION = array(
  'root',
  'testpass',
  'passwd'
);

--------------------------------------------------------------------
*/

##################################################################
#  SETTINGS START
##################################################################

// Add login/password pairs below, like described above
// NOTE: all rows except last must have comma "," at the end of line
$LOGIN_INFORMATION = array(
  'galerie2012'
);

// request login? true - show login and password boxes, false - password box only
define('USE_USERNAME', false);

// User will be redirected to this page after logout
define('LOGOUT_URL', 'http://www.seznam.cz/');

// time out after NN minutes of inactivity. Set to 0 to not timeout
define('TIMEOUT_MINUTES', 0);

// This parameter is only useful when TIMEOUT_MINUTES is not zero
// true - timeout time from last activity, false - timeout time from login
define('TIMEOUT_CHECK_ACTIVITY', true);

##################################################################
#  SETTINGS END
##################################################################


///////////////////////////////////////////////////////
// do not change code below
///////////////////////////////////////////////////////

// show usage example
if(isset($_GET['help'])) {
  die('Vložte následující kód na každou stránku kterou chcete chránit:<br>&lt;?php include("' . str_replace('\\','\\\\',__FILE__) . '"); ?&gt;');
}

// timeout in seconds
$timeout = (TIMEOUT_MINUTES == 0 ? 0 : time() + TIMEOUT_MINUTES * 60);

// logout?
if(isset($_GET['logout'])) {
  setcookie("overeni", '', $timeout, '/'); // clear password;
  header('Location: ' . LOGOUT_URL);
  exit();
}

if(!function_exists('showLoginPasswordProtect')) {

// show login form
function showLoginPasswordProtect($error_msg) {
?>
<html>
<head>
  <title>Heslo</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
  <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
</head>
<body>
  <style>
    input { border: 1px solid black; background:#FFF; }
  </style>
  <div style="width:500px; margin-left:auto; margin-right:auto; margin-top:60px; text-align:center">
  <form method="post">
    <h3>Prosím vložte heslo pro přístup k webu</h3>
    <font color="red"><?php echo $error_msg; ?></font><br />
<?php if (USE_USERNAME) echo 'Login:<br /><input type="input" name="access_login" /><br />Password:<br />'; ?>
    <input type="password" name="access_password" /><p></p><input type="submit" name="Submit" value="OK" />
  </form>
  <br />
  <a style="font-size:9px; color: #B0B0B0; font-family: Verdana, Arial;" href="http://www.zubrag.com/scripts/password-protect.php" title="Stáhnout Password Protector">Vytvořeno pomocí programu Password Protect</a>
  </div>
</body>
</html>

<?php
  // stop at this point
  die();
}
}

// user provided password
if (isset($_POST['access_password'])) {

  $login = isset($_POST['access_login']) ? $_POST['access_login'] : '';
  $pass = $_POST['access_password'];
  if (!USE_USERNAME && !in_array($pass, $LOGIN_INFORMATION)
  || (USE_USERNAME && ( !array_key_exists($login, $LOGIN_INFORMATION) || $LOGIN_INFORMATION[$login] != $pass ) )
  ) {
    showLoginPasswordProtect("Špatné heslo");
  }
  else {setcookie("overeni", md5($login.'%'.$pass), $timeout, '/');
   
    // Some programs (like Form1 Bilder) check $_POST array to see if parameters passed
    // So need to clear password protector variables
    unset($_POST['access_login']);
    unset($_POST['access_password']);
    unset($_POST['Submit']);
  }

}

else {

  // check if password cookie is set
  if (!isset($_COOKIE['overeni'])) {
    showLoginPasswordProtect("");
  }

  // check if cookie is good
  $found = false;
  foreach($LOGIN_INFORMATION as $key=>$val) {
    $lp = (USE_USERNAME ? $key : '') .'%'.$val;
    if ($_COOKIE['overeni'] == md5($lp)) {
      $found = true;
      // prolong timeout
      if (TIMEOUT_CHECK_ACTIVITY) {
        setcookie("overeni", md5($lp), $timeout, '/');
      }
      break;
    }
  }
  if (!$found) {
    showLoginPasswordProtect("");
  }

}

?>


smazal jsem všechny mezery.radši v notepadu abych si byl jistej.ale pořád to hází chybu v tom samém.díval jsem se i na forum kde s tím mají stejnej problém ale zatím jsem nenarazil na řešení.na localu to funguje.ale na serveru mi to hází tu chybku.

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: problém s hlavičkou-error

Příspěvekod CZechBoY » 16 led 2012 14:57

nepoužíváš náhodou obyč notepad ve windows? ten odesílá "znak" novýho řádku a tim vlastně odešle výstup ještě před začátkem skriptu
použij český PsPad nebo Notepad++ nebo jakýkoliv normální editor
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
Myloš
Master Level 8.5
Master Level 8.5
Příspěvky: 6990
Registrován: duben 06
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline

Re: problém s hlavičkou-error

Příspěvekod Myloš » 16 led 2012 15:12

O tom, že Notepad odesílá znak nového řádku (CR-LF) na začátku dokumentu, nic nevím, ale pokud je text ukládaný v UTF-8, ukládá na začátek dokumentu BOM. V prostém HTML by to nevadilo, ale PHP se s tím dosud neumí vyrovnat. Jinak máš samozřejmě pravdu.
  • Než položíte dotaz, nejprve se ptejte strejdy Gůůgla.
  • Výňatek z pravidel fóra PC-HELP:
    • Název tématu zvolte takový, aby co nejvýstižněji charakterizoval obsah tématu.
    • Nesnažte se řešit jiný problém (i když podobný) v jednom tématu. Raději založte nové téma.
  • Mýliti se je Myloš. ;-)

Uživatelský avatar
preclik
Level 2.5
Level 2.5
Příspěvky: 277
Registrován: říjen 07
Pohlaví: Nespecifikováno
Stav:
Offline

Re: problém s hlavičkou-error

Příspěvekod preclik » 16 led 2012 15:14

a nemohlo by to být nějakým nastavením serveru? zkoušel jsem to nahrát na svůj starý free hosting a tam to jde normálně bez chyby.tak asi napíšu na podporu či co.a otevíral jsem to už ve všem možném..dreamweaver, notepad, wordpad..mezera tam žádná není

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: problém s hlavičkou-error

Příspěvekod CZechBoY » 16 led 2012 15:16

tak sem pošli ten soubor kterej tam nahráváš..
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
preclik
Level 2.5
Level 2.5
Příspěvky: 277
Registrován: říjen 07
Pohlaví: Nespecifikováno
Stav:
Offline

Re: problém s hlavičkou-error

Příspěvekod preclik » 16 led 2012 15:47

v zipu jsou oba.password_protect.php je includovan v index.php..a v tom password_protect.php to hází tu chybu na řádku 139 (setcookie). ale jenom jak říkám na tom novém webhostingu kam jsem to ted zkoušel nahrát.na freehostingu to žádnou chybu nehlásí.
Přílohy
pas.zip
(2.62 KiB) Staženo 19 x

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: problém s hlavičkou-error

Příspěvekod CZechBoY » 16 led 2012 15:49

v index.php byl ten BOM, jak již Myloš zmínil
zkus to takhle
Přílohy
pas.rar
(2.58 KiB) Staženo 13 x
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
preclik
Level 2.5
Level 2.5
Příspěvky: 277
Registrován: říjen 07
Pohlaví: Nespecifikováno
Stav:
Offline

Re: problém s hlavičkou-error

Příspěvekod preclik » 16 led 2012 16:05

joo supr.chybu už to nepíše.díky moc..zkusím tam naházet ještě obsah.čím si to prosím zjistil ten boom na začátku?jakým editorem?

Uživatelský avatar
Myloš
Master Level 8.5
Master Level 8.5
Příspěvky: 6990
Registrován: duben 06
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline

Re: problém s hlavičkou-error

Příspěvekod Myloš » 16 led 2012 16:11

Třeba v PSPadu můžeš v nastavení ukládání BOMu zakázat:
Nastavení → Program – chování → Ident. byty v kódování UTF-8
V takovém případě stačí soubor s BOMem otevřít a znovu uložit a BOM je pryč. A Notepad to udělá přesně naopak.
  • Než položíte dotaz, nejprve se ptejte strejdy Gůůgla.
  • Výňatek z pravidel fóra PC-HELP:
    • Název tématu zvolte takový, aby co nejvýstižněji charakterizoval obsah tématu.
    • Nesnažte se řešit jiný problém (i když podobný) v jednom tématu. Raději založte nové téma.
  • Mýliti se je Myloš. ;-)

Uživatelský avatar
preclik
Level 2.5
Level 2.5
Příspěvky: 277
Registrován: říjen 07
Pohlaví: Nespecifikováno
Stav:
Offline

Re: problém s hlavičkou-error

Příspěvekod preclik » 16 led 2012 16:19

Dík Myloši. I všem ostatním. Vyřešeno. Objevil jsem vlastní blbost, kterou jsem řešil celé dopoledne. Samotnej dreamweaver BOM vynechává.ale problém nastal, když jsem chtěl zkusit jen tak funkčnost, tak jsem nahrál jen ze pár souborů a u těch jsem adresy v php(které jsem měl na localu trošku jinak) upravoval a ukládal v notepadu a ten mi v tom udělal asi bordel. bylo to totiž pro mě jednodušší si to v total commanderu upravit jen tak v poznamkovým bloku. Jinak klasicky používám ftp přenos přímo v dreamweaveru. taková blbost:D ještě že tomu někdo rozumí a poradil.

ještě jednou dík moc všem. ted si na to dám pozor.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Problém s RAM
    od lukas222 » 04 lis 2024 13:52 » v Problémy s hardwarem
    4
    3385
    od lukas222 Zobrazit poslední příspěvek
    05 lis 2024 13:36
  • Problém s FPS
    od mcrakvar » 26 lis 2024 16:22 » v Vše ostatní (sw)
    4
    4019
    od petr22 Zobrazit poslední příspěvek
    28 lis 2024 10:06
  • Problém s internetem Příloha(y)
    od valama » 06 dub 2025 16:13 » v Internet a internetové prohlížeče
    11
    4780
    od RIKI22 Zobrazit poslední příspěvek
    06 dub 2025 20:42
  • Problem se spustenim PC Příloha(y)
    od Fred96 » 04 srp 2024 17:40 » v Problémy s hardwarem
    37
    9354
    od petr22 Zobrazit poslední příspěvek
    19 říj 2024 11:07
  • Problém s emailem Příloha(y)
    od Těsňa » 18 srp 2024 21:15 » v Komunikace na internetu
    5
    8284
    od Těsňa Zobrazit poslední příspěvek
    23 srp 2024 09:23

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti