Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]update podczas wylogowywania.
Forum PHP.pl > Forum > Przedszkole
GoOx
Witam,

mam oto taki kod:

  1. <?php
  2. $user_wyloguj_zal = $_SESSION['login'];
  3. $plik_licznika='licznik.txt';
  4. $stan_licznika=(int)file_get_contents($plik_licznika);
  5. $zapisz_new_ip_wyl = "UPDATE uzytkownicy SET ip='$stan_licznika' WHERE id='$user_wyloguj_zal'";
  6. $result_wyloguj_ip = mysql_query($zapisz_new_ip_wyl, $db_lnk)or die(mysql_error());
  7.  
  8. if (isset($_COOKIE[session_name()])) {
  9. setcookie(session_name(), '', time()-42000, '/');
  10. }
  11. header('Location: index.php');
  12. ?>


UPDATE jest spowodowany tym że na stronie mam auto login po adresie ip... chyba wiadomo o co chodzi ale to działa dobrze co mówiłem lecz update ip podczas wylogowania już nie... Nie wiem dlaczego ten sposób działał na mojej stronie wszędzie dobrze.

taki mam error:

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/recenzeo/public_html/wyloguj.php on line 7


PS wylogowywanie działało dobrze póki nie dodałem górnego fragmentu kodu.
Chelo
Najłatwiej wyświetlić sobie na ekranie zapytanie z $zapisz_new_ip_wyl, wykonać go w phpmyadmin i będziesz wiedział w czym rzecz. Zamiast int używaj funkcji intval. Typ tabeli id jest zapewne int, a $_SESSION['login'] zawiera string.
mortus
Nie dołączasz pliku z połączeniem do bazy danych, czy też nie łączysz się w tym pliku z bazą danych, wobec czego zmienna $db_lnk jest niezdefiniowana i nie jest prawidlowym obiektem MySQL-Link.

EDIT: Dobrym zwyczajem jest używanie instrukcji exit(), po header(), ponieważ mimo pzekierowania nadal wykonywany jest kod po header().
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.