Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] problem z header
Forum PHP.pl > Forum > Przedszkole
em-ba
Witam, chciałem wykonać taki skrypt logowania, gdzie będzie sprawdzał po randze kto się loguje i w zależności od tego kto ma jaką range to łączy z odpowiednią stroną.. W formularzach dodaje pole hidden="ranga" ..user, user2, user3
Kod
<input type="hidden" name="ranga" value="user">
i zapisuje do bazy danych.
Po takiej modyfikacji nie wiem w czym tkwi błąd, gdyż po wpisaniu loginu i hasła w panelu logowania ..nic się nie dzieje sad.gif
  1. <?php
  2. mysql_connect ('localhost', 'root', 'krasnal') or die ("nie udało sie połączyć");
  3. mysql_select_db('fi_kur') or die ("Nie mozna zlokalizowac bazy danych");
  4.  
  5.  
  6.  if($_SESSION['zalogowany'] == 0)
  7.  {
  8. echo '<form id="LOGOWANIE" method="post" action="index.php" enctype="multipart/form-data"> <h2>Zaloguj się:</h2>
  9. <div>
  10. Login:<br />
  11. <input id ="login" type="text" name="login" maxlength="15"/><br /><br />
  12. Hasło:<br />
  13. <input id ="haslo" type="password" name="haslo" maxlength="10"/><br /><br />
  14. <input id ="zaloguj" type="submit" name="zaloguj" value="Zaloguj"/>
  15. <a href="form_rej.php"><input id ="zarejestruj" type="submit" name="zarejestruj" value="Zarejestruj"/></a>
  16. </div>
  17. </form>';
  18.  
  19. if (isset($_POST['login']) && isset($_POST['haslo']))
  20. {
  21.  $login = trim($_POST['login']);
  22.  $haslo = trim($_POST['haslo']);
  23.  $haslo = md5($haslo);
  24.  $ranga = trim($_POST['ranga']);
  25.  
  26.  $sql = "SELECT login, haslo, ranga FROM uzytkownicy WHERE login='".$login."' and haslo='".$haslo."'";
  27.  $result = mysql_query($sql) or die ('BLAD ->'. mysql_error() . '<br />'. $sql);
  28.  
  29.  if(mysql_num_rows($result) == 0) // sprawdzenie czy dany użytkownik istnieje w bazie
  30.  {
  31. echo' Podany login i haslo jest błędne'; // jeżeli nie istnieje taki użytkownik to wyświetla błąd
  32.  }
  33.  else
  34.  {
  35. mysql_connect ('localhost', 'root', 'krasnal') or die ("nie udało się połączyć");
  36. mysql_select_db('fi_kur') or die ("Nie mozna zlokalizowac bazy danych");
  37.  
  38. $id = $_GET['id']; 
  39. $sql = ("SELECT * FROM uzytkownicy WHERE id='".$id."'") or die(mysql_error());
  40. $res = mysql_query($sql) or die(mysql_error()) ;
  41. $img = mysql_fetch_array($res);
  42.  
  43. if($img['ranga'] == 'user') {
  44. header('location: strona1.php');
  45. }
  46.  
  47. if($img['ranga'] == 'user2') {
  48. header('location: strona2.php');
  49. }
  50.  
  51. if($img['ranga'] == 'user3') {
  52. header('location: strona3.php');
  53. }
  54.  }
  55.  }
  56.  }
  57.  else {
  58. echo "Zostałeś zalogowany jako ".$_SESSION['login']."<br /><a href='index.php?log=wyloguj'>wyloguj</a>";
  59. $intTimeoutSeconds = 600;
  60.  
  61. if(isset($_SESSION['intLastRefreshTime']))
  62. {
  63. if(($_SESSION['intLastRefreshTime']+$intTimeoutSeconds)<time())
  64. {
  65.  header('location: index.php');
  66. }
  67. }
  68. $_SESSION['intLastRefreshTime'] = time();
  69.  }
  70.  
  71.  if ($_GET['log'] == "wyloguj") {
  72. header('location: index.php');
  73.  }
  74.  
  75. ?>


a oto plik przejdz.php
  1. <?php
  2. $ranga=mysql_querry("SELECT * FROM uzytkownicy");
  3. $res=mysql_fetch_array($ranga);
  4.  
  5. while($_res){
  6.  echo'<a href="przejdz.php?id='.$res['id'].'">przejdz</a>'
  7.  }
  8. ?>
Lejto
widzę tylko błąd w pliku przejdz.php linia 2
  1. <?php
  2. $ranga=mysql_query("SELECT * FROM uzytkownicy");
  3. ?>

2 połączenie w else masz niepotrzebnie
  1. <?php
  2. mysql_connect ('localhost', 'root', 'krasnal') or die ("nie udało się połączyć");
  3. mysql_select_db('fi_kur') or die ("Nie mozna zlokalizowac bazy danych");
  4. ?>

i musisz przecież stworzyć sesje jeśli dane są prawidłowe
em-ba
ok, dzieki

zmieniłem te query, wyrzuciłem te połączenie ponowne ale dalej jest to samo... żadnej reakcji - nie przenosi mnie nigdzie po zalogowaniu sad.gif
Lejto
przy pierwszym else daj jeszcze $_SESSION['login'] = $login;
em-ba
zrobiłem jak mówiłeś i ..dalej to samo - wogole siedze nad tym już dłuższy dłuższy czas próbowałem to zrobić na rózne sposoby i naprawde nie wiem co jest nie tak... //wygląda niby okej ale jednak nie jest ok sciana.gif
Lejto
sam już nie wiem
może
  1. <?php
  2. if($_POST['ranga'] == 'user') {
  3. header('location: strona1.php');
  4.  }
  5. ?>
em-ba
sad.gif niestety ..nie pomogło
PawelC
Oto cała filozofia winksmiley.jpg
formularz:
  1. <?php
  2. if ($_GET['log'] == "wyloguj") {
  3. header('location: index.php');
  4.  }
  5.  ?>
  6. <form method="post" action="logowanie.php">
  7. wpisz login:<br />
  8. <input type="text" name="login"><br />
  9. wpisz hasło:<br />
  10. <input type="password" name="haslo"><br />
  11. <input type="submit" value="zaloguj">

plik logowanie.php
  1. <?php
  2. ?>
  3. <?php
  4.  
  5. mysql_connect(localhost,root,krasnal); 
  6. mysql_select_db(krasnal);
  7.  
  8.  
  9. $login = trim($_POST['login']);
  10. $haslo = trim($_POST['haslo']);
  11. $loguj="select login,haslo,ranga from uzytkownicy where login='$login' and haslo='$haslo'"; 
  12. $rekordy = mysql_query($loguj);
  13. if(mysql_num_rows($rekordy)==0)
  14. {
  15.  echo' Podany login i haslo jest błędne';
  16.  exit;
  17. }
  18. else
  19. {
  20.  
  21.  $_SESSION['zalogowany'] = $_POST['login'];
  22. echo "Zalogowany jako ".$_SESSION['zalogowany']."<br /><a href='index.php?log=wyloguj'>wyloguj</a>";
  23.  
  24. $pobierz="select ranga from uzytkownicy where login='$login'";
  25.  
  26. $zrob=mysql_query($pobierz) or die(mysql_error());
  27. while($pokaz=mysql_fetch_array($zrob)){
  28. print '<br />Twoja ranga to: '.$pokaz[0].'';
  29. if($pokaz['ranga'] == 'user') {
  30. header('location: strona1.php');
  31. }
  32.  
  33. if($pokaz['ranga'] == 'user2') {
  34.  header('location: strona2.php');
  35. }
  36.  
  37. if($pokaz['ranga'] == 'user3') {
  38. header('location: strona3.php');
  39. }
  40. }
  41.  
  42.  }
  43. ?>

Działa na 100% sam sprawdzałem winksmiley.jpg
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.