Autor Zpráva
Goumbik
Profil
Dobrý den,tohle je ban navstevnikovi,

<?php
@mysql_connect ("localhost","uživatel","heslo") or die ("Unsuccessful login"); // login
@mysql_select_db ("test") or die ("Nepovedlo se vybrat databázi"); // databáze
$user_ip = $_SERVER['REMOTE_ADDR']; // příchozí IP
$query = mysql_query ("SELECT * FROM ip"); // výběr tabulky
while ($mysql_ip = mysql_fetch_array ($query)) { // vybírání dat z tabulky
if ($user_ip = $mysql_ip['ip']) { // porovnání dat
echo "<center>Máš BAN, záškodníku!</center>";
exit; // script se dál neprovede
}
}
?>
<center>......</center>

Jak to bude ale,kdyz mam RS a chci proste zadat do input pole ip adresu,stisknout SUBMIT a od teto chvile ma napr pocitac s IP : 80.78.15.165 utrum.Diky
Jan Tvrdík
Profil
Goumbik
Celé je to napsané strašně špatně (kvůli porovnání dat se nemusí načítat celá tabulka a operátor porovnání je == ne =)!
<?php
@mysql_connect ("localhost","uživatel","heslo") or die ("Unsuccessful login"); // login 
@mysql_select_db ("test") or die ("Nepovedlo se vybrat databázi"); // databáze 
$user_ip = $_SERVER['REMOTE_ADDR']; // příchozí IP 
$query = mysql_query ("SELECT ip FROM ip WHERE ip = '$user_ip'"); // výběr tabulky 
if(mysql_num_rows($query) > 0)
{
  echo "<center>Máš BAN, záškodníku!</center>"; 
  exit; // script se dál neprovede 
}
?>
Goumbik
Profil
Dekuji,a tedy a jakym php scriptem pres input pole zapisi danou ip do tabulek,aby se z ni potom mohlo porovnavat ?
Jan Tvrdík
Profil
Přečti si http://www.linuxsoft.cz/article.php?id_article=357

Přibližně, píšu z hlavy:
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<input type="text" name="ip">
<input type="submit">
</form>

<?php if(isset($_POST["ip"]))
{
  @mysql_connect ("localhost","uživatel","heslo") or die ("Unsuccessful login"); // login 
  @mysql_select_db ("test") or die ("Nepovedlo se vybrat databázi"); // databáze 
  $query = mysql_query ("INSERT into ip  (ip) values('".$_POST["ip"]."')"); // vložení záznamu do tabulky
}
?>

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: