Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP+MySQL]Pomoc przy skrypcie
Lerno
post
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 16.03.2004

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


Od dluzszego czasu pisalem skrypty w php oparte na plikach, dzialaly dobrze i sie sprawdzaly. Teraz jednak chce liznac bazy danych np: mysql. Napisalem jakis czas temu logowanie i chcialbym teraz je przerobic na mysql. Stworzylem baze i tabele w mysqlu i teraz pisze pod nia skrypt. Niedziala. Tzn. logowanie dziala niby, ale po tym jak sie zaloguje jakbym gubil sesje, albo raczej polaczenie z baza, czy... cos tam innego sie psuje. W kazdym razie logowanie przebiega poprawnie, ale po zalogowaniu czego bym nie zrozobil zwraca mi ze jestem niezalogowany i koniec. Moze trzeba zapisywac w bazie stan? Na plikach dzialalo mi w takiej postaci, na mysqlu juz nie.

Oto skrypt (miedzy /**/ umiescilem tez kod ktory pobiera dane z pliku i uzywajac tej weryfikacji zamiast bazy skrypt bedzie dzialal poprawnie.)

  1. <?php
  2.  $zalogowany = &#092;"false\";
  3.  if(isset($_POST['login'])) $login = $_POST['login'];
  4.  else  $login = @$_SESSION['login'];
  5.  if(isset($_POST['pass'])) $pass = $_POST['pass'];
  6.  else  $pass = @$_SESSION['pass'];
  7.  
  8.  $db_info['host'] = &#092;"localhost\";
  9.  $db_info['user'] = &#092;"xxx\";
  10.  $db_info['pass'] = &#092;"xxx\";
  11.  $db_info['db']  = &#092;"xxx\";
  12.  $db_connection = mysql_pconnect($db_info['host'], $db_info['user'], $db_info['pass']) or die(mysql_error());
  13. if(!$db_connection) $db_status = false;
  14.  $db_select = mysql_select_db($db_info['db'], $db_connection) or die(mysql_error());
  15. if(!$db_select) $db_status = false;
  16.  
  17.  if((isset($_POST['login']))&amp;&amp;(isset($_POST['pass']))){
  18. $login = addslashes($_POST['login']);
  19. $pass = addslashes($_POST['pass']);
  20. if(!isset($db_status) || $db_status !== false){
  21.  $query = mysql_query(&#092;"SELECT * FROM `user` WHERE `login`='\".$login.\"' AND `pass`='\".$pass.\"';\");
  22.  if(mysql_num_rows($query) == 1){
  23. $zalogowany = &#092;"true\";
  24. $_SESSION['login'] = $login;
  25. $_SESSION['pass'] = $pass;
  26. $wiersz = mysql_fetch_array($query);
  27. $_SESSION['name'] = $wiersz['name'];
  28. $_SESSION['email'] = $wiersz['email'];
  29. $user_logged = $wiersz['level'];
  30.  }
  31. }  
  32.  }
  33.  /*
  34.    // wczytujemy liste userow z pliku oraz dokonujemy weryfikacji
  35.    if(file_exists('users.dat')){
  36. $users_file = file('users.dat');
  37. $users_amount = count($users_file);
  38.  // haszujemy haslo
  39. $passmd5 = md5($pass);
  40.  
  41. while(list($key, $val) = each($users_file)){
  42.  $user_line = explode('||', trim($val));
  43.  if(($user_line[1] == $login)&amp;&amp;($user_line[2] == $passmd5)){
  44. $zalogowany = \"true\";
  45. $_SESSION['login'] = $login;
  46. $_SESSION['pass'] = $pass;
  47. $user_logged = $user_line;
  48.  }
  49. }
  50.    }
  51.    */
  52.  // jesli sie niezalogowal
  53.  if($zalogowany == &#092;"false\"){
  54. echo '<dl><dt>Logowanie</dt><dt>•<a href=\"index.php?id=1\">Zaloguj</a></dt></dl>';
  55. $text = '';
  56. if(isset($_GET['id']) == &#092;"1\"){
  57.  // form logowania
  58.  echo'<div >Zaloguj się.</div><div ><form action=\"index.php\" method=\"post\"><div>&amp;nbsp;</div><div >Login:<br /> <input class=\"pola_input\" type=\"password\" name=\"login\" value=\"\" /></div><div >Hasło:<br /> <input class=\"pola_input\" type=\"password\" name=\"pass\" value=\"\" /><br /><input type=\"submit\" value=\"Zaloguj\" /></div></form></div>';
  59. }
  60.  }
  61.  // jesli sie zalogowal to
  62.  if($zalogowany == &#092;"true\"){
  63. //opcja wylogowania
  64. echo '<dl><dt><span>Wylogowanie</span></dt><dt><span>•</span> <a href=\"index.php?id=logout>Wyloguj</a></dt><dt>&amp;nbsp;</dt>';
  65. if(@$_GET['id'] == 'logout'){
  66.  echo 'Wylogowano użytkownika. W celu ponownego zalogowania kliknij <a href=\"index.php?id=1\" title=\"przelogowanie\">tutaj</a>';
  67. }
  68. // ustanawiamy poziom dostepu
  69. if($user_logged == '1')  $status = 'update';
  70. else if($user_logged == '2')  $status = 'moderatorek';
  71. else if($user_logged == '3')  $status = 'adminek';
  72. else{
  73.  echo 'Zostałeś/łaś wylogowany/a! W celu próby ponownego zalogowania się kliknij <a href=\"adm.php?id=1\" title=\"Zaloguj się\">tutaj</a>.';
  74. }
  75.  
  76. if($status == 'update'){
  77.  echo '<dt><span>Podstawowe</span></dt><dt><span>•</span> <a href=\"'. $_SERVER[&#092;"PHP_SELF\"] .'?id=1\">Dzial</a></dt>';
  78.  if(@$_GET['id'] == &#092;"1\"){
  79. echo 'Sztama!';
  80.  }
  81. }
  82. // itd...
  83.  }
  84. ?>


Moze widzicie co robie zle. Z gory dzieki.


__________________
Moderated by Bakus: Wykorzystuj właściwe znaczniki BBCode


--------------------
|| Windows 2000 || Apache 2.0.48 || PHP 4.3.6 ||
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 20.08.2025 - 14:11