Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ 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
Príspevok NapísalOffline : 24.11.2008 21:11

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: 1752
Témy: 17
Príspevok NapísalOffline : 24.11.2008 21:16

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: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 24.11.2008 21:17

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
Príspevok Napísal autor témyOffline : 24.11.2008 21:22

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
Príspevok Napísal autor témyOffline : 25.11.2008 18:00

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: 3984
Témy: 96
Príspevok NapísalOffline : 25.11.2008 19:37

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: 1585
Témy: 96
Príspevok NapísalOffline : 25.11.2008 20:06

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
Príspevok Napísal autor témyOffline : 26.11.2008 19:20

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: 1585
Témy: 96
Príspevok NapísalOffline : 26.11.2008 19:34

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
Príspevok Napísal autor témyOffline : 26.11.2008 20:07

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: 1585
Témy: 96
Príspevok NapísalOffline : 26.11.2008 20:12

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
Príspevok Napísal autor témyOffline : 26.11.2008 20:15

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: 1585
Témy: 96
Príspevok NapísalOffline : 26.11.2008 20:17

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
Príspevok Napísal autor témyOffline : 26.11.2008 20:30

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: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 26.11.2008 20:30

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
Príspevok Napísal autor témyOffline : 26.11.2008 20:40

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: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 26.11.2008 21:03

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
Príspevok Napísal autor témyOffline : 26.11.2008 21:23

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: 1585
Témy: 96
Príspevok NapísalOffline : 26.11.2008 22:09

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
Príspevok Napísal autor témyOffline : 27.11.2008 16:19

vsetko ide ako ma :) mozte lock a dik


Odpovedať na tému [ Príspevkov: 20 ] 


Podobné témy

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

v PHP, ASP

15

1057

18.08.2011 15:05

camo Zobrazenie posledných príspevkov

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

v PHP, ASP

15

707

21.04.2010 15:51

Feko Zobrazenie posledných príspevkov

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

v PHP, ASP

7

853

07.10.2011 16:52

1daemon1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Problem s Header (Content-Type)

v PHP, ASP

10

562

24.10.2011 17:46

Blackshadow Zobrazenie posledných príspevkov

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

v Redakčné systémy

6

902

11.11.2006 22:36

Exodus Zobrazenie posledných príspevkov

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

v PHP, ASP

2

754

14.12.2007 12:29

tatysp Zobrazenie posledných príspevkov

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

v JavaScript, VBScript, Ajax

2

840

09.08.2008 22:56

IntelSK Zobrazenie posledných príspevkov

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

v PHP, ASP

2

695

10.09.2007 15:07

rockerland Zobrazenie posledných príspevkov

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

v PHP, ASP

7

480

18.08.2010 1:35

Blackshadow Zobrazenie posledných príspevkov

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

v HTML, XHTML, XML, CSS

8

632

21.11.2008 11:22

kaidžas Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. header(location: );

v PHP, ASP

4

752

02.09.2009 20:58

Ďuri Zobrazenie posledných príspevkov

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

v HTML, XHTML, XML, CSS

3

585

03.12.2021 12:29

misiak171 Zobrazenie posledných príspevkov

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

v Redakčné systémy

4

484

01.03.2016 18:02

Pavolbablik Zobrazenie posledných príspevkov

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

v PHP, ASP

2

565

07.09.2009 16:24

d0.0b Zobrazenie posledných príspevkov

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

1810

01.02.2008 0:05

walther Zobrazenie posledných príspevkov

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

v PHP, ASP

1

397

15.11.2009 19:29

chrono Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra