Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 12 ] 
AutorSpráva
Offline

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

Registrovaný: 01.05.07
Prihlásený: 23.07.19
Príspevky: 420
Témy: 151
Príspevok NapísalOffline : 20.10.2010 10:22

ahojte,

začnem hned kodom, ten je takýto:
Kód:

//prihlasovanie k databaze, overovanie kolko riadkov s danym menom a heslom existuje; vsetko OK

if ($num_rows >= 1) {

//overovanie toho ci je uzivatelske konto uz aktivovane; mam dve premenne "referencna" a "kontrolna" ktore ked sa rovnaju tak je konto aktivovane

   if ($referencna==$kontrolna) {
   echo "Přihlášení proběhlo úspěšně! <br />
   ";
   echo "<a href='materialy.php'>"."Pokračujte k materiálům"."</a>";
   }
   else {

//toto else má v podstate rovnakú štruktúru ako to ktoré sposobuje problém  (to problematické je nižšie); toto je v pohode - skúšal som to a nebol s tým problém

   session_unset ();
   session_destroy ();
   echo "Váš účet není ověřen. Vykonejte ověření na této stránce" .    

   "<a href='aktivace.php'>" . "aktivace"."</a>";
   }

//tu sú záverečné príkazy "velkeho" IF

mysql_close($link);
die;
}

else {

//toto je problematicke else; ide o to, že sa tie príkazy session vykonajú vždy; proste ked mam v tomto else session unset a destroy; tak hoci sa prihlasim pod platnym menom a heslom, tak na stranke materialy.php sa mi ukaze ze nie som prihlaseny; a myslím si že je problem práve v tomto else, lebo ked odtial vymazem tieto sesison unset a destroy, tak po prihlaseni som naozaj prihlaseny - na materialy.php mi neukazuje ze nie som; problem je samozrejme v tom, že aj ked tam dam zle meno a heslo tak sa dostanem na stranke materialy.php k obsahu pre prihlasenych; a nejako nechapem prečo sa mi tieto session prikazy vyknaju hoci nechcem :-( a v tom prvom else to ide tak ako si to predstavujem

mysql_close($link);
session_unset ();
session_destroy ();
echo "Zadali jste nesprávný přihlašovací e-mail nebo heslo.
";
echo "Zkuste znovu";
exit;
}


no takže toľko; hmmm...teraz uvažujem že by som tam namiesto else dal dalšie IF s podmienkou ze number of rows < 1; to by asi šlo; avšak aj tak tu už túto tému nechám lebo nechápem prečo to nefunguje s else;

vdaka každému kto sa zapojí


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 20.10.2010 10:30

mozes mi prosim vysvetlit naco tam ten die mas ?


Offline

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

Registrovaný: 01.05.07
Prihlásený: 23.07.19
Príspevky: 420
Témy: 151
Príspevok Napísal autor témyOffline : 20.10.2010 10:38

ono je to asi zbytočné čo? lebo sa vykoná if a else sa už nemá vykonať; a keby bolo niečo za tou konštrukciou ešte tak by to tam malo nejaké opodstatnenie asi; a keby som dal die do ifu tak by som si vlastne znefunkcnil dalsie príkazy za tym; a to die by som mal presunút do časti else pri neaktivovanom účte; no ja som tam to die dával tak nejak automaticky, som si hovoril že tým nič nepokazím, ale nejak som nad tým neuvažoval;

dík za podnet


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 20.10.2010 10:46

najprv skus napisat naco vlastne ten die sluzi ?


Offline

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

Registrovaný: 01.05.07
Prihlásený: 23.07.19
Príspevky: 420
Témy: 151
Príspevok Napísal autor témyOffline : 20.10.2010 12:44

no die slúži na ukončenie skriptu; ked dojde vykonávanie skriptu k die, tak sa už nevykoná žiadny další príkaz aj ked by sa normálne vykonal; no a slúži to na ukončenie skriptu pri chybách hlavne - tj. ked napr uživatel zadá zle heslo tak aby skript skončil po napísaní odkazu nech skúsi uživatel prihlasovanie znova; keby tam die nebolo tak by sa mohlo stat ze by sa vykonala čast skriptu niekde za týmto úsekom a došlo by napriklad k zobrazeniu aj iných hlášok skriptu, prípadne obsahu pre prihlásených - záleži na tom ako to ma kto spravené


Offline

Správca fóra
Správca fóra
Vykoná sa mi aj else časť hoci sa už vykonala if - die mám

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 20.10.2010 13:25

na co tam mas vlastne riadky so session_destroy(), ukladas nieco do session pred prihlasenim?







_________________
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
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 20.10.2010 13:34

hm, pouzitie die a exit v tvojom pripade nema zmysel .
a ktory else sa ti vykona ? hlavny alebo ten vnoreny ?


Offline

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

Registrovaný: 01.05.07
Prihlásený: 23.07.19
Príspevky: 420
Témy: 151
Príspevok Napísal autor témyOffline : 20.10.2010 14:02

áno, ukladám: vyzerá to takto:

Kód:
session_start();
$_SESSION ['logged'] = 1;


spravil som to tak lebo mi to vyhadzovalo chybu ked som mal session_start pod hlavičkou stránky; tak som to dal na začiatok s tým že potrebujem aby sa to zrušilo ak nakoniec prihlasovanie neprebehne, alebo sa nepripojim k databaze...


inak teda coldak: vykona sa mi ten hlavny; ale on sa vlastne asi ani nevykona, žeby sa vykonal cely, lebo tie echa sa mi nikde neukazujú; ale tie sessions sa spravia asi, lebo ked to tam mám tak mi to prihlásenie nefunguje - nedostanem sa do sekcie pre užívatelov; ked to vymažem (pritom som nechal tie unset a destroy ako pri neúspechu práce s databázou, tak aj pri tom vnorenom else) tak to funguje - ale ako je vidno z toho kodu, tak ak to vymažem tak sa zase dostanem do uzivatelskej sekcie aj bez zadania existujuceho mena a hesla


Offline

Správca fóra
Správca fóra
Vykoná sa mi aj else časť hoci sa už vykonala if - die mám

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 20.10.2010 14:07

ked zadas spravne udaje, vypise ti, ze si sa uspesne prihlasil (Přihlášení proběhlo úspěšně!)? lebo mne sa zda, ze do toho if-u sa ani nedostanes - v tom pripade je problem v kode pred overovanim $num_rows







_________________
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
Offline

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

Registrovaný: 01.05.07
Prihlásený: 23.07.19
Príspevky: 420
Témy: 151
Príspevok Napísal autor témyOffline : 20.10.2010 14:31

áno. vypíše mi že to prebehlo úspešne a ukáže mi tam ten odkaz na materialy.php; kliknem a vidím to čo by mal vidiet užívatel;;; ked tam hodim nejakú blbost tak mi zase hodi hlasku ze je to nespravne meno alebo heslo; avšak ked vymazem to unset a destroy z problematického else, tak iba hodim do adresoveho riadku /materialy.php a vidím to čo má vidiet iba užívatel


Offline

Správca fóra
Správca fóra
Vykoná sa mi aj else časť hoci sa už vykonala if - die mám

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 20.10.2010 14:51

na tvojom mieste by som $_SESSION['logged'] nastavoval, az ked overis spravnost prihlasovacich udalov a destroy pouzival iba pri odhlaseni... vyskusaj to tak, ci ti to bude fungovat

nieco taketo napr:
Kód:
<?php
session_start();

if(isset($_SESSION['logged'])) {
   header("Location: materialy.php");
   exit();
}

//...
$res = mysql_query("...");

if(mysql_num_rows($res) == 1)
{
   if($referencna == $kontrolna)
   {
      $_SESSION['logged'] = 1;
      echo 'Přihlášení proběhlo úspěšně! <br /><a href="materialy.php">Pokračujte k materiálům</a>';
   }
   else
   {
      echo 'Váš účet není ověřen. Vykonejte ověření na této stránce <a href="aktivace.php">aktivace</a>';
   }
}
else
{
   echo 'Zadali jste nesprávný přihlašovací e-mail nebo heslo. Zkuste znovu.';
}
?>







_________________
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
Offline

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

Registrovaný: 01.05.07
Prihlásený: 23.07.19
Príspevky: 420
Témy: 151
Príspevok Napísal autor témyOffline : 20.10.2010 20:45

stenley, ďakujem Ti; funguje to; ďakujem aj za radu so session; ja som nastavil session na začiatku lebo mi to vyhadzovalo chybu ked som mal session_start až po overení údajov; no a podlahol som dojmu, že musím aj session nastavit na začiatku; ešte raz ďakujem


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


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. IE orezava obrazky ktore pretekaju hoci mam nastaveny overfl

v HTML, XHTML, XML, CSS

4

386

10.04.2010 11:37

davider137 Zobrazenie posledných príspevkov

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

v Predám

7

357

05.11.2014 13:29

eskal Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Skript sa vykona iba na mojej dómene.

v PHP, ASP

10

613

13.03.2010 15:01

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Problem pri zapnuti hoci akej hry - pc sa restartuje

v nVidia grafické karty

9

828

27.11.2007 13:12

Spirit Zobrazenie posledných príspevkov

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

v PHP, ASP

7

549

23.02.2010 20:05

neXor Zobrazenie posledných príspevkov

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

v PHP, ASP

2

463

02.08.2010 21:32

coldak Zobrazenie posledných príspevkov

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

v Notebooky a netbooky

4

557

11.02.2010 19:03

tralfamadorčan Zobrazenie posledných príspevkov

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

v PHP, ASP

6

388

19.04.2008 13:40

Broko71 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Dark Souls - Prepare To Die Edition PC

v Kúpim

0

227

20.06.2017 10:28

Symfonius Zobrazenie posledných príspevkov

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

v Assembler, C, C++, Pascal, Java

8

636

08.02.2009 16:51

Watik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Else a If vo foreach()

v PHP, ASP

3

435

22.04.2011 19:12

Blackshadow Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. P: Direct die vodny blok na s.1700

v Predám

0

121

07.05.2023 11:05

ericc64 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kratky zapis pre IF/ELSE podmienku - NEFUNGUJE

v PHP, ASP

10

694

04.04.2008 11:25

mondzo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. P: Intel Core i9-14900K ( SP99 ) + Supercool Direct Die GEN13

v Predám

0

185

12.11.2023 10:58

ericc64 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. kúpim Dark Souls Prepare to Die Edition do 20€ (Steam)

v Kúpim

0

365

19.02.2019 10:56

Deadroth Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. I/P: HITMAN™: THE COMPLETE FIRST SEASON / 7 Days to Die

v Predám

12

545

03.11.2018 8:02

kllr007 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