Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Skrypt nie odczytuje rekordów z bazy danych
Forum PHP.pl > Forum > Bazy danych > MySQL
Garrett
Cześć

panel logowania (panel.php):

początek dokumentu poprzedzony
  1. <?php
  2. ?>

potem
  1. <?php
  2. include ('exe/skrypty.php');
  3. connection();
  4.  
  5. if(isset($_GET['error'])){
  6. $error = $_GET['error'];
  7. if($error==1)
  8. echo '<p class="error">Podaj login i hasło</p>';
  9. }
  10. if(isset($_GET['info'])){
  11. $info = $_GET['info'];
  12. if($info==2) {
  13. $imie=$_SESSION['imie'];
  14. echo '<p class="info">Zalogowano pomyślnie, '.$_SESSION['login'].$imie.$_SESSION['nazwisko'].'</p>';
  15. }
  16. }
  17. else
  18. {
  19.  
  20. $panel=<<<HTML
  21. <div class="blok">
  22. <fieldset id="login">
  23. <legend>Logowanie</legend>
  24. <dl>
  25. <dd>
  26. <form action="exe/login.php" method="post" />
  27. <table>
  28. <br />
  29. <tr><td>Login:</td> <td><input type="text" name="login" /></td></tr>
  30. <tr><td>Hasło:</td> <td><input type="password" name="haslo" /></td></tr>
  31. <tr><td></td></tr>
  32. <tr><td><input type="submit" value="Zaloguj" /></td></tr>
  33. </table>
  34. <br />
  35. </form>
  36.  
  37. </dd>
  38. </dl>
  39. </fieldset>
  40. </div>
  41. HTML;
  42. echo $panel;
  43. }
  44. ?>


skrypt logowania (login.php):

  1. <?php
  2. include ('skrypty.php');
  3. connection();
  4.  
  5. if(($_POST['login']=='') || ($_POST['haslo']==''))
  6. {
  7. header('Location: ../panel.php?error=1');
  8. }
  9. if(mysql_num_rows(mysql_query("SELECT login FROM uzytkownicy
  10. WHERE login = '".$_POST['login']."'
  11. && haslo = '".$_POST['haslo']."' ")) > 0 ) {
  12.  
  13. $res = mysql_query("SELECT imie, nazwisko FROM uzytkownicy WHERE login=".$_POST['login']."");
  14. $row=mysql_fetch_row($res);
  15.  
  16. $imie = $row[0];
  17. $nazwisko = $row[1];
  18.  
  19. $_SESSION['login'] = $_POST['login'];
  20. $_SESSION['imie'] = $imie;
  21. $_SESSION['nazwisko'] = $nazwisko;
  22. @mysql_query("UPDATE uzytkownicy SET zalogowany='1' WHERE login='".$_POST['login']."' ");
  23.  
  24. header('Location: ../panel.php?info=2');
  25. }
  26. else {
  27. header('Location: ../panel.php?error=2');
  28. }
  29. ?>


Kompletnie nie wiem dlaczego w panelu logowania wypluwa mi tylko
Zalogowano pomyślnie, [login], a nie Zalogowano pomyślnie, [login][imie][nazwisko]

Do sesji przypisuje mi tylko login (linia 21), a nazwisko i imię już nie (2 linie kolejne). Kilka linii wstecz jest odwołanie do bazy. Prawdopodobnie ono nie działa. Próbowałem już mysql_fetch_row, mysql_fetch_array, mysql_num_rows, ale bez skutku.

Proszę o pomoc smile.gif

Cholera, literówka nerdsmiley.png
$res = mysql_query("SELECT imie, nazwisko FROM uzytkownicy WHERE login='".$_POST['login']."' ");
Proszę o usunięcie.
frok
//zmień od linii 15:
$res = mysql_query("SELECT `imie`, `nazwisko` FROM `uzytkownicy` WHERE `login`='".addslashes($_POST['login'])."'");
$row=mysql_fetch_assoc($res);

$imie = $row['imie'];
$nazwisko = $row['nazwisko'];
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.