What's new

PHP [G?sior] Chat

Status
Not open for further replies.

Zizi Knight

Advanced User
Joined
Jun 14, 2008
Messages
467
Reaction score
34
Zrobi?em sobie taki skrypt na chat
Wykonujemy w bazie taki zapytanie;
PHP:
create table chat
( id_chat int unsigned not null auto_increment primary key,
kiedy char(20) not null,
tresc char(125) not null,
kto char(20) not null
)
Potem tworzymy plik chat.php
PHP:
<?PHP
/*create table chat
( id_chat int unsigned not null auto_increment primary key,
kiedy char(20) not null,
tresc char(125) not null,
kto char(20) not null
);*/

$main_content .= '<iframe src="chat/wyswiatl.php" width="100%" height="600px" frameborder="0px" style="border: 0px;">
Tu napis lub odwo?anie w przypadku gdy przegl?darka nie 
obs?uguje p?ywaj?cych ramek</iframe><br />';
$main_content .='
<iframe src="chat/dodaj.php" width="100%" height="40px" frameborder="0px" style="border: 0px;">
Tu napis lub odwo?anie w przypadku gdy przegl?darka nie 
obs?uguje p?ywaj?cych ramek</iframe><br />';
$main_content .='autor: <a href="http://sixweb.cba.pl">Zizi</a>';
?>
UWAGA; ja acc trzymam w osobnym folderze ale je?li macie w g??wnym to zamie?cie;
include "$DOCUMENT_ROOT/$PODFOLDER/config-and-functions.php";
na
include "$DOCUMENT_ROOT/config-and-functions.php";
i tworzymy folder chat a w nim
wyswiatl.php;
PHP:
<meta http-equiv="Refresh" content="5" />

<?PHP
//zmienne
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$PODFOLDER = "gesior";
$border['light'] = "#F1E0C6";
$border['dark'] = "#D4C0A1";
$border['vdark'] = "#505050";
//include "$DOCUMENT_ROOT/$PODFOLDER/index.php";
include "$DOCUMENT_ROOT/$PODFOLDER/config-and-functions.php";
$posts_chat = $SQL->query('SELECT * FROM chat');
//wyswietlanie
$nr_postu = 0;
echo '<table border=0 cellspacing=1 cellpadding=4 width=100%><tr bgcolor='.$border['vdark'].'><td width="50px">Data</td><td>Tresc</td><td width="80px">Podpis</td></tr>';
foreach($posts_chat as $post){
	if(is_int($nr_postu / 2))
	$bgcolor = $border['light'];
	else
	$bgcolor = $border['dark'];
	$nr_postu++;
echo '<tr bgcolor='.$bgcolor.'><td>'.$post['kiedy'].'</td><td>'.$post['tresc'].'</td><td>'.$post['kto'].'</td></tr>';
}
?>
dodaj.php;
PHP:
<?PHP
//zmienne
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$PODFOLDER = "gesior";
$border['light'] = "#F1E0C6";
$border['dark'] = "#D4C0A1";
$border['vdark'] = "#505050";
//include "$DOCUMENT_ROOT/$PODFOLDER/index.php";
include "$DOCUMENT_ROOT/$PODFOLDER/config-and-functions.php";
//funkcje z index.php
session_start();
//##### CONFIG #####
//##### LOGIN #####
//check is player logged
$logged = FALSE;
if(isset($_SESSION['account'])) {
	$account_logged = $ots->createObject('Account');
	$account_logged->load($_SESSION['account']);
	if($account_logged->isLoaded() && $account_logged->getPassword() == $_SESSION['password']) {
		$logged = TRUE;
		$group_id_of_acc_logged = $account_logged->getPageAccess();
	}
	else
	{
		$logged = FALSE;
		unset($_SESSION['account']);
		unset($account_logged);
	}
}
//login with data from form
$login_account = strtoupper($_POST['account_login']);
$login_password = trim($_POST['password_login']);
if(!$logged && !empty($login_account) && !empty($login_password))
{
	$login_password = password_ency($login_password);
	$account_logged = $ots->createObject('Account');
	$account_logged->find($login_account);
	if($account_logged->isLoaded())
	{
		if($login_password == $account_logged->getPassword())
		{
			$_SESSION['account'] = $account_logged->getId();
			$_SESSION['password'] = $login_password;
			$logged = TRUE;
			$account_logged->setCustomField("page_lastday", time());
			$group_id_of_acc_logged = $account_logged->getPageAccess();
		} else
			$logged = FALSE;
	}
}

//wyswietalnie pola
if($_POST['tresc'] && $_POST['kto']){
$SQL->query('INSERT  INTO `chat` SET kiedy=\''.date("Y-m-d G:i:s").'\', tresc=\''.addslashes(trim($_POST['tresc'])).'\', kto=\''.addslashes(trim($_POST['kto'])).'\'');
}
echo '<form method="post" action="#">
<span bgcolor='.$border['light'].'><input type="text" name="tresc" maxlength="125" size="70%"></span><span bgcolor='.$border['dark'].'>';
echo "<select name='kto'>";
$players_choose = $SQL->query("SELECT `players`.`name`, `players`.`id` FROM `players` WHERE `players`.`account_id` = ".(int) $account_logged->getId())->fetchAll(); 
foreach($players_choose as $player)   
{   
echo '<option value="'.$player['name'].'"';   
if($player['id'] == $char_id)   
echo ' selected="selected"';   
echo '>'.$player['name'].'</option>';   
}
echo '</span><input type="submit" value="Dodaj">';

//SS;
chatps.png
 

Szowel

Active User
Joined
Oct 23, 2010
Messages
119
Reaction score
1
Age
31
Odp: [G?sior] Chat

Nie dzia?a , wklei?em php do layouta i b??d wyskakiwa? , w notepad++ to si? jako? nie klei?o razem...

edit: ok , poradzi?em sobie z tym , na ko?cu kodu trzeba by?o dopisa?
Code:
?>
.

Ale pojawi? si? kolejny b??d na stronce acc makera:
Code:
Fatal error: Cannot redeclare isPremium() (previously declared in C:\Xamppp\xampp\htdocs\config-and-functions.php:79) in C:\Xamppp\xampp\htdocs\config-and-functions.php on line 82
 
Last edited:
Joined
Jan 16, 2010
Messages
33
Reaction score
0
Odp: [G?sior] Chat

Kolejne luki SQL Inject w twoich skryptach. ]){ $SQL->query('INSERT INTO `chat` SET kiedy=\''.date("Y-m-d G:i:s").'\', tresc=\''.stripslashes(trim($_POST['tresc'])).'\', kto=\''.stripslashes(trim($_POST['kto'])).'\''); f
 

Kowol

Senior User
Joined
Apr 9, 2008
Messages
1,250
Reaction score
158
Odp: [G?sior] Chat

@Up
Fajnie, ale nie musisz tego pisa? w ka?dym temacie. To, ?e pozna?e? nowe zagadnienie dot. luk ka?dy ju? wie.

@Topic
Poznaj najpierw struktur? gesiora, bo rozpoczynasz drug? sesje cho? jedna jest ju? rozpocz?ta w indexie.
Config-and-functions.php - po co to includujesz, skoro w indexie jest on ju? za??czony:
Code:
//##### CONFIG #####
include('config-and-functions.php');
 

roniim

New User
Joined
Jan 20, 2010
Messages
3
Reaction score
0
Odp: [G?sior] Chat

Wi?c m?g?by kto? powiedzie? co tu zamieni? ?eby nie by?o tej luki co autor stworzy? i ten b??d z otwieraniem sesji??
 

Myaka

Advanced User
Joined
Jun 20, 2011
Messages
330
Reaction score
0
Odp: [G?sior] Chat

skrypt z b??dem
Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\wyswiatl.php:3) in D:\xampp\htdocs\config-and-functions.php on line 71

poza tym co to jest cache?
 

Dubler

Lua Factory =)
Joined
Apr 8, 2009
Messages
1,874
Reaction score
112
Odp: [G?sior] Chat

@up
by?o ju? ?e ten b??d jest wi?c nie spamuj poraz drugi... cashe to pami?? podr?czna... jak ty w ogole masz komputer jak nie ogarniasz co to cashe jest? :D
 

Myaka

Advanced User
Joined
Jun 20, 2011
Messages
330
Reaction score
0
Odp: [G?sior] Chat

no wlasnie nie, bo ten b??d jest ca?kiem inny, inna linijka, inne pliki

poza tym co wnosi twoja odpowiedz? nic
 
Status
Not open for further replies.
Top