Witam, na początku chciałbym przeprosić za shitstorm który wywołałem w poprzednich moich wątkach. Napisałem dobry skrypt, ale nie miał prawa działać, bo skrypt główny był źle napisany. Wracając do tematu - chcę napisać panel administratora do zarządzania czatem. Czat składa się z index.php gdzie jest jego budowa, insert.php gdzie skrypt wkłada informacje do bazy danych, i logs.php gdzie je odczytuje. Napisałem skrypt który wyglądał w ten sposób: (to logs.php)
$result1 = mysql_query("SELECT * FROM logs ORDER by id ASC");
session_start();
$steamid = $_SESSION['steamrealid'];
while($extract = mysql_fetch_array($result1)){
echo "<span class='hello'>"."<img style='border-radius: 50%; padding-right: 3px;' src='".$extract['avatar']."'>"."<span class='";
if($extract['steamid'] == 76561198093864167) echo "admin"; else echo "uname";
echo "'>";
echo $extract['username']. "</span>: <span class='msg'>" . $extract['msg']. "</span></span><br />";
}
i dodałem panel admina w ten sposób:
if($steamid == 76561198093864167 && $_SESSION['checked']!=0){
echo " "."<a href=\"delete.php\">Usun ostatnia wiadomosc tego uzytkownika</a><br />";
$userid = $extract['id'];
echo "Id tej wiadomosci: ".$userid."<br />";
$_SESSION['useridi'] = $userid;
$_SESSION['steamrealidd'] = $extract['steamid'];
echo " "."<a href=\"deleteall.php\">Usun wszystkie wiadomosci uzytkownika</a>"."<br/>";
echo " "."<a href=\"ban.php\">Zbanuj uzytkownika"."</a><br/>";
echo " "."<a href=\"unban.php\">Unbanuj uzytkownika"."</a><br/>";
}
I tu jest problem. Ten skrypt działa, ale <strong>tylko na ostatnią wiadomość, która jest zapisana w bazie danych</strong>, bo mysql_fetch_array. Chciałbym otrzymać taki efekt, żeby to działało na <strong>wiadomość, pod którą jest ten cały zapis "Zbanuj uzytkownika" itd.</strong> W jaki sposób mogę to osiągnąć?
A i pamiętam o mysqli ale chcę najpierw napisać ten skrypt :)
Zeby nie bylo niejasnosci: skrypt insert.php:
<?php
$msg = htmlentities($_REQUEST['msg']);
session_start();
$con = mysql_connect('localhost', 'BeAwesome', 'giveawaye');
mysql_select_db('csgogoat', $con);
$uname = $_SESSION['steamid'];
$avatar = $_SESSION['avatar'];
$steamid = $_SESSION['steamrealid'];
if($_SESSION['checked']==0){
echo "Please log in to use chat!";
exit();
}
$result1 = mysql_query("SELECT * FROM logs ORDER by id ASC");
//$rezultat = mysql_query("SELECT steamid FROM banned WHERE steamid=".$steamid);
//$rezultat1 = mysql_num_rows($rezultat);
//if($rezultat1==0){
mysql_query("INSERT INTO logs(`username`, `msg`, `avatar`, `steamid`) VALUES('$uname', '$msg', '$avatar', '$steamid')");
//} else {
//die("You're banned!");
//}
if($_SESSION['checked']!=0){
//if($rezultat1==0){
while($extract = mysql_fetch_array($result1)){
echo "<span class='hello'>"."<img style='border-radius: 50%; padding-right: 3px;' src='".$extract['avatar']."'>"."<span class='";
if($extract['steamid'] == 76561198093864167) echo "admin"; else echo "uname";
echo "'>";
echo $extract['username']. "</span>: <span class='msg'>" . $extract['msg']. "</span></span><br>";
} //}else {
//die("You're banned!");
//}
}
?>
//komentarze to pozostałości po starym skrypcie, który nie działał tak jak powinien.
Sesje steamid, avatar są definiowane w skrypcie logowania, skąd są pobierane z Steam API.
Pozdrawiam.