Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dane z drugiego wiersza
Forum PHP.pl > Forum > Przedszkole
rafalekjan
Witam.

Mam sytuacje podaną jak niżej:

Użytkownik loguje się i możemy odczytać, że jest zalogowany jako rafalekjan. A potrzebuję, żeby jakaś zmienna, np $numer_zalog odczytywala dane z pierwszej tabeli, czyli numer usera. Dodam, że użytkownicy mogą kasować swoje konta więc zliczanie wierszy odpada.
Wyniki będą wyświetlane na stronie www, przy pomocy php.
Dzięki za pomoc.
nospor
Za bardzo nie rozumiem w czym masz problem. Skoro chcesz pobrac id_user, to po prostu go pobierz w select, ktore wykonujesz przy logowaniu
rafalekjan
  1. <?php
  2. $lacz = lacz_bd();
  3. $wynik=@mysql_query('select id_usera from uzytkownik where nazwa_uz='.$nazwa_uz);
  4. $search_klient=htmlspecialchars($wynik['id_usera']);
  5. echo "Numer indywidualny klienta $nazwa_uz to $search_klient";
  6. ?>


Coś takiego tylko, że to nie działa...
nospor
do odebrania wyniku mysql_query sluzy mysql_fetch_array()
Wypadaloby przed braniem sie za takie rzeczy przeczytac najpierw podstawowa obslug baz danych w php....
http://pl2.php.net/manual/pl/function.mysql-fetch-array.php

ps: przenosze

ps2: inna sprawa to to, ze masz blad zapytania. tu masz napisane jak takie bledy wyswietlac:
Temat: Jak poprawnie zada pytanie
zastosuj sie do wszystkich porad - widze ze ci sie przydadzą
rafalekjan
W tym problem, że klient się loguje na konto o nazwie rafalekjan, dane o koncie nawet się wyświetlają:
  1. $nazwa_uz = $_POST['nazwa_uz'];
  2. $haslo = $_POST['haslo'];
  3. if ($nazwa_uz && $haslo) {
  4. // właśnie nastąpiła próba logowania
  5. try {
  6. loguj($nazwa_uz, $haslo);
  7. // jeżeli użytkownik znajduje się w bazie danych rejestracja identyfikatora
  8. $_SESSION['prawid_uzyt'] = $nazwa_uz;
  9. }
  10. catch (Exception $e) {
  11. // niepomyślne logowanie
  12. tworz_naglowek_html('Problem:');
  13. echo 'Zalogowanie niemożliwe.
  14. Należy być zalogowanym aby oglądać tę stronę.';
  15. tworz_HTML_URL('index.php', 'Logowanie');
  16. tworz_stopke_html();
  17. }
  18. }


Ale nie mogę wyświetlić jaki jest jego numer porządkowy.
nospor
No to wlasnie musisz ten numer pobrac z bazy. W tej chwili go nie pobierasz.
rafalekjan
Zapytanie poprawiłem i już wyświetla numer, który mnie interesuje, ale dla wymuszonego warunku.

  1. $wynik=@mysql_query("select id_usera from uzytkownik where nazwa_uz='rafalekjan'");
  2. while ($proba=mysql_fetch_array($wynik)) {
  3. $wysw=htmlspecialchars($proba['id_usera']);
  4. echo "Numer indywidualny klienta $nazwa_uz to $wysw"; }
blade-mrn
No to wystarczy teraz jak zamienisz rafalekjan na zmienną:
  1. $wynik=@mysql_query("select id_usera from uzytkownik where nazwa_uz='".$nazwa_uzytkownika."'");
rafalekjan
Przedtem numer klienta był wpisywany z palca.
Teraz chcę, żeby był odczytywany automatycznie.

przedtem numer był zapisany:
  1. <label>Numer klienta:
  2. <input type="text" name="searchklient"/>
  3. </label><br />


a później odczytany na drugiej stronie:
  1. $user=$_POST['user'];



Cytat(blade-mrn @ 9.12.2010, 22:43:57 ) *
No to wystarczy teraz jak zamienisz rafalekjan na zmienną:
  1. $wynik=@mysql_query("select id_usera from uzytkownik where nazwa_uz='".$nazwa_uzytkownika."'");

Z tym, że dane o nazwie użytkownika nie zapisują się do tej zmiennej, nie wiedząc czemu.

Próbowałem wrzucić to pobieranie do funkcji logowania:
  1. $nazwa_uz = $_POST['nazwa_uz'];
  2. $haslo = $_POST['haslo'];
  3. if ($nazwa_uz && $haslo) {
  4. // właśnie nastąpiła próba logowania
  5. try {
  6. loguj($nazwa_uz, $haslo);
  7. // jeżeli użytkownik znajduje się w bazie danych rejestracja identyfikatora
  8. $_SESSION['prawid_uzyt'] = $nazwa_uz;
  9. }
  10. catch (Exception $e) {
  11. // niepomyślne logowanie
  12. tworz_naglowek_html('Problem:');
  13. echo 'Zalogowanie niemożliwe.
  14. Należy być zalogowanym aby oglądać tę stronę.';
  15. tworz_HTML_URL('index.php', 'Logowanie');
  16. tworz_stopke_html();
  17. }
  18. }
  19. $wynik=@mysql_query('select id_usera from uzytkownik where nazwa_uz='.$nazwa_uz);
  20. while ($proba=mysql_fetch_array($wynik)) {
  21. $wysw=htmlspecialchars($proba['id_usera']);
  22. echo "$to ten numer $wysw i tocka $nazwa_uz aa"; }
  23. ?>


Ale wywala błąd:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in line...
mls
Nie ma to jak umiejętność czytania ze zrozumieniem.
Widzisz różnicę pomiędzy swoim
  1. $wynik=@mysql_query('select id_usera from uzytkownik where nazwa_uz='.$nazwa_uz);

a
  1. $wynik=@mysql_query("select id_usera from uzytkownik where nazwa_uz='".$nazwa_uzytkownika."'");

?
I oczywiście nie chodzi mi o różnicę w nazwie zmiennej...

A co do automatycznego numerowania użytkowników, polecam zapoznanie się z http://dev.mysql.com/doc/refman/5.0/en/exa...-increment.html
rafalekjan
  1. 30: $wynik=@mysql_query("select id_usera from uzytkownik where nazwa_uz='".$nazwa_uz."'");
  2. 31: while ($proba=mysql_fetch_array($wynik)) {
  3. 32: $wysw=htmlspecialchars($proba['id_usera']);
  4. 33: echo "$to ten numer $wysw i tocka $nazwa_uz aa"; }


Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in E:\xampp\htdocs\ogranicz.php on line 31

Funkcja informująca o zalogowanym użytkowniku nie przekazuje danych na stronie mimo, że jest tam zaimplementowana.

Musiałem wrzucić całą funkcję do kodu i teraz działa.
nospor
zapodalem ci wczesniej tego linka:
Temat: Jak poprawnie zada pytanie
widze olales totalnie.

Prosze poraz ostatni: zapoznaj sie z tym linkiem i zastosuj do podanych tam porad. Chodzi szczegolnie o wyswietlanie bledow oraz wyswietlanie bledow zapytan.
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.