Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]System logowania.
Forum PHP.pl > Forum > Przedszkole
Micky
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()
ayeo
Witam!

Może to Ci pomoże biggrin.gif
http://helion.pl/erraty.htm

Pozdrawiam!
Micky
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.
Daiquiri
  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.
Asmox
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.