Stránka: 1 z 1
| [ Príspevkov: 27 ] | |
| Autor | Správa |
|---|
Registrovaný: 07.08.09 Prihlásený: 07.03.21 Príspevky: 152 Témy: 34 | 34 |
Čavte, mám problém s jedným súborom php. Je v administračnej časti stránky. Prihlasovanie inak funguje úplne bez problémov, každá iná stránka, ktorá je v admin a má ten istý začiatok funguje. Tento súbor však neviem prečo ale stále odhási či už sa chcem vrátiť späť alebo vykonať nejakú činnosť cez súbor dalej.
Taký je začiatok toho súboru a vlastne aj všetkých, ktoré patria do adminu
Kód: ?php session_start(); if(!isset($_SESSION['id'])) { die('Neopravneny pristup'); } ?>
Neviete poradiť, kde môže byť chyba
|
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
správne predpokladám, že < sa stratilo len pri kopírovaní do fóra?
_________________ 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! |
|
Registrovaný: 07.08.09 Prihlásený: 07.03.21 Príspevky: 152 Témy: 34 | 34 |
hej.. začína normálne <?php 
|
|
Registrovaný: 29.10.09 Prihlásený: 06.02.11 Príspevky: 64 Témy: 25 | 25 Bydlisko: Kosice |
Ok a teraz pozrieme vsetci do kristalovej gule a vyvestime kde je problem  . Ten uryvok kodu je absolutne v poriadku. Daj sem cely skript
_________________ Apple Macbook White |
|
Registrovaný: 07.08.09 Prihlásený: 07.03.21 Príspevky: 152 Témy: 34 | 34 |
tu je asi ten skript čo robí problém
Kód: <?php include ("config.php"); mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD); mysql_select_db(SQL_DBNAME); ?> <form method="post" action="admin_novinky_edit.php"> <input type="text" size="3" input name="id" name="id"> <br><br> <input type="submit" name="Upravit"> </form> <br> <?php $novquery = "SELECT id, nazov, obsah, datum FROM novinky ORDER BY id DESC"; $novres1 = mysql_query($novquery); while(list ($id,$nazov, $obsah, $datum) = mysql_fetch_array($novres1)) { echo 'novinka id : '.$id. ' <b> ' .$nazov.'</b><br><br>'.$obsah.'<br>'.$datum.'<br>'; } ?>
je to pokračovanie v tom súbore.. čiže ten skript čo je úplne hore potom obyčajný html a nakoniec toto teraz som prišiel na to že len táto časť kodu asi pravdepodobne sposobuje chybu. bez nej ide normálne. Kód: $novres1 = mysql_query($novquery); while(list ($id,$nazov, $obsah, $datum) = mysql_fetch_array($novres1)) { echo 'novinka id : '.$id. ' <b> ' .$nazov.'</b><br><br>'.$obsah.'<br>'.$datum.'<br>'; } ?>
|
|
Registrovaný: 07.08.09 Prihlásený: 07.03.21 Príspevky: 152 Témy: 34 | 34 |
vie niekto poradiť prečo ten kód vyššie funguje bez tej časti od $novquery ... Funguje myslím, že ma neodhlási od admin konta ?
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
mozes sem dat kompletny kod skriptu, ktory ked spustis, tak ta odhlasi? lebo v riadkoch, ktore si oznacil za pravdepodobnu pricinu odhlasovania, nevidim nic nezvycajne, co by odhlasovanie mohlo sposobovat...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 07.08.09 Prihlásený: 07.03.21 Príspevky: 152 Témy: 34 | 34 |
on už je celý aj tu... najprv to session na začiatku potom kus html a jediny skript čo je v tom súbore je vlastne celý kod o tri príspevky vyššie. Tiež tomu nechápem len to je vlastne kopírovaný kód z iných súborv čo mám v admin konte.
ale dám celý ..
Kód: <?php session_start(); if(!isset($_SESSION['id'])) { die('Neopravneny pristup'); } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> Admin centrum </title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> <meta http-equiv="Content-Language" content="sk"> <meta http-equiv="cache-control" content="no-cache"> <link rel="stylesheet" href="css_style.css" type="text/css"> </head> <body> <div class='all'> <div class='nadpis'> Admin centrum </div> <?php include ("admin_menu.html"); ?> <div class='ground'> <div class='sklo'> <br> <h1>Prehlad noviniek</h1> <h2> <?php include ("config.php"); mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD); mysql_select_db(SQL_DBNAME); ?> <?php $novquery = "SELECT id, nazov, obsah, datum FROM novinky ORDER BY id DESC"; $novres1 = mysql_query($novquery); while(list ($id,$nazov, $obsah, $datum) = mysql_fetch_array($novres1)) { echo 'novinka id : '.$id. ' <b> ' .$nazov.'</b><br><br>'.$obsah.'<br>'.$datum.'<br><br>'; } ?> <form method="post" action="admin_novinky_edit.php"> <input type="text" size="3" input name="id" name="id"> <br><br> <input type="submit" name="Upravit"> </form> <br> </h2> </div> <div class='ground-bottom'> © 2009 M1rcO_o | Evolution cup </div> </div> <?php include ("panel_lavy.html") ?> </div> </body> </html>
úplne ľahký výber z databázy a formulár 
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
co znamena, ze ta "odhlasi"? vypise ti chybu "Neopravneny pristup"?
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 07.08.09 Prihlásený: 07.03.21 Príspevky: 152 Témy: 34 | 34 |
hej.. či už dám cez menu inú stránku alebo chcem odoslať ten formulár.
|
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
mysql_error po tej problemovej mysql_query si skusal? Pripadne vyechovat querinu?
_________________ 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! |
|
Registrovaný: 07.08.09 Prihlásený: 07.03.21 Príspevky: 152 Témy: 34 | 34 |
rooobertek : nepomohlo. stále skonč na tom že napíše neoprávnený prístup. Skúšal som aj print_r($_SESSION); vypísalo Array ( [id] => ) Neopravneny pristup
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | 6 |
no mna by skor zaujimalo ze ako premennu Kód: $_SESSION['id'] setujes a ze ci mas zapnute register_globals_on ...
|
|
Registrovaný: 07.08.09 Prihlásený: 07.03.21 Príspevky: 152 Témy: 34 | 34 |
juho : mám.. len problém je v tom že ten session funguje na ostatných stránkach v admin konte.. Len tu nie
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
M1rcO_o píše: Skúšal som aj print_r($_SESSION); vypísalo Array ( [id] => ) Neopravneny pristup
ak ti toto vypisalo, tak $_SESSION['id'] je NULL, a teda je logicke, ze ti to neprejde cez isset()  nastav si tam nejaku hodnotu a vsetko pojde bez problemov...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 07.08.09 Prihlásený: 07.03.21 Príspevky: 152 Témy: 34 | 34 |
hej ale všade inde takto funguje. len ta jedna stránka nie
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
tak niekde tu premennu nastavujes na NULL, inak si to vysvetlit neviem... ak mas zapnute register_globals, tak je asi vsetko jasne, ak je id v tabulke null
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 07.08.09 Prihlásený: 07.03.21 Príspevky: 152 Témy: 34 | 34 |
no skúsim pozrieť.. ale asi nikde som nenastavoval NULL
|
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
null nastavíš ani nevieš ako. Napríklad chceš z arrayu niečo získať a nepodarí sa. Vtedy vznikne warning a vráti null.
_________________ 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! |
|
Registrovaný: 07.08.09 Prihlásený: 07.03.21 Príspevky: 152 Témy: 34 | 34 |
aha.. to ma nenapadlo... A ako zabraniť vzniku warningu, ktorý vráti NULL ?
|
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
programovať poriadne
Ja mám na testovacom serveri nastavený error_reporting na E_ALL | E_STRICT a jakmile sa aj len najmenšia chybička opraví, riešim to. Nenechám ani jeden strict warning.
Keď už budeš mať zapnutý error_reporting, všetko zistíš sám, kde a aké chyby máš. Dosť vie pomôcť aj doplnok xdebug. Dá ti o chybe viac info.
Keď budeš riešiť takéto vecičky, vznikne ti omnoho viac ifov a kadejakého iného kódu, ale stojí to za to.
|
|
Registrovaný: 07.08.09 Prihlásený: 07.03.21 Príspevky: 152 Témy: 34 | 34 |
mne ukazuje chyby, preto nechápem prečo vyrazý iba neoprávnený prístup a žiadnú chybu
|
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
toš, to už je asi na hlbšiu analýzu, to takto cez fórum asi nepude
_________________ 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! |
|
Registrovaný: 07.08.09 Prihlásený: 07.03.21 Príspevky: 152 Témy: 34 | 34 |
ok.. skúsim sa na to ešte pozrieť ... zatial dik
|
|
Registrovaný: 07.08.09 Prihlásený: 07.03.21 Príspevky: 152 Témy: 34 | 34 |
sry že vyťahujem tému hore.. ale zas som urobil nejaký skript a opäť tá istá chyba... No ale asi som zistil asi čo bol problém... v session bolo toto : ($_SESSION['id'] .....a v selecte bol stlpec tiež s názvom "id" ... Inak je toto vysvetlenie správne ? mohlo to zapríčiniť chybu ?
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
vyplni si register_globals a nebudes mat problem...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 07.08.09 Prihlásený: 07.03.21 Príspevky: 152 Témy: 34 | 34 |
jj ale už to ide.. aspoň viem že nemám dávať názvy premenných rovnake 
|
|
Stránka: 1 z 1
| [ Príspevkov: 27 ] | |
|