• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Przepisanie PHP

Cloud VPS
–2 głosów
279 wizyt
pytanie zadane 22 lutego 2016 w PHP przez MatiiTv Gaduła (3,800 p.)

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.

 

1 odpowiedź

–1 głos
odpowiedź 22 lutego 2016 przez Mateusz11 Pasjonat (22,910 p.)
$result1 = mysql_query("SELECT * FROM logs ORDER by id ASC");
session_start();

session_start(); Daje się na samej górze :)

 echo "<span class='hello'>"."<img style='border-radius: 50%; padding-right: 3px;' src='".$extract['avatar']."'>"."<span class='";

Chyba za dużo ''

komentarz 22 lutego 2016 przez MatiiTv Gaduła (3,800 p.)
Nie wiem czy zrozumiałeś moje pytanie :)
komentarz 22 lutego 2016 przez Mateusz11 Pasjonat (22,910 p.)
Ale jak skrypt ma działać skoro podstawowe dane nie mogą być przesyłane? (session_start();) :)
komentarz 22 lutego 2016 przez MatiiTv Gaduła (3,800 p.)

Przepraszam :/ Urwałem początek kodu. 



<?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!");
    //}
}
?>

Dobrze jest :]

Podobne pytania

0 głosów
2 odpowiedzi 770 wizyt
pytanie zadane 22 kwietnia 2022 w Programowanie przez pserl Nowicjusz (120 p.)
0 głosów
1 odpowiedź 531 wizyt
pytanie zadane 20 maja 2017 w C# przez therrax Nowicjusz (240 p.)
0 głosów
0 odpowiedzi 174 wizyt
pytanie zadane 14 maja 2016 w C# przez therrax Nowicjusz (240 p.)

93,457 zapytań

142,452 odpowiedzi

322,722 komentarzy

62,837 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...