Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Dane pobierane z bazy do sesji
walus16
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 24.05.2011

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


Witam,
Napisałem sobie krótki skrypt oparty na sesjach panelu admina. Mam do niego dostęp jak się zaloguję, ale chciałbym wprowadzić zmianę tak, aby nie każdy kto się zarejestruje mógł wejść do niego. Chcę wprowadzić zmianę taką, że jeżeli w bazie danych w polu user_admin mam wpisanie "tak" to mam dostęp, a jeżeli "nie" to jest brak dostępu oczywiście wykorzystując sesję. Niestety nie wiem jak.

  1. <?php
  2.  
  3. require("silnik.php");
  4.  
  5. if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;
  6. ?>
  7.  
  8. <?php
  9. if($_SESSION["zalogowany"]!=0) {
  10. if($_SESSION["user_admin"]== 'tak') { //jeżeli w bazie danych jest "tak" to mam dostęp ale nie wiem co zrobić aby sesja sprawdzała co jest w bazie
  11. ?>
  12. <html>
  13. <body background="obrazki/tlo.gif">
  14. <table><tr><td>
  15. <br><a href="admin.php">Panel administratora</a>
  16. <br><a href="admin.php?akcja=#">Dodaj newsa</a>
  17. <br><a href="admin.php?akcja=#">Dodaj panel </a>
  18. <br><a href="admin.php?akcja=#">Dodaj artykuł</a></table>
  19. <?
  20.  
  21. $akcja = $HTTP_GET_VARS[akcja];
  22. if($akcja=="")
  23. {
  24. include("index.php");
  25. }
  26. else
  27. {
  28. include($akcja.".php");
  29. }
  30. ?>
  31. <?php } else { ?>
  32.  
  33. <h3>Aby uzyskać pełen dostęp do serwisu musisz posiadać prawa administratora</h3>
  34.  
  35. <?php }} else { ?>
  36.  
  37. <h3>Aby uzyskać pełen dostęp do serwisu musisz się zalogować</h3>
  38.  
  39. <?php } ?>
  40.  
  41. </body></html>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
mat-bi
post
Post #2





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

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


$HTTP_GET_VARS - auuu, kiedy ty się php uczyłeś? Tego już dawno nei ma

sprawdzanie w bazie - przepraszam, ale musisz się nauczyć podstaw - Temat: linkiKursy dla poczatkujacych
Go to the top of the page
+Quote Post
user767
post
Post #3





Grupa: Zarejestrowani
Postów: 178
Pomógł: 5
Dołączył: 13.09.2010

Ostrzeżenie: (40%)
XX---


z bazy do tablicy i sesji, z mojej wczorajszej powtórki notatka:
  1. <?
  2. while ($row = mysqli_fetch_assoc($dane)){
  3. $users[$i]['imie'] = $row['imie'];
  4. $users[$i]['nazwisko'] = $row['nazwisko'];
  5. $users[$i]['mail'] = $row['mail'];
  6. $users[$i]['adres'] = $row['adres'];
  7. $i++;
  8. }
  9. $_SESSION['dane'] = $users; // ew. serialize($users)
  10. ?>
Go to the top of the page
+Quote Post
walus16
post
Post #4





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 24.05.2011

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


user767 mógłbyś to zaimplementować do mojego kodu bo chyba coś źle zrobiłem bo nie działa to u mnie
Go to the top of the page
+Quote Post
user767
post
Post #5





Grupa: Zarejestrowani
Postów: 178
Pomógł: 5
Dołączył: 13.09.2010

Ostrzeżenie: (40%)
XX---


  1. <?
  2.  
  3.  
  4.  
  5.  
  6. ini_set( 'display_errors', 'On' );
  7.  
  8.  
  9. $polaczenie = new BAZA;
  10.  
  11. class BAZA {
  12. function BAZA() {
  13. $this->host = "";
  14. $this->baza = ""
  15. $this->uzytkownik = "";
  16. $this->haslo = ""; // haslo do bazy
  17. $this->polacz = mysql_connect($this->host, $this->uzytkownik,$this->haslo);
  18. mysql_select_db($this->baza);
  19. }
  20. }
  21.  
  22.  
  23.  
  24. $wczytajZlecenie = mysql_query("SELECT * FROM produkty");
  25. while ($wypisz = mysql_fetch_array($wczytajZlecenie, MYSQL_ASSOC)) {
  26.  
  27. // print $nazwa = $wypisz['nazwa'].'<br />';
  28.  
  29. $nazwy[] = $wypisz['nazwa'];
  30.  
  31. }
  32.  
  33. //$ile_jest = mysql_num_rows($wczytajZlecenie);
  34.  
  35. print_r($nazwy);
  36.  
  37. $_SESSION['dane'] = $nazwy; // ew. serialize($users)
  38.  
  39. print_r($_SESSION['dane']);
  40.  
  41. ?>


Ten post edytował user767 3.07.2011, 00:25:57
Go to the top of the page
+Quote Post
walus16
post
Post #6





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 24.05.2011

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


Poprawiłem swój skrypt i nadal nie działa przez to, że nie pobiera mi dobrego pola z bazy danych. Poniżej wklejam mój skrypt. Jeżeli ktoś wie na czym mój błąd polega to proszę o poprawę skryptu.

  1.  
  2. <?php
  3.  
  4. require("silnik.php");
  5.  
  6. $result = mysql_query("SELECT user_admin FROM ".$db_prefix."uzytkownik ");
  7. while($row = mysql_fetch_array($result)){
  8. $admin[] = $row['user_admin'];
  9. }
  10.  
  11. if(empty($_SESSION["zalogowany"])){
  12. $_SESSION["zalogowany"]=0;
  13. $_SESSION['user_admin']= $admin;
  14.  
  15. }
  16.  
  17. ?>
  18. <?php
  19. if($_SESSION["zalogowany"]!=0) {
  20. if($_SESSION["user_admin"]== 'tak') {
  21. ?>
  22. <html>
  23. <body background="obrazki/tlo.gif">
  24. <table><tr><td>
  25. <br><a href="admin.php">Panel administratora</a>
  26. <br><a href="admin.php?akcja=#">Dodaj newsa</a>
  27. <br><a href="admin.php?akcja=#">Dodaj panel </a>
  28. <br><a href="admin.php?akcja=#">Dodaj artykuł</a></table>
  29. <?
  30.  
  31. $akcja = $_GET[akcja];
  32. if($akcja=="")
  33. {
  34. include("index.php");
  35. }
  36. else
  37. {
  38. include($akcja.".php");
  39. }
  40. ?>
  41. <?php } else { ?>
  42. <h3>Aby uzyskać pełen dostęp do serwisu musisz posiadać prawa administratora</h3>
  43. <?php }} else { ?>
  44. <h3>Aby uzyskać pełen dostęp do serwisu musisz się zalogować</h3>
  45. <?php } ?>
  46. </body></html>
  47.  
Go to the top of the page
+Quote Post
by_ikar
post
Post #7





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Nie możesz używać GET w ten sposób:

Kod
$_GET[akcja];


To że działa, nie znaczy że jest prawidłowe. Włącz sobie pokazywanie błędów, to się zdziwisz ile możesz mieć błędów w swoim skrypcie, przez co może więcej rzeczy nie działać..

Jak chcesz pobrać jakieś dane z tablicy, to klucze zawsze, umieszczaj w apostrofach:

Kod
$_GET['akcja'];


Najlepiej wrzuć sobie gdzieś na początek twojego skryptu error_reporting(E_ALL);

Ten post edytował by_ikar 3.07.2011, 11:46:49
Go to the top of the page
+Quote Post
walus16
post
Post #8





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 24.05.2011

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


Na razie chciałbym się skupić nad tym dlaczego nie pobiera mi z bazy konkretnej informacji, której potrzebuje do dalszego wykonywania skryptu. Bo jak na razie jak nie chciało działać, tak nie działa.
Go to the top of the page
+Quote Post
auto-all
post
Post #9





Grupa: Zarejestrowani
Postów: 49
Pomógł: 7
Dołączył: 2.04.2011
Skąd: Wawa

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


Proponuje powoli przeanalizować kod:
  1. <?php
  2.  
  3. require("silnik.php");
  4.  
  5. $result = mysql_query("SELECT user_admin FROM ".$db_prefix."uzytkownik "); // Sprawdz czy te zapytanie jest poprawne i co zwraca
  6. while($row = mysql_fetch_array($result)){
  7. $admin['user_admin'] = $row['user_admin'];
  8. }
  9.  
  10. print_r($admin); // Co zwraca?
  11. print_r($_SESSION); // Co zwraca?
  12.  
  13. // Dalszą część kodu sobie dostosuj
  14. ?>


Masz pomieszany kod:
  1. // Jesli ten warunek jest spelniony:
  2. if(empty($_SESSION["zalogowany"]))
  3. // To ten nie automatycznie nie bedzie
  4. if($_SESSION["zalogowany"]!=0) // poniewaz w poprzednim warunku przypisales do tej zmiennej wartosc "0" a jesli ten nie jest poprawny wszystkie w nim zawarte nie beda analizowane
Go to the top of the page
+Quote Post
walus16
post
Post #10





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 24.05.2011

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


Trochę posiedziałem nad tym skryptem i poprawiłem go na taki:
  1. <?php
  2.  
  3. require("silnik.php");
  4.  
  5. if($_SESSION['zalogowany'] == 'tak')
  6. {
  7. if($_SESSION['user_admin'] == 'tak')
  8. {
  9. if(empty($_GET['akcja']))
  10. {
  11. $akcja = $_POST['akcja'];
  12. }
  13. else
  14. {
  15. $akcja = $_GET['akcja'];
  16. }
  17.  
  18. echo "<html><body>";
  19. echo "<table><tr><td>";
  20. echo "<br><a href='admin.php?akcja=#'>Panel administratora</a>";
  21. echo "<br><a href='admin.php?akcja=#'>Dodaj newsa</a>";
  22. echo "<br><a href='admin.php?akcja=#'>Dodaj panel </a>";
  23. echo "<br><a href='admin.php?akcja=#'>Dodaj artykuł</a>";
  24. echo "</td></tr></table>";
  25.  
  26. if(empty($akcja))
  27. {
  28. include("wiadomosc.php");
  29. }
  30. else
  31. {
  32. include($akcja.".php");
  33. }
  34. }
  35. else
  36. {
  37. echo "Aby uzyskać pełen dostęp do serwisu musisz posiadać prawa administratora";
  38. }
  39. }
  40. else
  41. {
  42. echo "Aby uzyskać pełen dostęp do serwisu musisz się zalogować";
  43. }
  44.  
  45. echo "</body></html>";
  46. ?>


Co wy na to?
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: 26.12.2025 - 15:04