Jump to content
HelpER

Poradnik, jak zorbić banowanie userów na stronie.

Recommended Posts

HelpER

Na początek dodajemy kolumny do tabeli użytkowników, jeśli taką nie posiadamy należy ją zrobić. Kolumny dodajemy przez phpmyadmin, klikając nazwę tabeli z userami, po czym klikamy struktura. Po tej czynności na samym dole dodajemy 3 pola. 
 

data_ban - TIMESTAMP
data_unban - TIMESTAMP
perm



i zatwierdzamy.

Musimy mieć zapytanie, które wyszuka użytkowników:
 

$link=mysql_query(SELECT * FROM users WHERE user_id<>1); while($wiersz=mysql_fetch_array($link)) {
TUTAJ powinna być tabelka z danymi userow oraz naszym kodem form
}


Następnie dodajemy do tabeli wyświetlania taki oto kod:
 

if($wiersz[perm]>0) { ///Sprawdzamy czy to ban na zawsze                                                           if ($wiersz[perm]==2) { ///Sprawdzamy czy to ban na czas
$dni = ceil(( (strtotime($wiersz[data_unban])) - time() ) / (60*60*24)); if ($dni<=0) { $dni=0; }
echo "Pozostało dni: ".$dni." | "; } else { echo "Ban permamentny | "; }
echo <a href="admin.php?task=odbanuj&user_id=.$wiersz[user_id].">Odbanuj</a>; } else {
echo <form method="POST" action="admin.php?task=banuj&user_id=.$wiersz[user_id].">
<select name="czas" size="1">
<option value="0">Ban permamentny</option>
<option value="30">1 miesiąc</option>
<option value="7">7 dni</option>
<option value="3">3 dni</option>
<option value="1">1 dzień</option>
</select>
<input type="submit" name="submit" value="Ok">
</form>
; }



POST = metoda przesyłania zmiennych
ACTION = po kliknięciu przenosi na stronę gdzie wykona się skrypt



Teraz, po kliknięciu OK, wykonuje się skrypt.
 

if(isset($_GET[task]==banuj && isset($_GET[user_id])) {
	$user_id=$_GET[user_id]; if (isset($_POST[czas])) { if($_POST[czas]==0) { //perm
			mysql_query("UPDATE `users` SET `perm`=1 WHERE `user_id`=$user_id"); } else { //czasowy
			$data_ban = time();
			$ile_dni = $_POST[czas];
			$data_unban = time() + 60*60*24*$ile_dni;
			mysql_query("UPDATE `users` SET `perm`=2, `data_ban`=FROM_UNIXTIME(".$data_ban."), `data_unban`=FROM_UNIXTIME(".$data_unban.") WHERE `user_id`=$user_id"); }
		echo <script language="JavaScript">
<!--
window. location ="admin.php?task=listauserow";
//-->
</script >; }


Teraz wystarczy dodac warunek na podstronie:
 

if($wiersz["perm"]==1) {
echo  Masz bana na zawsze. Nie masz dostepu do strony.; } else if($wiersz["perm"]==2) { if(strtotime($rekord[data_unban]) < time()) {
mysql_query("UPDATE `users` SET `perm`=0 WHERE `user_id`=".$rekord[user_id].""); //unban
echo Twoje konto zostalo odbanowane.; Header("Location: index.php"); } else {
$dni = ceil(( (strtotime($rekord[data_unban])) - time() ) / (60*60*24));
echo Masz bana jeszcze przez:; if ($dni<=0) { $dni=0; } Header("Location: wyloguj.php"); }


I teraz kod odbanowywania:

if(isset( $_GET[task]==odbanuj && isset($_GET[user_id])) {
        $user_id=$_GET[user_id];

        mysql_query("UPDATE `users` SET `data_unban`=FROM_UNIXTIME(".time()."), `perm`=0 WHERE `user_id`=$user_id");
				echo <script language="JavaScript">
<!--
window. location ="admin.php?task=listauserow";
//-->
</script >; }

Poradnik pisany na szybko, pisać jak będą problemy. 

Edited by Michael

Share this post


Link to post
Share on other sites
Guest

Kod wygląda chaotycznie w dodatku jest masa zbędnych pierdół. Gdzieś ty się nauczył takich nawyków '1', `rowname` itp ?! Action to akcja. Reasumując kod wygląda jakby był sklejony, chyba że masz nawyk raz stawiać ` a raz nie, tak samo w reszcie przypadków.

Jak masz wklejać takie bezsensowne poradniki, odpuść sobie.

Share this post


Link to post
Share on other sites
bootek

viera to moze napisz lepszy a nie tylko krytykujesz:)

Share this post


Link to post
Share on other sites
jambos

przydatne:)

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
×
×
  • Create New...