Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Banowanie na IP
Forum PHP.pl > Forum > PHP
LucKy_skiLL
Mam taki kod, jest to plik banip.php, tworzy on pole tekstowe w którym wpisujemy IP i przycisk 'dodaj' niestaty po dodaniou, jakiegokolwiek IP nic się nie dzieje.


  1. if(isset($_GET['numery']) && $_GET['numery']=='dopisz'){
  2. $plik = fopen("ban.txt", "w");
  3. $ip = $_POST['ip'];
  4. fputs($plik, $ip);
  5. } else {
  6. echo "<div id='srodek'><div id='tlo'><form method='POST' action='banip.php?numery=dopisz'>
  7.  
  8. <table width='487' border='0'>
  9. <tr>
  10. <th scope='row'><div align='right'><span style='font-size:0.8em;'>Adres IP do zbanowania:</span></div></th>
  11. <td><div align='center'>
  12. <input type='text' name='textfield' id='textfield' />
  13. </div></td>
  14. </tr>
  15. <tr>
  16. <th scope='row'>&nbsp;</th>
  17. <td
  18. <div align='center'>
  19. <p><input type='submit' class='dodaj' value='' /></p>
  20. </div>
  21. </td>
  22. </tr>
  23. </table>
  24.  
  25. </form></div></div>";
  26. }
pedro84
Ten kod dodaje IP do pliku, to wszystko.
sobol6803
A co to jest $_POST['ip']?

Twój input wygląda tak:
  1. <input type='text' name='textfield' id='textfield' />

Więc, w POST widnieje jako $_POST['textfield'].
LucKy_skiLL
Zmieniłem na to:

  1. <input type='text' name='ip' id='textfield' />




I teraz działa, tylko w pliku ban.txt jest jedno IP, tzn. dodam 96.9324.3444 a potem 23.432.423432 to mi napisze to pierwsze, zamiast dodać pod spodem.
sobol6803
Zmień
  1. $plik = fopen("ban.txt", "w");

na
  1. $plik = fopen("ban.txt", "a");
LucKy_skiLL
Teraz dobrze, ale jak zrobić aby było jedno pod drugim ?
sobol6803
  1. $ip = $_POST['ip']."\n";
LucKy_skiLL
Teraz wygląda to tak:

77.253.137.1691.222.119.14277.87.1.25477.253.137.177.253.137.177.87.1.25
4
77.253.137.177.254.148.177.254.148.177.254.148.1



I jeszcze ucina mi dwie ostatnie cyfry IP
sobol6803
Pliku nigdy nie zamykasz.

  1. $plik = fopen("ban.txt", "a");
  2. $ip = $_POST['ip']."\n";
  3. fputs($plik, $ip);
  4. fclose($plik);
filipsiu
nie używaj
  1. \n
tylko
  1. PHP_EOL

Czyli będzie:
  1. $plik = fopen("ban.txt", "a");
  2. $ip = $_POST['ip'].PHP_EOL;
  3. fputs($plik, $ip);
  4. fclose($plik);

Jeśli możesz daj Pomógł bardzo mi na tym zależy gdyż jestem tu nowy wink.gif
sobol6803
Cytat(filipsiu @ 12.07.2012, 18:31:04 ) *
Jeśli możesz daj Pomógł bardzo mi na tym zależy gdyż jestem tu nowy wink.gif


No, w końcu tak bardzo pomogłeś.
filipsiu
A Twój sposób działał ? Nie więc o co Ci chodzi ?
Żeby nie było teraz off-topu radzę zamknąć temat.
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.