Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/sql] utrzymanie połączenia
Forum PHP.pl > Forum > PHP
noc_nik
Jak chce wejsc do dzialu to mnie wyrzuca do logowania po zalogowaniu wchodzi mi tylko na index.php a nie do dzialu na ktory klikam


  1. <?php
  2. $uzytkownik = $_POST['uzytkownik'];
  3. $haslo = $_POST['haslo'];
  4.  
  5. if(!isset($_POST['uzytkownik'])&&!isset($_POST['haslo']))
  6. {
  7. //uzytkownik musi podac login i haslo
  8. echo" <form method=\"post\" action=\"index.php\">
  9. <input type=\"text\" name=\"uzytkownik\">
  10. <input type=\"password\" name=\"haslo\">
  11. <input type=\"submit\" value=\"zaloguj\">
  12. </form>
  13.  
  14.  
  15.  
  16. ";
  17.  
  18. }
  19.  
  20. else
  21. {
  22. //połącz sie z msql
  23. $mysql = mysql_connect ('localhost','root','krasnal');
  24. if(!$mysql)
  25. {
  26. echo"brak połączenia z bazą danych";
  27. }
  28.  
  29. //wybranie właściwej bazy danych
  30. $wybrana = mysql_select_db ('uwierz', $mysql);
  31. if(!$wybrana)
  32. {
  33. echo"błąd wyboru bazy danych";
  34. }
  35.  
  36. //znajdz pasujący wiersz 
  37.  
  38. $zapytanie = "select * from uwierzytelnieni_urzytkownicy where 
  39. uzytkownik = '$uzytkownik' and
  40. haslo = '$haslo'";
  41. $wynik = mysql_query($zapytanie);
  42. $ilosc = mysql_num_rows($wynik);
  43. if($ilosc > 0) {
  44.  
  45.  
  46.  
  47. //podanie kombinacji loginu i hasla jest prawidlowa
  48.  
  49.  
  50. echo"<a href=index.php?go=1>link</a>";
  51.  
  52.  
  53.  
  54. if(!isset($go)){ 
  55. include("glowna.php"); 
  56. } 
  57.  else if($go==1){ 
  58. include("dzial1.php"); 
  59. } else if($go==2){ 
  60. include("dzial2.php"); 
  61. } else if($go==3){ 
  62. include("dzial3.php"); 
  63. } else 
  64. echo "<center><br><b>ERROR 404</b></center>"; 
  65.  
  66. } else {
  67.  
  68. echo 'nie ma';
  69.  
  70.  
  71. }
  72. }
  73. ?>



  1. -- Baza danych: `uwierz`
  2. --
  3.  
  4. -- --------------------------------------------------------
  5.  
  6. --
  7. -- Struktura tabeli dla `uwierzytelnieni_urzytkownicy`
  8. --
  9.  
  10. CREATE TABLE `uwierzytelnieni_urzytkownicy` (
  11. `uzytkownik` varchar(20) NOT NULL DEFAULT '',
  12. `haslo` varchar(40) NOT NULL DEFAULT '',
  13. `prawa` char(1) NOT NULL DEFAULT '',
  14. `imie` varchar(20) NOT NULL DEFAULT '',
  15. `nazwisko` varchar(20) NOT NULL DEFAULT '',
  16. PRIMARY KEY (`uzytkownik`)
  17. ) TYPE=MyISAM;
zakręcony
powtórzę się (na WH dałem to samo):

a skąd skrypt ma wiedzieć że jestes zalogowany?
na górze masz:

Kod

if(!isset($_POST['uzytkownik'])&&!isset($_POST['haslo']))



po udanym zalogowaniu się jak w cos klikniesz, już nie wysyłasz $_POST['uzytkownik']) i $_POST['haslo'], a jak ni ewysyłasz to znowu sie masz logować, tak działa Twój skrypt

musisz dodać coś co powie że jeseś zalogowany winksmiley.jpg sugeruję sesje winksmiley.jpg

zmien też
Kod
$zapytanie = "select * from uwierzytelnieni_urzytkownicy where  
            uzytkownik = '$uzytkownik' and  
            haslo = '$haslo'";  
[code]

na

[code]
$uzytkownik=$_POST['uzytkownik'];
$haslo=$_POST['haslo'];

//tu warto sprawdzic czy nikt nic nie będzie próbował  
//Ci przez pola formularza do bazy podesłać

$zapytanie = "select * from uwierzytelnieni_urzytkownicy where  
            uzytkownik = '$uzytkownik' and  
            haslo = '$haslo'";
noc_nik
wiesz tyle to i ja wiem bez ciebie , ale i tak nie pomogłeś poza dobrymi radami
zakręcony
liczyłeś na gotowca?
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.