Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Banowanie problem
Forum PHP.pl > Forum > Przedszkole
kt1
Witam,
  1. <? $sciezka = 'a.txt';
  2. $lista_ip = file($sciezka);
  3.  
  4.  
  5. foreach($lista_ip as $ip)
  6. {
  7. if(eregi(trim($ip), getenv('REMOTE_ADDR')))
  8. {
  9. die('Nie masz dostępu do tej strony. Twój adres został zbanowany.');
  10. }
  11. }
  12.  
  13. ?>

mam takie coś ale nie mam pojęcia jak zrobić żeby pobierał dane z bazy MYSQl questionmark.gif
pomoże mi ktoś pomoże questionmark.gif
nospor
zapytanie:
  1. SELECT nazwapolazIP FROM tabela;


Do obslugi zapytania w php sluza funkcje z rodziny mysql_
http://pl.php.net/manual/pl/function.mysql-query.php
http://pl.php.net/manual/pl/function.mysql-fetch-array.php
i inne. Milej lektury

proszę poprawić tytuł o znacznik zgodnie z zasadami forum Przedszkole:
Temat: Tematyka i zasady panujace na forum Przedszkole
kt1
Aha to sobie poczytam, poprawiłem temat.
ehh nie wychodzi mi nic :] może ktoś pomoże.
nospor
cos szybko ci idzie te "probowanie"...

Jaki masz problem w zaimplementowaniu tego kodu z manuala:
  1. <?php
  2. mysql_connect('localhost', 'uzytkownik', 'haslo') or
  3.  die('Nie można się połączyć: ' . mysql_error());
  4.  
  5. $result = mysql_query("SELECT id, nazwa FROM tabela");
  6.  
  7. while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
  8.  printf ("ID: %s Nazwa: %s", $row[0], $row[1]);
  9. }
  10. ?>

?
kt1
  1. <?php
  2. ?php
  3. mysql_connect('localhost', 'uzytkownik', 'haslo') or
  4.  die('Nie można się połączyć: ' . mysql_error());
  5.  
  6. $result = mysql_query("SELECT id, nazwa FROM tabela");
  7.  
  8. // i tu nie mam pojęcia co mam zrobić dalej 
  9.  //nie wiem czy mam z while korzystać czy z FOREACH
  10. ?>
Cienki1980
Możesz skorzystać zarówno z while jak i z foreach.

W Twoim pierwszym kodzie wykorzystałeś foreacha to tutaj zrób tak samo. Tam miałeś tablicę z wynikami tu też masz tablicę z wynikami.
kt1
aha
  1. <?php
  2. mysql_connect('localhost', 'root', '') or
  3.  die('Nie można się połączyć: ' . mysql_error());
  4. mysql_select_db('strona');
  5.  
  6. $result = mysql_query("SELECT id, ip FROM users");
  7.  
  8. foreach($row = mysql_fetch_array($result, MYSQL_NUM))
  9. {
  10. if(eregi(trim($ip), getenv('REMOTE_ADDR')))
  11. }
  12. {
  13. die('Nie masz dostępu do tej strony. Twój adres został zbanowany.');
  14. }
  15.  
  16. ?>

zrobiłem coś takie ale błąd wyskakuje
  1. <?php
  2. Parse error: parse error, unexpected ')' in D:Program FilesWebServhttpdwwwban.php on line 22 i nie wiem co zrobić stym .
  3. ?>
Cienki1980
Namieszałeś z klamrami.
  1. <?php
  2. mysql_connect('localhost', 'root', '') 
  3.  or  die('Nie można się połączyć: ' . mysql_error());
  4.  
  5. mysql_select_db('strona');
  6. $result = mysql_query("SELECT id, ip FROM users");
  7. while($row = mysql_fetch_array($result, MYSQL_NUM))
  8. {
  9.  if(eregi(trim($row['ip']), getenv('REMOTE_ADDR')))
  10. die('Nie masz dostępu do tej strony. Twój adres został zbanowany.');
  11. }
  12.  
  13.  
  14. ?>


Manual, kursy i powoli do przodu.
kt1
  1. <?php
  2. Warning: eregi() [function.eregi]: REG_EMPTY in D:Program FilesWebServhttpdwwwban.php on line 10
  3.  
  4. Warning: eregi() [function.eregi]: REG_EMPTY in D:Program FilesWebServhttpdwwwban.php on line 10
  5.  
  6. Warning: eregi() [function.eregi]: REG_EMPTY in D:Program FilesWebServhttpdwwwban.php on line 10
  7. ?>

:]
Cienki1980
Wartość pobierana z bazy jest pusta.
Czyli zmienna $row['ip']=='';

  1. <?php
  2. mysql_connect('localhost', 'root', '')  
  3.  or  die('Nie można się połączyć: ' . mysql_error());
  4.  
  5. mysql_select_db('strona');
  6. $result = mysql_query("SELECT id, ip FROM users");
  7.  
  8. while($row = mysql_fetch_array($result, MYSQL_NUM))
  9. { 
  10.  //if(eregi(trim($row['ip']), getenv('REMOTE_ADDR')))
  11.  // die('Nie masz dostępu do tej strony. Twój adres został zbanowany.');
  12.  echo "<pre>";print_r($row);echo "</pre>";
  13. }
  14. ?>


Zobacz czy taki kod zwróci Ci jakieś wartości.
kt1
  1. <?php
  2. (
  3. [0] => 40
  4. [1] => 127.0.0.1
  5. )
  6.  
  7. (
  8. [0] => 39
  9. [1] => 127.0.0.1
  10. )
  11.  
  12. (
  13. [0] => 41
  14. [1] => 127.0.0.1
  15. )
  16. ?>
Cienki1980
zamiast mysql_fetch_row() wpisz mysql_fetch_array()
reszte kodu pozostaw bez zmian .. czyli wersja z eregi()
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.