[ Príspevkov: 20 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.02.07
Prihlásený: 16.02.16
Príspevky: 876
Témy: 144 | 144
NapísalOffline : 24.11.2008 21:11 | Problem s header

Mam prihlasovanie. Na zobrazenie stranky ktora ma byt zobrazena len po prihlaseni vkladam tento kod:

Kód:
<?php
require_once dirname(__FILE__)."/config.php";

function unauth_header() {
    header("Location: /index.php?go=uvod&code=401", 401);
    die();
}

function check_user() {
    if ( isset($_SESSION['jmeno']) && isset($_SESSION['heslo']) && isset($_SESSION['prava']) ) {
        $select = mysql_query("SELECT `id` FROM `uzivatele` WHERE `jmeno`='{$_SESSION['jmeno']}' AND `heslo`='{$_SESSION['heslo']}'") or die (mysql_error());
        $udaje = mysql_fetch_assoc($select);
        if (mysql_num_rows($select)!=1) { unauth_header(); }
    } else {
        unauth_header();
    }
}

check_user();
?>


zobrazovanie podstranok mam cez include switch takze do struktury vkladam uz len obsah.
avsa ak vlozim vyssie pisany script pre kontrolu prihlasnia do include suboru danej stranky, napise mi to hlasku:

Kód:
Warning: Cannot modify header information - headers already sent by (output started at /server/web/px2.biz/htdocs/sub/idioti/index.php:51) in /server/web/px2.biz/htdocs/sub/idioti/foto_galeria/ko-foto.php on line 5


myslim ze je to vtom ze ten kod by mal byt celkom hore este pred prvym vystupom stranky. ale ako do urobit ked ten kod mam v includovanych suboroch?
alebo kde inde je chyba? DIK

//upraveny nazov temy (stenley)


Offline

Čestný člen
Čestný člen
Problem s header

Registrovaný: 17.10.06
Prihlásený: 08.01.11
Príspevky: 1757
Témy: 17 | 17
NapísalOffline : 24.11.2008 21:16 | Problem s header

problem si urcil spravne. header musi byt na zaciatku pred akymkolvek vystupom.


_________________
A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table.
Offline

Skúsený užívateľ
Skúsený užívateľ
Problem s header

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 24.11.2008 21:17 | Problem s header

tak tak, čiže sa skús pohrať s ob_start() a podobnými srandami ;) nerobíš snáď stránky prvý týždeň, googlovať vieš


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.02.07
Prihlásený: 16.02.16
Príspevky: 876
Témy: 144 | 144
Napísal autor témyOffline : 24.11.2008 21:22 | Problem s header

este som skusal jedno riesenie no neviem na kolko je bezepcne:

Kód:
<?php
              if($_SESSION['id_kod'])
{echo 'Pre neprihláseného';}
else
{echo 'Pre prihláseneho';}

?>

popripade by som tam doplnil aj ine identifikatory ale to prve sa mi zda lepsie. pogooglujem.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.02.07
Prihlásený: 16.02.16
Príspevky: 876
Témy: 144 | 144
Napísal autor témyOffline : 25.11.2008 18:00 | Problem s header

tak neviem si stym rady :( :(

na index.php mam vlozeni tento kod pre prihlasovanie, session ...
Kód:
<?php

require_once dirname(__FILE__)."/config.php";


if (!session_is_registered("jmeno"))
    session_register("jmeno");

if (!session_is_registered("heslo"))
    session_register("heslo");
   
if (!session_is_registered("prava"))
    session_register("prava");

if (isset($_POST['submit'])) {

    $select = mysql_query("SELECT `jmeno`,`heslo`,`prava` FROM `uzivatele` WHERE `jmeno`='".addslashes($_POST['jmeno'])."' AND `heslo`='".md5(trim($_POST['heslo']))."'") or die (mysql_error());
    $udaje = mysql_fetch_assoc($select);

    if (mysql_num_rows($select)==1) {
        session_regenerate_id();
        $_SESSION['jmeno'] = $_POST['jmeno'];
        $_SESSION['heslo'] = md5($_POST['heslo']);
        $_SESSION['prava'] = $udaje['prava'];
        header("Location: /uvod/");
    } else {
        header("Location: /index.php?go=prihlasenie&code=401", 401);
    }
   
}

if (isset($_GET['logout'])) {
    unset($_SESSION['jmeno']);
    unset($_SESSION['heslo']);
    unset($_SESSION['prava']);
    session_destroy();
}

isset($_GET['code']) && $_GET['code']=="401" ?
   $title = "<h2>Zlé meno alebo heslo! Asi niesi idiot</h2>" :
   $title = "<h2>Prihlásenie</h2>";

?>


a pomocou include includujem obsah ktory ma byt pristupny len po prihlaseni ktore kontrolujem tymto:
Kód:
<?php
$stranka = ob_get_contents();
ob_end_clean();
require_once dirname(__FILE__)."/config.php";

function unauth_header() { # pouze presmerovani
    header("Location: /index.php?go=uvod&code=401", 401);
    die();
}

function check_user() { # kontrola uzivatele
    if ( isset($_SESSION['jmeno']) && isset($_SESSION['heslo']) && isset($_SESSION['prava']) ) {
        $select = mysql_query("SELECT `id` FROM `uzivatele` WHERE `jmeno`='{$_SESSION['jmeno']}' AND `heslo`='{$_SESSION['heslo']}'") or die (mysql_error());
        $udaje = mysql_fetch_assoc($select);
        if (mysql_num_rows($select)!=1) { unauth_header(); }
    } else {
        unauth_header();
    }
}

check_user();

?>


ten druhy kod na kontrolu ma byt celkom hore pred vystupom ale kedze to includujem tak ho mam niekde v strede obsahu stranky a neviem ako mam urobit aby to fungovalo ako ma. vypisuje to chybu spominanu vyssie


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3991
Témy: 96 | 96
NapísalOffline : 25.11.2008 19:37 | Problem s header

chýba ti session_start()

//inak mohol by mi niekto vysvetliť názov témy??
//Problem s headerhttp://www.pcforum.sk/posting.php?mode=newto -> to koho napadlo??


Offline

Skúsený užívateľ
Skúsený užívateľ
Problem s header

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1586
Témy: 96 | 96
NapísalOffline : 25.11.2008 20:06 | Problem s header

Pokiaľ sa chceš vyhnúť takýmto problémom s headerom, môžeš okrem spomínaných rád používať
Kód:
if(!headers_sent()){header("Location: index.php");}
exit;

Tipujem, že autor omylom potiahol url stránky, na ktorej sa pridávajú príspevky, do poľa s názvom témy. Takže je to "problem s header" a zbytok preklep


_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.02.07
Prihlásený: 16.02.16
Príspevky: 876
Témy: 144 | 144
Napísal autor témyOffline : 26.11.2008 19:20 | Problem s header

tominator: dik ale aj tak mi to nechce ist. stale ta chyba s headerom

rooobertek: toto mi urobi len to ze nevypise chybu ale cast za tymto kodom sa ani nezobrazi.

neviem ako urobit to aby fungovalo posielanie headera z toho includovaneho suboru. neviem to stamat dostat aby to bolo na vrchu a aby to fungovalo :( :(


Offline

Skúsený užívateľ
Skúsený užívateľ
Problem s header

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1586
Témy: 96 | 96
NapísalOffline : 26.11.2008 19:34 | Problem s header

bodaj by sa niečo zobrazilo, keď header neodošle a hneď za tým je exit...
Nemáš náhodou medzeru na konci súboru config.php ? Prípadne na začiatku?

http://sk.wikipedia.org/wiki/Hypertext_ ... r_Protocol
Ako prebieha spojenie http:
Kód:
header1
header2
header3...

tu už je nejaký ten obsah

Ten voľný riadok označuje koniec headerov. Ak tam už je, tak znova sa tam už vrátiť nemôžeš, pokiaľ nemáš stroj času. Čiže ak vypustíš aj len jednu medzeru, odošlú sa posledné hlavičky, voľný riadok a za tým to, čo vypustíš.

// navrhujem adminom (asi Stenleymu), aby pridali medzi dôležité témy niečo o headers, lebo sa to tu dosť často preberá. Alebo aspoň niečo o tom, ako funguje htttttttttp


_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.02.07
Prihlásený: 16.02.16
Príspevky: 876
Témy: 144 | 144
Napísal autor témyOffline : 26.11.2008 20:07 | Problem s header

teraz neviem ci nechapem ja teba alebo ty mna ako to mam riesene na webe

takze:
Kód:
/* sctript s http na session spominany vyssie */
hlavicka
body
a nejaka struktura

/* include */
tu sa vklada obsah kde je sctript na kontrolu a kde je tiez http hlavicka co asi robi problem kedze prednou su vystupy

/* footer */


a neviem ako urobit aby fongoval ten script ktory sa includuje uz medzi vystupi :(


Offline

Skúsený užívateľ
Skúsený užívateľ
Problem s header

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1586
Témy: 96 | 96
NapísalOffline : 26.11.2008 20:12 | Problem s header

Tak to nemôžeš posielať tam.
A nehovoríme o tých istých hlavičkách. HTTP má svoje vlastné hlavičky. Napríklad pcforum.sk mi vráti
Kód:
Date: Wed, 26 Nov 2008 19:08:23 GMT
Server: Apache
Cache-Control: private, pre-check=0, post-check=0, max-age=0
Expires: 0
Pragma: no-cache
Content-Encoding: gzip
Vary: Accept-Encoding,User-Agent
Content-Length: 7776
Content-Type: text/html
Set-Cookie: CENZUROVANE
Keep-Alive: timeout=4, max=500
Connection: Keep-Alive

Nejde o html, to už je obsah toho, čo sa posiela.
Nemôžeš poslať všetko hento - hlavičky, body, štruktúra a potom chcieť presmerovať. To je hovadina. Nemôžeš poslať ani len medzeru. Musíš pozrieť na to z iného uhla, skús sa posadiť viac doprava alebo čo :D že či to nechceš spraviť inak. To, čo chceš ty, je NEMOŽNÉ


_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.02.07
Prihlásený: 16.02.16
Príspevky: 876
Témy: 144 | 144
Napísal autor témyOffline : 26.11.2008 20:15 | Problem s header

hmm no tak potom dobre. vyriesim to nejakou inou kontrolou. dik za vysvetlenie


Offline

Skúsený užívateľ
Skúsený užívateľ
Problem s header

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1586
Témy: 96 | 96
NapísalOffline : 26.11.2008 20:17 | Problem s header

Nemohol by si kontrolu presunúť na začiatok? To je dosť štandardnejšie riešenie


_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.02.07
Prihlásený: 16.02.16
Príspevky: 876
Témy: 144 | 144
Napísal autor témyOffline : 26.11.2008 20:30 | Problem s header

tak to potom bola kontrolovana kazda stranka a nepristupna pre neprihlaseneho nie? neviem ci by to slo


Offline

Skúsený užívateľ
Skúsený užívateľ
Problem s header

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 26.11.2008 20:30 | Problem s header

preboha, veď som to tu už písal... PREČÍTAJ SI NIEČO O OB_START() ! nechápem čo tu toľko riešiš keď som ťa rovno naviedol na riešenie...
a rooobertek, pokiaľ sa použije funkcia o ktorej hovorím, čiže zásobník, možné to je urobiť aj v takom poradí, ako by sa to kajbovi páčilo...
http://sk.php.net/ob_start


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.02.07
Prihlásený: 16.02.16
Príspevky: 876
Témy: 144 | 144
Napísal autor témyOffline : 26.11.2008 20:40 | Problem s header

pozeral som si to ale neviem ako to mam pouzit :( :(


Offline

Skúsený užívateľ
Skúsený užívateľ
Problem s header

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 26.11.2008 21:03 | Problem s header

mno tam dosť záleží na tom, ako máš stavanú stránku.. ale princíp funguje cca tak, že pred akýmkoľvek výstupom dáš ob_start();... mno a keď prídeš k miestu, kde chceš povedzme presmerovať človeka z nejakého dôvodu, za túto sekciu dopíšeš len ob_end_flush(); a malo by to fungovať (osobne som to musel riešiť prednedávnom, čiže viem že to určite funguje)

uveďme si rýchlo jeden prípad nech je to názornejšie...
Kód:
<?php
   session_start();
   ob_start();
?>
<head>
...html blablabla
</head>
<body>
dalsieblablabla
<?php
   session_regenerate_id();
   ob_end_flush();
    ....
?>
dalsie html kecy
</body>
</html>

akurát táto ukážka rieši to, že máš spustenú nejakú session a zrazu potrebuješ zmeniť identifikátor session (čiže session id)

p.s.: písal som to v rýchlosti, takže neručím že to 100% funguje, ale dúfam, že som ti princíp aspoň troška objasnil ;)


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.02.07
Prihlásený: 16.02.16
Príspevky: 876
Témy: 144 | 144
Napísal autor témyOffline : 26.11.2008 21:23 | Problem s header

juuj super! dik veeelmi pekne toto uz funguje :) :)


Offline

Skúsený užívateľ
Skúsený užívateľ
Problem s header

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1586
Témy: 96 | 96
NapísalOffline : 26.11.2008 22:09 | Problem s header

prípadne ešte otočiť poradie
<?php
ob_start();
session_start();
?>
pretože aj pri session_start ti môže vzniknúť chyba a poslať error message a tým zmariť tvoje úsilie :) Inak žiadne výhrady


_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.02.07
Prihlásený: 16.02.16
Príspevky: 876
Témy: 144 | 144
Napísal autor témyOffline : 27.11.2008 16:19 | Problem s header

vsetko ide ako ma :) mozte lock a dik


 [ Príspevkov: 20 ] 


Problem s header



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

neobvyklý header problém

v PHP, ASP

15

488

21.04.2010 15:51

Feko

V tomto fóre nie sú ďalšie neprečítané témy.

Header(location:Problem)

v PHP, ASP

15

824

18.08.2011 15:05

camo

V tomto fóre nie sú ďalšie neprečítané témy.

problem s header 404

v PHP, ASP

7

661

07.10.2011 16:52

1daemon1

V tomto fóre nie sú ďalšie neprečítané témy.

Problem s Header (Content-Type)

v PHP, ASP

10

326

24.10.2011 17:46

Blackshadow

V tomto fóre nie sú ďalšie neprečítané témy.

Header

v JavaScript, VBScript, Ajax

2

614

09.08.2008 22:56

IntelSK

V tomto fóre nie sú ďalšie neprečítané témy.

Header

v Redakčné systémy

6

645

11.11.2006 22:36

Exodus

V tomto fóre nie sú ďalšie neprečítané témy.

HEADER

v PHP, ASP

2

501

10.09.2007 15:07

rockerland

V tomto fóre nie sú ďalšie neprečítané témy.

Header()

v PHP, ASP

2

523

14.12.2007 12:29

tatysp

V tomto fóre nie sú ďalšie neprečítané témy.

WP header

v Redakčné systémy

4

199

01.03.2016 18:02

Pavolbablik

V tomto fóre nie sú ďalšie neprečítané témy.

css header

v HTML, XHTML, XML, CSS

8

414

21.11.2008 11:22

kaidžas

V tomto fóre nie sú ďalšie neprečítané témy.

header(location: );

v PHP, ASP

4

500

02.09.2009 20:58

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

header location

v PHP, ASP

7

252

18.08.2010 1:35

Blackshadow

V tomto fóre nie sú ďalšie neprečítané témy.

aký header

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Webdesign

37

1383

01.02.2008 0:05

walther

V tomto fóre nie sú ďalšie neprečítané témy.

HTTP Header

v PHP, ASP

2

342

07.09.2009 16:24

d0.0b

V tomto fóre nie sú ďalšie neprečítané témy.

front panel header

v AMD čipové sady

3

355

19.04.2011 8:04

brmbo

V tomto fóre nie sú ďalšie neprečítané témy.

Curl zistenie HEADER

v PHP, ASP

1

232

15.11.2009 19:29

chrono



© 2005 - 2017 PCforum, edited by JanoF