Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Błąd w skrypcie odwiedzin
Forum PHP.pl > Forum > Przedszkole
zavada
Witam!
Mam taki problem w skrypcie:

  1. <?php
  2.  
  3.  
  4. $ip = $_SERVER['REMOTE_ADDR'];
  5.  
  6. $query = "SELECT * FROM locked WHERE `ip` = '$ip'";
  7. $result = mysql_query ($query);
  8. if (mysql_num_rows ($result) != 0) {
  9.  $row = mysql_fetch_array ($result);
  10.  if ($row['type'] == 4) {
  11.    header ("Location: locked.html");
  12.  }
  13.  if ($row['type'] == 2) {
  14.    header ("Location: locked.html");
  15.  }
  16.  if ($row['type'] == 1 AND $_SESSION['visit'] != '1') {
  17.    header ("Location: warning.html");
  18.  }
  19. }
  20.  
  21. if ($_SESSION['visit'] != '1') {
  22.  $_SESSION['visit'] = '1';
  23.  $query = "SELECT * FROM locked WHERE `ip` = '$ip'";
  24.  $result = mysql_query ($query);
  25.  if (mysql_num_rows ($result) == 0) {
  26.    $type = '3';
  27.    $query = "INSERT INTO locked (`ip` ,`visits` ,`last_visit` ,`type`, `comment`) VALUES ('$ip', '1', NOW(), '$type', '')";
  28.    mysql_query ($query);
  29.  }
  30.  else {
  31.    $row = mysql_fetch_array ($result);
  32.    $ip = $row['ip'];
  33.    $visits = $row['visits'] + 1;
  34.    $type = $row['type'];
  35.    $query = "UPDATE locked SET `visits` = '$visits', `type` = '$type', `last_visit` = NOW() WHERE `ip` = '$ip'";
  36.    mysql_query ($query);
  37.  }
  38. }
  39.  
  40. ?>


Dla wartości 4 i 2 działa, a dla 1 - nie. Zapewne chodzi o sesję, bo usunąłem to $_SESSION['visit'] != '1' i działało. (wyciąłem łączenie z bazą MySQL) Proszę o pomoc!
lewy87r
hmm... a co ma sie wykonac dla jedynki ?

generalnie napisz cos wiecej bo wedlog tego skryptu to dla jedynki nic nie powinno sie chyba wykonac ;]
jesli chodzi o $_SESSION['visit']
zavada
1 to ostrzeżenie (w banowaniu użytkowników). $_SESSION['visit'] to sesja, która sprawdza, czy jest to wejście na strone, czy przejście z inneh poodstrony (jak wchodzi się na strone, to sesja jest równa ''). Ja sprawdzam, czy nie jest pusta, jak jest pusta,to znaczy że ktoś wszedł na stronę i zmieniam ją na 1, a jeśli ktoś przeszedł z innej podstrony to jest równa 1 i nie ma pokazywać ostrzeżenia.
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.