Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]System logowania., Problem ze sprawdzaniem kiedy zalogowany a kiedy nie.
Micky
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.07.2009

Ostrzeżenie: (0%)
-----


Męczę się na tym od dwóch dni.
funkcje które zaraz zacytuję, są przepisane z książki "PHP5 i MySQL Biblia" (cz. 5, rozdział 44)
Mam na myśli plik login_funcs.inc
Jest to zestaw funkcji umożliwiających zbudowanie systemu logowania i wylogowywania opartego na cookie.
Użytkownicy są zapisani w bazie danych, lecz nie będę robił systemu rejestracji, ponieważ dostęp jest potrzebny tylko dla dwóch osób.
Poniżej mój plik login_funcs.inc
  1. <span class="kw3">mysql_close</span><span class="br0">(</span><span class="re0">$dbh</span><span class="br0">)</span><span class="sy0">;</span> </div><li class="li1"><div class="de1">    <span class="br0">}</span></div><li class="li2"><div class="de2"><span class="br0">}</span></div><li class="li1"><div class="de1"> </div><li class="li2"><div class="de2"><span class="kw2">function</span> user_logout<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span></div><li class="li1"><div class="de1">    <span class="kw3">setcookie</span><span class="br0">(</span><span class="st0">'user_name'</span><span class="sy0">,</span> <span class="st0">''</span><span class="sy0">,</span> <span class="br0">(</span><span class="kw3">time</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">+</span><span class="nu0">2592000</span><span class="br0">)</span><span class="sy0">,</span> <span class="st0">'/'</span><span class="sy0">,</span> <span class="st0">''</span><span class="sy0">,</span> 0<span class="br0">)</span><span class="sy0">;</span></div><li class="li2"><div class="de2">    <span class="kw3">setcookie</span><span class="br0">(</span><span class="st0">'id_hash'</span><span class="sy0">,</span> <span class="st0">''</span><span class="sy0">,</span> <span class="br0">(</span><span class="kw3">time</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">+</span><span class="nu0">2592000</span><span class="br0">)</span><span class="sy0">,</span> <span class="st0">'/'</span><span class="sy0">,</span> <span class="st0">''</span><span class="sy0">,</span> 0<span class="br0">)</span><span class="sy0">;</span></div><li class="li1"><div class="de1">   </div><li class="li2"><div class="de2"><span class="br0">}</span></div><li class="li1"><div class="de1"> </div><li class="li2"><div class="de2"><span class="kw2">function</span> user_set_tokens<span class="br0">(</span><span class="re0">$user_name_in</span><span class="br0">)</span> <span class="br0">{</span></div><li class="li1"><div class="de1">    <span class="kw3">global</span> <span class="re0">$supersecret_hash_padding</span><span class="sy0">;</span></div><li class="li2"><div class="de2">    <span class="kw1">if</span> <span class="br0">(</span><span class="sy0">!</span><span class="re0">$user_name_in</span><span class="br0">)</span> <span class="br0">{</span></div><li class="li1"><div class="de1">        <span class="re0">$feedback</span> <span class="sy0">=</span> <span class="st0">'<div class="error">Błąd - Brak nazwy użytkownika</div>'</span><span class="sy0">;</span></div><li class="li2"><div class="de2">        <span class="kw1">return</span> <span class="kw2">false</span><span class="sy0">;</span></div><li class="li1"><div class="de1">    <span class="br0">}</span></div><li class="li2"><div class="de2">    <span class="re0">$user_name</span> <span class="sy0">=</span> <span class="kw3">strtolower</span><span class="br0">(</span><span class="re0">$user_name_in</span><span class="br0">)</span><span class="sy0">;</span></div><li class="li1"><div class="de1">    <span class="re0">$id_hash</span> <span class="sy0">=</span> <span class="kw3">md5</span><span class="br0">(</span><span class="re0">$user_name</span><span class="sy0">.</span><span class="re0">$supersecret_hash_padding</span><span class="br0">)</span><span class="sy0">;</span></div><li class="li2"><div class="de2">    <span class="kw3">setcookie</span><span class="br0">(</span><span class="st0">'user_name'</span><span class="sy0">,</span> <span class="re0">$user_name</span><span class="sy0">,</span> <span class="br0">(</span><span class="kw3">time</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">+</span><span class="nu0">2592000</span><span class="br0">)</span><span class="sy0">,</span> <span class="st0">'/'</span><span class="sy0">,</span> <span class="st0">''</span><span class="sy0">,</span> 0<span class="br0">)</span><span class="sy0">;</span></div><li class="li1"><div class="de1">    <span class="kw3">setcookie</span><span class="br0">(</span><span class="st0">'id_hash'</span><span class="sy0">,</span> <span class="re0">$id_hash</span><span class="sy0">,</span> <span class="br0">(</span><span class="kw3">time</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">+</span><span class="nu0">2592000</span><span class="br0">)</span><span class="sy0">,</span> <span class="st0">'/'</span><span class="sy0">,</span> <span class="st0">''</span><span class="sy0">,</span> 0<span class="br0">)</span><span class="sy0">;</span></div><li class="li2"><div class="de2"><span class="br0">}</span></div><li class="li1"><div class="de1"><span class="sy1">?></span></div>
  2. [/list]<div class="foot">[PHP] okens<span class="br0">(</span><span class="re0">$user_name</span><span class="br0">)</span><span class="sy0">;</span></div><li class="li2"><div class="de2">                <span class="kw1">return</span> <span class="nu0">1</span><span class="sy0">;</span></div><li class="li1"><div class="de1">            <span class="br0">}</span> <span class="kw1">else</span> <span class="br0">{</span></div><li class="li2"><div class="de2">                <span class="re0">$feedback</span> <span class="sy0">=</span> <span class="st0">'<div class="error">Błąd - Konto nie zostało jeszcze potwierdzone</div>'</span><span class="sy0">;</span></div><li class="li1"><div class="de1">                <span class="kw1">return</span> <span class="re0">$feedback</span><span class="sy0">;</span></div><li class="li2"><div class="de2">            <span class="br0">}</span></div><li class="li1"><div class="de1">        <span class="br0">}</span></div><li class="li2"><div class="de2">        <span class="kw3">mysql_close</span><span class="br0">(</span><span class="re0">$dbh</span><span class="br0">)</span><span class="sy0">;</span> </div><li class="li1"><div class="de1">    <span class="br0">}</span></div><li class="li2"><div class="de2"><span class="br0">}</span></div><li class="li1"><div class="de1"> </div><li class="li2"><div class="de2"><span class="kw2">function</span> user_logout<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span></div><li class="li1"><div class="de1">    <span class="kw3">setcookie</span><span class="br0">(</span><span class="st0">'user_name'</span><span class="sy0">,</span> <span class="st0">''</span><span class="sy0">,</span> <span class="br0">(</span><span class="kw3">time</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">+</span><span class="nu0">2592000</span><span class="br0">)</span><span class="sy0">,</span> <span class="st0">'/'</span><span class="sy0">,</span> <span class="st0">''</span><span class="sy0">,</span> 0<span class="br0">)</span><span class="sy0">;</span></div><li class="li2"><div class="de2">    <span class="kw3">setcookie</span><span class="br0">(</span><span class="st0">'id_hash'</span><span class="sy0">,</span> <span class="st0">''</span><span class="sy0">,</span> <span class="br0">(</span><span class="kw3">time</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">+</span><span class="nu0">2592000</span><span class="br0">)</span><span class="sy0">,</span> <span class="st0">'/'</span><span class="sy0">,</span> <span class="st0">''</span><span class="sy0">,</span> 0<span class="br0">)</span><span class="sy0">;</span></div><li class="li1"><div class="de1">   </div><li class="li2"><div class="de2"><span class="br0">}</span></div><li class="li1"><div class="de1"> </div><li class="li2"><div class="de2"><span class="kw2">function</span> user_set_tokens<span class="br0">(</span><span class="re0">$user_name_in</span><span class="br0">)</span> <span class="br0">{</span></div><li class="li1"><div class="de1">    <span class="kw3">global</span> <span class="re0">$supersecret_hash_padding</span><span class="sy0">;</span></div><li class="li2"><div class="de2">    <span class="kw1">if</span> <span class="br0">(</span><span class="sy0">!</span><span class="re0">$user_name_in</span><span class="br0">)</span> <span class="br0">{</span></div><li class="li1"><div class="de1">        <span class="re0">$feedback</span> <span class="sy0">=</span> <span class="st0">'<div class="error">Błąd - Brak nazwy użytkownika</div>'</span><span class="sy0">;</span></div><li class="li2"><div class="de2">        <span class="kw1">return</span> <span class="kw2">false</span><span class="sy0">;</span></div><li class="li1"><div class="de1">    <span class="br0">}</span></div><li class="li2"><div class="de2">    <span class="re0">$user_name</span> <span class="sy0">=</span> <span class="kw3">strtolower</span><span class="br0">(</span><span class="re0">$user_name_in</span><span class="br0">)</span><span class="sy0">;</span></div><li class="li1"><div class="de1">    <span class="re0">$id_hash</span> <span class="sy0">=</span> <span class="kw3">md5</span><span class="br0">(</span><span class="re0">$user_name</span><span class="sy0">.</span><span class="re0">$supersecret_hash_padding</span><span class="br0">)</span><span class="sy0">;</span></div><li class="li2"><div class="de2">    <span class="kw3">setcookie</span><span class="br0">(</span><span class="st0">'user_name'</span><span class="sy0">,</span> <span class="re0">$user_name</span><span class="sy0">,</span> <span class="br0">(</span><span class="kw3">time</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">+</span><span class="nu0">2592000</span><span class="br0">)</span><span class="sy0">,</span> <span class="st0">'/'</span><span class="sy0">,</span> <span class="st0">''</span><span class="sy0">,</span> 0<span class="br0">)</span><span class="sy0">;</span></div><li class="li1"><div class="de1">    <span class="kw3">setcookie</span><span class="br0">(</span><span class="st0">'id_hash'</span><span class="sy0">,</span> <span class="re0">$id_hash</span><span class="sy0">,</span> <span class="br0">(</span><span class="kw3">time</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">+</span><span class="nu0">2592000</span><span class="br0">)</span><span class="sy0">,</span> <span class="st0">'/'</span><span class="sy0">,</span> <span class="st0">''</span><span class="sy0">,</span> 0<span class="br0">)</span><span class="sy0">;</span></div><li class="li2"><div class="de2"><span class="br0">}</span></div><li class="li1"><div class="de1"><span class="sy1">?></span></div>
  3. [/list]<div class="foot">[PHP] [topic=0]op na funkcję layout_top() gdyż zdefiniowałem w niej taką instrukcję(plik layout.php):
  4. <!--Geshi:145955:php--><pre class="php-brief" style="font-family:monospace;"><div class="head">[PHP] <a href='./Pobierz-Plik-145955.html, <span class="kw3">echo</span> </div><li class="li1"><div class="de1">    <span class="sy0"><</span>link rel<span class="sy0">=</span><span class="st0">"stylesheet"</span> type<span class="sy0">=</span><span class="st0">"text/css"</span> href<span class="sy0">=</span><span class="st0">"http://example.com/layout/layout_css.css"</span><span class="sy0">></span></div><li class="li2"><div class="de2"><span class="sy1">?></span></div>
  5. [/list]<div class="foot">[PHP] <a href='./Pobierz-Plik-145955.html_t0'>op<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span></div><li class="li2"><div class="de2">    <span class="kw1">include</span> <span class="br0">(</span><span class="st0">'login_funcs.inc'</span><span class="br0">)</span><span class="sy0">;</span></div><li class="li1"><div class="de1">    <span class="kw1">if</span> <span class="br0">(</span><span class="sy0">!</span>user_isloggedin<span class="br0">(</span><span class="br0">)</span><span class="br0">)</span> <span class="br0">{</span></div><li class="li2"><div class="de2">        <span class="re0">$login_link</span> <span class="sy0">=</span> <span class="st0">'http://example.com/login.php'</span><span class="sy0">;</span></div><li class="li1"><div class="de1">        <span class="re0">$login_word</span> <span class="sy0">=</span> <span class="st0">'Zaloguj'</span><span class="sy0">;</span></div><li class="li2"><div class="de2">    <span class="br0">}</span> <span class="kw1">else</span> <span class="br0">{</span></div><li class="li1"><div class="de1">        <span class="re0">$login_link</span> <span class="sy0">=</span> <span class="st0">'http://example.com/logout.php'</span><span class="sy0">;</span></div><li class="li2"><div class="de2">        <span class="re0">$login_word</span> <span class="sy0">=</span> <span class="st0">'Wyloguj '</span><span class="sy0">.</span><span class="re0">$_COOKIE</span><span class="br0">[</span><span class="st0">'user_name'</span><span class="br0">]</span><span class="sy0">;</span></div><li class="li1"><div class="de1">    <span class="br0">}</span></div><li class="li2"><div class="de2">    <span class="kw3">echo</span> </div><li class="li1"><div class="de1">    <span class="sy0"><</span>link rel<span class="sy0">=</span><span class="st0">"stylesheet"</span> type<span class="sy0">=</span><span class="st0">"text/css"</span> href<span class="sy0">=</span><span class="st0">"http://example.com/layout/layout_css.css"</span><span class="sy0">></span></div><li class="li2"><div class="de2"><span class="sy1">?></span></div>
  6. [/list]<div class="foot">[PHP] <a href='./Pobierz-Plik-145955.html,
  7. [/list]<div class="foot">[PHP] <a href='./Pobierz-Plik-145956.html, <a href='Plaintext-145956.html_t0'>op na funkcję layout_top() gdyż zdefiniowałem w niej taką instrukcję(plik layout.php):
  8. <!--Geshi:145955:php--><pre class="php-brief" style="font-family:monospace;"><div class="head">[PHP] <a href='./Pobierz-Plik-145955.html_t0'>okens<span class="br0">(</span><span class="re0">$user_name</span><span class="br0">)</span><span class="sy0">;</span></div><li class="li2"><div class="de2">                <span class="kw1">return</span> <span class="nu0">1</span><span class="sy0">;</span></div><li class="li1"><div class="de1">            <span class="br0">}</span> <span class="kw1">else</span> <span class="br0">{</span></div><li class="li2"><div class="de2">                <span class="re0">$feedback</span> <span class="sy0">=</span> <span class="st0">'<div class="error">Błąd - Konto nie zostało jeszcze potwierdzone</div>'</span><span class="sy0">;</span></div><li class="li1"><div class="de1">                <span class="kw1">return</span> <span class="re0">$feedback</span><span class="sy0">;</span></div><li class="li2"><div class="de2">            <span class="br0">}</span></div><li class="li1"><div class="de1">        <span class="br0">}</span></div><li class="li2"><div class="de2">        <span class="kw3">mysql_close</span><span class="br0">(</span><span class="re0">$dbh</span><span class="br0">)</span><span class="sy0">;</span> </div><li class="li1"><div class="de1">    <span class="br0">}</span></div><li class="li2"><div class="de2"><span class="br0">}</span></div><li class="li1"><div class="de1"> </div><li class="li2"><div class="de2"><span class="kw2">function</span> user_logout<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span></div><li class="li1"><div class="de1">    <span class="kw3">setcookie</span><span class="br0">(</span><span class="st0">'user_name'</span><span class="sy0">,</span> <span class="st0">''</span><span class="sy0">,</span> <span class="br0">(</span><span class="kw3">time</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">+</span><span class="nu0">2592000</span><span class="br0">)</span><span class="sy0">,</span> <span class="st0">'/'</span><span class="sy0">,</span> <span class="st0">''</span><span class="sy0">,</span> 0<span class="br0">)</span><span class="sy0">;</span></div><li class="li2"><div class="de2">    <span class="kw3">setcookie</span><span class="br0">(</span><span class="st0">'id_hash'</span><span class="sy0">,</span> <span class="st0">''</span><span class="sy0">,</span> <span class="br0">(</span><span class="kw3">time</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">+</span><span class="nu0">2592000</span><span class="br0">)</span><span class="sy0">,</span> <span class="st0">'/'</span><span class="sy0">,</span> <span class="st0">''</span><span class="sy0">,</span> 0<span class="br0">)</span><span class="sy0">;</span></div><li class="li1"><div class="de1">   </div><li class="li2"><div class="de2"><span class="br0">}</span></div><li class="li1"><div class="de1"> </div><li class="li2"><div class="de2"><span class="kw2">function</span> user_set_tokens<span class="br0">(</span><span class="re0">$user_name_in</span><span class="br0">)</span> <span class="br0">{</span></div><li class="li1"><div class="de1">    <span class="kw3">global</span> <span class="re0">$supersecret_hash_padding</span><span class="sy0">;</span></div><li class="li2"><div class="de2">    <span class="kw1">if</span> <span class="br0">(</span><span class="sy0">!</span><span class="re0">$user_name_in</span><span class="br0">)</span> <span class="br0">{</span></div><li class="li1"><div class="de1">        <span class="re0">$feedback</span> <span class="sy0">=</span> <span class="st0">'<div class="error">Błąd - Brak nazwy użytkownika</div>'</span><span class="sy0">;</span></div><li class="li2"><div class="de2">        <span class="kw1">return</span> <span class="kw2">false</span><span class="sy0">;</span></div><li class="li1"><div class="de1">    <span class="br0">}</span></div><li class="li2"><div class="de2">    <span class="re0">$user_name</span> <span class="sy0">=</span> <span class="kw3">strtolower</span><span class="br0">(</span><span class="re0">$user_name_in</span><span class="br0">)</span><span class="sy0">;</span></div><li class="li1"><div class="de1">    <span class="re0">$id_hash</span> <span class="sy0">=</span> <span class="kw3">md5</span><span class="br0">(</span><span class="re0">$user_name</span><span class="sy0">.</span><span class="re0">$supersecret_hash_padding</span><span class="br0">)</span><span class="sy0">;</span></div><li class="li2"><div class="de2">    <span class="kw3">setcookie</span><span class="br0">(</span><span class="st0">'user_name'</span><span class="sy0">,</span> <span class="re0">$user_name</span><span class="sy0">,</span> <span class="br0">(</span><span class="kw3">time</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">+</span><span class="nu0">2592000</span><span class="br0">)</span><span class="sy0">,</span> <span class="st0">'/'</span><span class="sy0">,</span> <span class="st0">''</span><span class="sy0">,</span> 0<span class="br0">)</span><span class="sy0">;</span></div><li class="li1"><div class="de1">    <span class="kw3">setcookie</span><span class="br0">(</span><span class="st0">'id_hash'</span><span class="sy0">,</span> <span class="re0">$id_hash</span><span class="sy0">,</span> <span class="br0">(</span><span class="kw3">time</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">+</span><span class="nu0">2592000</span><span class="br0">)</span><span class="sy0">,</span> <span class="st0">'/'</span><span class="sy0">,</span> <span class="st0">''</span><span class="sy0">,</span> 0<span class="br0">)</span><span class="sy0">;</span></div><li class="li2"><div class="de2"><span class="br0">}</span></div><li class="li1"><div class="de1"><span class="sy1">?></span></div>
  9. [/list]<div class="foot">[PHP] [topic=0]op na funkcję layout_top() gdyż zdefiniowałem w niej taką instrukcję(plik layout.php):
  10. <!--Geshi:145955:php--><pre class="php-brief" style="font-family:monospace;"><div class="head">[PHP] <a href='./Pobierz-Plik-145955.html, <span class="kw3">echo</span> </div><li class="li1"><div class="de1">    <span class="sy0"><</span>link rel<span class="sy0">=</span><span class="st0">"stylesheet"</span> type<span class="sy0">=</span><span class="st0">"text/css"</span> href<span class="sy0">=</span><span class="st0">"http://example.com/layout/layout_css.css"</span><span class="sy0">></span></div><li class="li2"><div class="de2"><span class="sy1">?></span></div>
  11. [/list]<div class="foot">[PHP] <a href='./Pobierz-Plik-145955.html_t0'>op<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span></div><li class="li2"><div class="de2">    <span class="kw1">include</span> <span class="br0">(</span><span class="st0">'login_funcs.inc'</span><span class="br0">)</span><span class="sy0">;</span></div><li class="li1"><div class="de1">    <span class="kw1">if</span> <span class="br0">(</span><span class="sy0">!</span>user_isloggedin<span class="br0">(</span><span class="br0">)</span><span class="br0">)</span> <span class="br0">{</span></div><li class="li2"><div class="de2">        <span class="re0">$login_link</span> <span class="sy0">=</span> <span class="st0">'http://example.com/login.php'</span><span class="sy0">;</span></div><li class="li1"><div class="de1">        <span class="re0">$login_word</span> <span class="sy0">=</span> <span class="st0">'Zaloguj'</span><span class="sy0">;</span></div><li class="li2"><div class="de2">    <span class="br0">}</span> <span class="kw1">else</span> <span class="br0">{</span></div><li class="li1"><div class="de1">        <span class="re0">$login_link</span> <span class="sy0">=</span> <span class="st0">'http://example.com/logout.php'</span><span class="sy0">;</span></div><li class="li2"><div class="de2">        <span class="re0">$login_word</span> <span class="sy0">=</span> <span class="st0">'Wyloguj '</span><span class="sy0">.</span><span class="re0">$_COOKIE</span><span class="br0">[</span><span class="st0">'user_name'</span><span class="br0">]</span><span class="sy0">;</span></div><li class="li1"><div class="de1">    <span class="br0">}</span></div><li class="li2"><div class="de2">    <span class="kw3">echo</span> </div><li class="li1"><div class="de1">    <span class="sy0"><</span>link rel<span class="sy0">=</span><span class="st0">"stylesheet"</span> type<span class="sy0">=</span><span class="st0">"text/css"</span> href<span class="sy0">=</span><span class="st0">"http://example.com/layout/layout_css.css"</span><span class="sy0">></span></div><li class="li2"><div class="de2"><span class="sy1">?></span></div>
  12. [/list]<div class="foot">[PHP] <a href='./Pobierz-Plik-145955.html,
  13. [/list]<div class="foot">[PHP] <a href='./Pobierz-Plik-145956.html, <a href='Plaintext-145956.html </div></pre><!--/Geshi:145956:php-->
  14. Dalej mam wypisany w html-u cały formularz logowania.
  15. Po pomyślym zalogowaniu zostaję przeniesiony zgodnie ze skryptem na stronę główną.
  16. Jednak, na stronie głównej pokazuje mi się w layoucie napis "Zaloguj" a nie "Wyloguj" i moja nazwa użytkownika.
  17. Kiedy kliknę to "Zaloguj" trafiam na stronę logowania, gdzie w layoucie pojawia się napis "Wyloguj" i moja nazwa urzytkownika. Jeżeli zaś na stronie logowania kliknę "Wyloguj" przenoszę się do strony logout.php:
  18. [php]
  19. <?php
  20. include './layout.php';
  21. require('./login_funcs.inc');
  22. if ($LOGGED_IN == user_isloggedin()) {
  23.    user_logout();
  24.    $_COOKIE['user_name'] = '';
  25.    unset($LOGGED_IN);
  26.    header ("Location: index.php");
  27. }
  28. ?>

Jednak nie zostaję z niej przeniesiony na stronę główną tylko pokazuje mi się "Nie jesteś zalogowany", ponieważ w pliku logout.php poniżej jest taki text przekazywany przez echo.

Czyli istny cyrk i za bardzo nie potrafię zrozumieć logiki tak różnych wyników funkcji layout_top()

Ten post edytował Micky 22.07.2009, 09:44:43
Go to the top of the page
+Quote Post
ayeo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


Witam!

Może to Ci pomoże (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
http://helion.pl/erraty.htm

Pozdrawiam!
Go to the top of the page
+Quote Post
Micky
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.07.2009

Ostrzeżenie: (0%)
-----


Dzięki ciekawe to. Jednakże nie znaleziono dotychczas błędów tych stronach z których pochodzą te funkcje.
Ciągle próbuję, eksperymentuję i czekam na odpowiedzi.
Go to the top of the page
+Quote Post
Daiquiri
post
Post #4





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




  1. <?php
  2.    
  3. ?>


Tak swoją drogą zabrakło Ci "" czy to błąd przy wklejaniu tutaj (layout.php)?


Jeszcze jedno: skoro dopiero po ponownym wejściu na stronę logowania pojawia Ci się "Wyloguj" to: albo dopiero wtedy zostaje spełniony warunek albo tylko tam masz jego wyświetlenie. Warunek zostaje spełniony po ponownym wejściu bo jesteś już zalogowany.

Ten post edytował Daiquiri 22.07.2009, 10:27:03
Go to the top of the page
+Quote Post
Asmox
post
Post #5





Grupa: Zarejestrowani
Postów: 359
Pomógł: 12
Dołączył: 16.01.2009

Ostrzeżenie: (0%)
-----


Słuchaj Micky:
Jeżeli nie jesteś pewny działania niektórych funkcji, próbuj dodawaj do nich instrukcje echo mówiące co akurat jest wykonywane np:
  1. <?php
  2. function is_userloggedin() {
  3. if(isset($userloggedin)) {
  4.  echo "zmienna $userloggedin ma wartość ustawioną na $userloggedin";
  5. }
  6. else {
  7.  echo "zmiennej $userloggedin nie przypisano wartości!";
  8. }
  9. }
  10. ?>

Jeżeli wyświetla się ta druga wartość, sprawdź funkcje nadające wartości odpowiednim zmiennym, może nie działają tak jak powinny.
BTW.: (swoją drogą) rozwiązania stosowane w Twojej książce nie są zbyt elastyczne i wygodne. Osobiście proponuję Ci zainteresowanie się Obiektowo Orientowanym Programowaniem (OOP). Dzięki temu każdy egzemplarz użytkownika będzie miał gotowy zestaw funkcji do wykonania i nie będziesz musiał stosować globalnych zmiennych.
Jeżeli jednak wolisz na razie pozostać przy programowaniu strukturalnym, to jak już mówiłem wrzucaj do funkcji echa sprawdzające nadawanie wartości.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 18:39