Подреждане и Записване

crazy_pi4

Registered
1. Как да подредя потребителите по име, ето кода:
Код:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<link href="style.css" type=text/css rel=stylesheet>
<center>
<img src=banner.jpg>
<body bgcolor=#000000><p>
<form method="POST" action=attacked.php>
<?php
$dir = "./";
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
echo "<table border=\"1\" cellspacing=\"0\">";
echo "<tr><td><font color=#0cb8ae><b><center>Шогун</td><td><font color=#0cb8ae><b><center>Жертви</td><td><font color=#0cb8ae><b><center>Злато</td> <td><font color=#0cb8ae><b><center>Победи</td> <td><font color=#0cb8ae><b><center>Загуби</td><td><font color=#0cb8ae><b><center>Атакувай</td></tr>";
while (($file = readdir($dh)) !== false) {
if ($file != 'Thumbs.db' && $file != '.' && $file != 'nomer_ban.inc' && $file != '..' && $file != '404.html' && $file != 'attack1.php' && $file != 'stats.php' && $file != 'online.php' && $file != 'style.css' && $file != 'game.php' && $file != 'registred.php' && $file != 'register.php' && $file != 'statistic.php' && $file != 'banner.jpg' && $file != 'gold.inc' && $file != 'army.inc' && $file != 'add.php' && $file != 'process.php' && $file != 'userinfo.php' && $file != 'useredit.php' && $file != 'include' && $file != 'admin' && $file != 'index.php' && $file != 'trade.php' && $file != 'traded.php' && $file != 'victims.inc' && $file != 'flood.php' && $file != 'rules.php' && $file != 'attack.php' && $file != 'attacked.php' && $file != 'win.php' && $file != 'floods.php' && $file != 'winner.php' && $file != 'lose.php' && $file != '.htaccess' && $file != 'zapis.php' && $file != 'ban.inc' && $file != 'edit.php' && $file != 'open.php' && $file != 'sql.sql' && $file != 'wins.php' && $file != 'loses.php' && $file != 'ips'){
$noext = current(explode(".",$file));
echo "<tr>";
echo "<td><font color=#0cb8ae><b><center><a href=\"http://ninjaaa.freehostia.com/$noext/\">$noext</a></td>";
echo "<td>";
echo "<font color=#0cb8ae><b><center>";
include "$dir/$file/victims.inc";
echo "</td>";
echo "<td>";
echo "<font color=#0cb8ae><b><center>";
include "$dir/$file/gold.inc";
echo "</td>";
echo "<td>";
echo "<font color=#0cb8ae><b><center>";
include "$dir/$file/wins.php";
echo "</td>";
echo "<td>";
echo "<font color=#0cb8ae><b><center>";
include "$dir/$file/loses.php";
echo "</td>";

echo "<td>";
echo "<font color=#0cb8ae><b><center>
<a href=\"attack.php?victim=$noext\">Атакувай</a></td>";
echo "</tr>";
}
}
echo "</table>";
closedir($dh);
}
}
?>
<p><br><br><b><a href="index.php">Начало</a></b><br><br><br><center><font color="#0cb8ae"><b>Създадена от Ивайло Петров<br>Модифицирана от Стоил Терзиев (ArchDevil)</font></center>

Потребителските имена се записват в база данни, таблица users поле username

1.1 Ако е възможно да има над статистиката линкове, от който да избирам как да подрежда т.е. По име ли, по жертви ли, по победи, загуби... и така (тея неща се записват във файлове, само потребителското име не...).. ако не само по име да се подрежда


2. Ето кода:
Код:
<?
include("include/session.php");
?>
 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<link rel="stylesheet" type="text/css" href="style.css" />
<center><img src=banner.jpg><p>
<body bgcolor=#000000>
<font color=#0cb8ae><b>
<?php
if($victim==$session->username){
echo "Не можете да нападате себе си!";
exit;
}
else{
?>
<?php
$floodfile = "flood.php"; 
$floodtime = 1800; 
$addedtime = time();
$ipaddress = getrealip();
if(flooder($ipaddress)){
echo "В рамките на 30 минути имате право само на една атака!<p><a href=index.php>Начало</a>";
exit;
}
else{
$floodfp = fopen($floodfile, "a");
fwrite($floodfp, "$addedtime|$ipaddress|\n");
fclose($floodfp);
}

function flooder($ipaddress){
global $floodtime, $floodfile;

$old_db = file($floodfile);
$new_db = fopen($floodfile, w);
$result = FALSE;
foreach($old_db as $old_db_line){
$old_db_arr = explode("|", $old_db_line);
if(($old_db_arr[0] + $floodtime) > time() ){
fwrite($new_db, $old_db_line);
if($old_db_arr[1] == $ipaddress){
$result = TRUE;
}
}
}
fclose($new_db);
return $result;
}

function getrealip(){
if(getenv('HTTP_X_FORWARDED_FOR')){
$ipaddress = $_SERVER['REMOTE_ADDR'];
if(preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", getenv('HTTP_X_FORWARDED_FOR'), $ipaddress3)){
$ipaddress2 = array('/^0\./', '/^127\.0\.0\.1/', '/^192\.168\..*/', '/^172\.16\..*/', '/^10..*/', '/^224..*/', '/^240..*/');
$ipaddress = preg_replace($ipaddress2, $ipaddress, $ipaddress3[1]);
}
}else{
$ipaddress = $_SERVER['REMOTE_ADDR'];
}
if($ipaddress == ""){ $ipaddress = "12.34.56.78"; }
return $ipaddress;
}
?>
<?
$file="$session->username/army.inc";
@$filesize=filesize($file);
@$fp = fopen ($file ,"r");
@$kolko=fread($fp,$filesize);
@fclose($fp);
?>
<?
$victim = $_POST['victim'];
$file="$victim/army.inc";
@$filesize=filesize($file);
@$fp = fopen ($file ,"r");
@$kolko2=fread($fp,$filesize);
@fclose($fp);
if($kolko > $kolko2){
include "win.php";
exit;
}
?>
<?
$filez="./$victim/gold.inc";
@$filesizez=filesize($file);
@$fpz = fopen ($filez ,"r");
@$kolkoz=fread($fpz,$filesizez);
@fclose($fpz);
$kolkoz = $kolkoz + 50;
$zapisz=$kolkoz;
$fpz = fopen ( "./$victim/gold.inc" ,"w");
fwrite($fpz, $zapisz );
fclose($fpz); 
include "lose.php";}
?>

Когато нападам себе си ми изписва, че не мога да се бия, но пак ми записва ип-то...и не мога до 30 мин. да бия
 
1.
Код:
$query = mysql_query("SELECT * FROM users ORDER BY username ASC");
Където username е колоната, по която да подрежда.

1.1.
Код:
echo "<a href=\"stranicata.php?order_by=username\">Подреди по username</а> | <a href=\"stranicata.php?order_by=wins\">Подреди по победи</а>";

$order = $_GET['order_by'];
if($order = "") {
$order_by = "username"; } else { $order_by = $order; }
$query = mysql_query("SELECT * FROM users ORDER BY $order by ASC");

2.
Код:
<?
include("include/session.php");
?>
 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<link rel="stylesheet" type="text/css" href="style.css" />
<center><img src=banner.jpg><p>
<body bgcolor=#000000>
<font color=#0cb8ae><b>
<?php
$victim = $_POST['victim'];

if($victim==$session->username){
echo "Не можете да нападате себе си!";
exit;
}
else {

$floodfile = "flood.php";
$floodtime = 1800;
$addedtime = time();
$ipaddress = getrealip();
if(flooder($ipaddress)){
echo "В рамките на 30 минути имате право само на една атака!<p><a href=index.php>Начало</a>";
exit;
}
else{
$floodfp = fopen($floodfile, "a");
fwrite($floodfp, "$addedtime|$ipaddress|\n");
fclose($floodfp);
}

function flooder($ipaddress){
global $floodtime, $floodfile;

$old_db = file($floodfile);
$new_db = fopen($floodfile, w);
$result = FALSE;
foreach($old_db as $old_db_line){
$old_db_arr = explode("|", $old_db_line);
if(($old_db_arr[0] + $floodtime) > time() ){
fwrite($new_db, $old_db_line);
if($old_db_arr[1] == $ipaddress){
$result = TRUE;
}
}
}
fclose($new_db);
return $result;
}

function getrealip(){
if(getenv('HTTP_X_FORWARDED_FOR')){
$ipaddress = $_SERVER['REMOTE_ADDR'];
if(preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", getenv('HTTP_X_FORWARDED_FOR'), $ipaddress3)){
$ipaddress2 = array('/^0\./', '/^127\.0\.0\.1/', '/^192\.168\..*/', '/^172\.16\..*/', '/^10..*/', '/^224..*/', '/^240..*/');
$ipaddress = preg_replace($ipaddress2, $ipaddress, $ipaddress3[1]);
}
}else{
$ipaddress = $_SERVER['REMOTE_ADDR'];
}
if($ipaddress == ""){ $ipaddress = "12.34.56.78"; }
return $ipaddress;
}
?>
<?
$file="$session->username/army.inc";
@$filesize=filesize($file);
@$fp = fopen ($file ,"r");
@$kolko=fread($fp,$filesize);
@fclose($fp);
?>
<?
$file="$victim/army.inc";
@$filesize=filesize($file);
@$fp = fopen ($file ,"r");
@$kolko2=fread($fp,$filesize);
@fclose($fp);
if($kolko > $kolko2){
include "win.php";
exit;
}
?>
<?
$filez="./$victim/gold.inc";
@$filesizez=filesize($file);
@$fpz = fopen ($filez ,"r");
@$kolkoz=fread($fpz,$filesizez);
@fclose($fpz);
$kolkoz = $kolkoz + 50;
$zapisz=$kolkoz;
$fpz = fopen ( "./$victim/gold.inc" ,"w");
fwrite($fpz, $zapisz );
fclose($fpz);
include "lose.php";}
?>
Няма логика да ти записва ip-то. Но беше задал $victim преди да си го взел от url-то...
 

Back
Горе