Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] jak pobrać numer id z innej tabeli
Forum PHP.pl > Forum > PHP
Lejto
Mam kod wyświetlających ostatnio zalogowanych użytkowników i zapisuje mi to to tabeli online. Nazwę użytkownika pobiera z sesji a tabela z zalogowanymi użytkownikami nazywa sie user i chce aby przy zapisaniu zalogowanego użytkownika (ostatnio zalogowani) zapisało mi to tabeli online jago nr id który znajduje sie w tabeli user i jest przypisany do każdego użytkownika próbowałem już to zrobić zapytaniem ale nic z tego.

Pozdrawiam
domis86
Jak pobierasz jego nazwe z tabeli users to pobierz tez jego id i wtedy je zapisz do tabeli online.
W ogole to do sesji powinienes PRZEDE WSZYSTKIM zapisac jego id a nie nazwe.
Lejto
Właśnie nie wiem jak pobrać ip to nazwę pobieram tak $_SESSION['prawid_uzyt'] w prawid_uzyt jest zapisany user
domis86
No ok, ale skądś ta nazwa się w tej sesji znalazła smile.gif
Zapewne zostala pobrana z bazy (lub chociaz sprawdzona, czy istenieje w bazie), wiec wtedy mozna tez pobrac id. Znajdz miejsce, gdzi eta nazwa jest wpisywana do sesji.
Lejto
i na podstawie sesji wyświetlającej usera zrobić na id?
domis86
Bez obrazy, ale coś ci sie pokrecilo smile.gif Sesja nic nie wyswietla, sesja jest to kontener do przechowywania informacji miedzy requestami.



Zrob tak:
1.Jak user sie loguje to sprawdzasz czy login i haslo jest poprawne za pomoca SELECTa, wiec pobierz przy okazji jego id.
2.Zrob UPDATE czy INSERT (nie wiem jak to rozwiazales) do tabeli `online` wsadzajac tam id usera i czas.
3 tyle:)
Lejto
nie działa kod
  1. <?php
  2. $user = $_POST['user'];
  3. $haslo = $_POST['haslo'];
  4. $prawid_uzyt = $_POST['prawid_uzyt'];
  5. $id = $_POST['id'];
  6.  
  7. $zapytanie = 'select * from uzytkownik ' ."where user='$user' "." and haslo=sha1('$haslo')"." and id = '$id'";
  8. $wynik = mysql_query($zapytanie) or die("Nie mozna się połączyć z MySQL");
  9. if($rows = mysql_num_rows($wynik) > 0)
  10. {
  11. // jeżeli dane są w bazie zarejestrowanie identyfikatora użytkownika
  12. $_SESSION['prawid_uzyt'] = $user;
  13. $id = $zapytanie['id'];
  14. }
  15. ?>

coś chyba z zmienną id jest nie tak
wlamywacz
Co ma post do sesji ?
Lejto
gdzie post w id?
chce poznać tylko id na resztę nie patrz bo reszta jest ok

już się z tym uporałem wystarczyło dobrze napisać zapytanie a ja się z tym męczę sciana.gif
sniezny_wilk
Spróbuj tak:

  1. <?php
  2. $user = $_POST['user'];
  3. $haslo = $_POST['haslo'];
  4. $prawid_uzyt = $_POST['prawid_uzyt'];
  5. $id = $_POST['id'];
  6.  
  7. $zapytanie = 'select * from `uzytkownik` WHERE `user`="'.$user.'" AND `haslo`="'.sha1($haslo).'" AND id = '.$id;
  8. $wynik = mysql_query($zapytanie) or die("Nie mozna się połączyć z MySQL");
  9. $num = mysql_num_rows($wynik)
  10. if($num > 0)
  11. {
  12. $row = mysql_fetch_row($wynik);
  13. // jeżeli dane są w bazie zarejestrowanie identyfikatora użytkownika
  14. $_SESSION['prawid_uzyt'] = $user;
  15. $id = $row['id'];
  16. }
  17. ?>


EDIT: wg. mnie był błąd z zapytaniem i z przypisaniem do zmiennej $id odpowiedniej wartości.
domis86
ej ludzie...
Skad niby w poscie jest to id? Z nieba? To jest kompletnie bez sensu
Trzeba pobrac z bazy id wg LOGINU i HASLA, a nie wg ID.
xbigos
zapytanie wygląda tak

$zapytanie = "SELECT id FROM uzytkownicy WHERE nazwa_uzytkownika = '$uzytkownik' AND haslo_uzytkownika = '$haslo'";

EDIT: po co pobierać wszystkie dane skoro jest potrzebne tylko ID uzytkownika.
Lejto
Cytat(Lejto @ 27.12.2007, 19:02:18 ) *
już się z tym uporałem wystarczyło dobrze napisać zapytanie a ja się z tym męczę sciana.gif

pisze że się już z tym uporałem smile.gif
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.