Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Zapisywanie rekordów z tabeli do zmiennej i sesji
Popek231
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 2
Dołączył: 30.03.2012
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


Witam, napisałem kod, który zanim zamieni aktualną date i IP w tabeli powinien ją pobrać i zapisać do zmiennej i/lub sesji, niestety kod nie chce działać.. kod który zamienia działa bez zarzutu...

KOD:
  1. $login_pass = mysql_fetch_array($wynik);
  2. $_SESSION['LoginAccept'] = $login_pass['login'];
  3.  
  4. //$_SESSION['lastloginip'] = $login_pass['lastloginip'];
  5. //$_SESSION['lastlogin'] = $login_pass['lastlogin'];
  6.  
  7. //$_SESSION['lastloginip'] = mysql_query("SELECT 'last_login_ip' FROM $tabela WHERE login='$login'");
  8. //$_SESSION['lastlogin'] = mysql_query("SELECT 'last_login' FROM $tabela WHERE login='$login'");
  9.  
  10. $lastloginip = mysql_query("SELECT 'last_login_ip' FROM $tabela WHERE login='$login'");
  11. $lastlogin = mysql_query("SELECT 'last_login' FROM $tabela WHERE login='$login'");
  12. $_SESSION['lastloginip'] = $lastloginip;
  13. $_SESSION['lastlogin'] = $lastlogin;
  14. //echo mysql_error();
  15.  
  16. $data = date("Y-m-d H:i:s");
  17. $ip = $_SERVER['REMOTE_ADDR'];
  18. $wynik = mysql_query("UPDATE $tabela SET last_login_ip='$ip', last_login='$data' WHERE login='$login'");
  19.  
  20. header('Location: index.php?page=logged&communicate=login');


MOJE DODATKOWE PYTANIE DO KODU:
która z zakomentowanych lub nie, części jest dobra - i mogę ich nie komentować?


--------------------
Pomogłem? Wiesz co kliknąć w odpowiednim miejscu :)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) Zajrzyj do manuala i zobacz co robi mysql_query(). Bo wbrew temu co myslisz, to nie zwraca ani rekordu ani kolumny
2) Apostrofow nie uzywa sie do otaczania nazw kolumn


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Popek231
post
Post #3





Grupa: Zarejestrowani
Postów: 71
Pomógł: 2
Dołączył: 30.03.2012
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


1. To dlaczeog mysql_query(); zrwaca TOP5 przez takie coś?
  1. $TOP5 = mysql_query("SELECT `id`, `login`, `score` FROM $tabela ORDER BY `score` LIMIT 5");

Dobra, poczytam o tym jeszcze:D

2. W początkowej wersji nie było, ale zmieniłem, ponieważ pomyślałem, że w tym może być błąd :)
- już w kodzie usunąłem :)
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ad1) Poniewaz tam gdzies dalej wkodzie robisz mysql_fetch_array, ktore to wlasnie dopiero odbiera rekordy z zapytania. W kodzie co tu masz, masz samo mysql_query, kapisz? To naprawde proste a wszytko dokladnie opisane w manualu.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Popek231
post
Post #5





Grupa: Zarejestrowani
Postów: 71
Pomógł: 2
Dołączył: 30.03.2012
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


To dlaczego taki kod nie działał?
  1. $login_pass = mysql_fetch_array($wynik);
  2. $_SESSION['LoginAccept'] = $login_pass['login'];
  3.  
  4. $_SESSION['lastloginip'] = $login_pass['lastloginip'];
  5. $_SESSION['lastlogin'] = $login_pass['lastlogin'];


Ten post edytował Popek231 19.11.2013, 14:09:12


--------------------
Pomogłem? Wiesz co kliknąć w odpowiednim miejscu :)
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$login_pass = mysql_fetch_array($wynik);

A skad ja mam niby wiedziec skad ci sie wziela zmienna $wynik? Wrozyc mam? Bo chyba gdzies przypisales do niej wynik mysql_query?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Popek231
post
Post #7





Grupa: Zarejestrowani
Postów: 71
Pomógł: 2
Dołączył: 30.03.2012
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


wybacz, jakiś nie swój dziś jestem:D

  1. $wynik=mysql_query("SELECT * FROM $tabela WHERE login='$login' and pass='$pass' and status=1");
  2. if (mysql_num_rows($wynik) == 1) {


jeśli hasło, login i status jest git to idzie dalej;)

czyli dokładniej to:

  1. $wynik=mysql_query("SELECT * FROM $tabela WHERE login='$login' and pass='$pass' and status=1");
  2. if (mysql_num_rows($wynik) == 1) {
  3. $login_pass = mysql_fetch_array($wynik);
  4. $_SESSION['LoginAccept'] = $login_pass['login'];
  5.  
  6. $_SESSION['lastloginip'] = $login_pass['lastloginip'];
  7. $_SESSION['lastlogin'] = $login_pass['lastlogin'];
  8. }


---
czyli w sumie jest tam mysql_query(); ...

ale w każdym skrypcie jaki szukałem na google jest właśnie to..
więc możesz mnie nakierować..? dzięki:)


--------------------
Pomogłem? Wiesz co kliknąć w odpowiednim miejscu :)
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Czyli co? Ten kod nadal ci nie dziala?
ZNaczy ze
albo nie znalazl rekordu
albo masz blad zapytania

Bardzo pozytecznie wskazowki jak szukac bledu:
Temat: Jak poprawnie zada pytanie
Przeczytaj temat uwaznie i zastosuj sie prawie do wszystkiego


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Popek231
post
Post #9





Grupa: Zarejestrowani
Postów: 71
Pomógł: 2
Dołączył: 30.03.2012
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


hmm... jednak miałem błąd w napisanym przeze mnie tekście...
zamiast $login_pass['lastlogin'], powinno być $login_pass['last_login'] - tak jak w bazie mam...

moja wina.. :D
wybacz:D

dzięki za pomoc wszystkim :)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 07:59