Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Co zrobić żeby COOKIES były widoczne, Dołączona strona nie widzi cookies
inusia
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 30.05.2005

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


Problem wygląda następująco:

Wyswietlam formularz logowania. Dane z formularza pobieram metodą post i sprawdzam czy podane dane identyfikacyjne znajduja sie w bazie. Weryfikuję czy uzytkownik jest administratorem czy nie. Ustawiam odpowiednio cookies dla użytkownika zalogowanego niezależnie od uprawnień oraz drugie cookie dla odróżnienia admina od nie_admina.

Mam drugi plik w którym istnieje formularz dodawania nowego przepisu kulinarnego do bazy i wrzucający podany obrazek jedzonka na serwer. Chcę aby ten formularz był dostępny tylko jesli uzytkownik jest zalogowany. Jesli do formularza probuje sie dostac ktos niezalogowany wyswietla sie stosowny komunikat.

Drugi plik dolączam do pierwszego za pomocą include "dodaj_przepis.php" w miejscu weryfikacji czy uzytkownik jest administratorem czy zwyklym zalogowanym uzytkownikiem.

Loguje sie wiec, z bazy pobierane sa dane, wyswietla mi moj login i grupe uzytkownikow do jakiej naleze (administratorzy lub inni uzytkownicy) ale dolaczany formularz dodawania rzepisu zawsze wyswietla komunikat o tym, ze jestem niezalogowana. Jak sobie z tym poradzic? Dodam ze przy wykorzystaniu sesji sytuacja sie powtarza.


1. plik logowanie.php zawiera:

  1. <?
  2. if ($zaloguj)
  3. {
  4.    $login = ($_POST['user']);
  5.    $haslo = ($_POST['password']);
  6.    $polacz = mysql_connect (&#092;"localhost\", \"uzyt\", \"haselko\") or die(\"Blad przy polaczeniu do bazy danych\");
  7.    if ( !empty ($polacz) )
  8.    {
  9.             if ( mysql_select_db (&#092;"moja_baza\", $polacz) == True )
  10.             {
  11.                 $get_password = &#092;"SELECT usersid FROM users WHERE login='$user' AND password=sha1('$haslo')\";
  12.                 $zapytanie = mysql_query ($get_password, $polacz) or die (&#092;"Blad sprawdzenia tozsamosci uzytkownika\");
  13.                   $num = mysql_num_rows($zapytanie);
  14.                 if($num == 1)
  15.                 {
  16.                     echo(&#092;"Witaj: $user \");
  17.                     setcookie(&#092;"login\",\"ZALOGOWANY\", time()+900, '/');
  18.                     $get_admin = &#092;"SELECT usersid FROM users WHERE login='$user' AND password=sha1('$haslo') AND czyadmin='y'\";
  19.                     $zapytanie2 = mysql_query ($get_admin, $polacz) or die (&#092;"Błąd zapytania do bazy\");
  20.                     $num2 = mysql_num_rows ($zapytanie2);
  21.                     if ($num2 == 1)
  22.                     {
  23.                         echo (&#092;"Należysz do grupy ADMINISTRATORÓW<br>\");
  24.                         setcookie(&#092;"kto\",\"admin\", time()+900, '/');
  25.                         include &#092;"panel_admina.php\";
  26.                     }
  27.                     elseif($num2 == 0)
  28.                     {
  29.                        echo(&#092;"Należysz do grupy: ZAREJESTROWANYCH UŻYTKOWNIKÓW<BR>\");
  30.                        setcookie(&#092;"kto\",\"user\", time()+900, '/');
  31.                        include &#092;"dodaj_przepis.php\";
  32.                     };
  33.                 }
  34.                 else  echo('Wpisałes niepoprawne dane użytkownika');
  35.         }
  36.         else
  37.         {
  38.           print( &#092;"Blad wyboru bazy danych\" );
  39.         }
  40.     }
  41.     mysql_close($polacz);
  42. }
  43. else
  44. {
  45. ?>
  46.  
  47. <html>
  48. <body>
  49. <table align=\"center\" valign=\"middle\"><tr><td>
  50.     <form action=\"logowanie.php\" method=\"post\">
  51.     <table border=0 align=\"center\" valign=\"middle\">
  52.         <tr><td>
  53.         <table><tr>
  54.             <td><font face=\"arial\" size=\"3\"><b> Login: </b></font></td>
  55.             <td><input type=\"text\" maxlenght=\"15\" name=\"user\"></td>
  56.         </tr>
  57.         <tr>
  58.             <td><font face=\"arial\" size=\"3\"><b> Hasło: </b></font></td>
  59.             <td><input type=\"password\" maxlenght=\"15\"name= \"password\"></td>
  60.         </tr>
  61.         </table>
  62.         </td></tr>
  63.     </table>
  64.     </td></tr>
  65.     <tr>
  66.     <td align=right>
  67.         <input type=\"submit\" name=\"zaloguj\" value=\"Zaloguj\">
  68.         <input type=\"reset\" name=\"anuluj\" value=\"Anuluj\">
  69.     </form>
  70. </td></tr></table>
  71. </html>
  72. <?
  73. };


2. plik dodaj_przepis.php ma w składni:

  1. <?php
  2.  
  3. if ((($_COOKIE['login'] == &#092;"ZALOGOWANY\" && $_COOKIE['kto']==\"user\")) ||  (($_COOKIE['login'] == \"ZALOGOWANY\" && $_COOKIE['kto']==\"admin\")))
  4. {
  5.     if ($dodaj)
  6.     {
  7.       .................
  8.       instrukcje związane z dodawaniem przepisu do bazy i wsadzeniem obrazka na 
  9. erwer
  10.     }
  11.     else
  12.     {?>
  13.         <form action=\"dodaj_przepis.php\" method=\"post\">
  14.  
  15.             .................................
  16.             formularz dodawania przepisu
  17.             .................................
  18.  
  19.             <input type=\"submit\" name=\"dodaj\" value=\"Dodaj\">
  20.  
  21.         </form>
  22.     <?}
  23. }
  24. else echo 'NIE JESTES ZALOGOWANY';
  25. ?>


Ktoś wie, gdzie tkwi błąd? Wybaczcie ten cały wklejony kod ale inaczej nie moge tego zobrazować.

Ten post edytował inusia 8.06.2005, 17:34:36
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.09.2025 - 12:49