сял на система

ivanov123

Registered
трябва ми сял за :


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>×àò :)</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
</head
<body>
<form action="?" name="submit" method="post">
<input type="text" name="username"><br>
<textarea rows="4" cols="20" name="msg"></textarea><br>
<input type="submit" name="submit" value="Äîáàâè"> <a href="http://validator.w3.org/check?uri=referer" target="_blank">Valid HTML</a>
</form><hr>
<?php

$server="localhost"; //mysql õîñò
$user="root"; //mysql èìå
$pass="password"; //mysql ïàðîëà
$db="chat"; //èìå íà áàçàòà äàííè

$broi_msg="20"; //òóê çàäàâàìå êîëêî ñúîáùåíèÿ äà ïîêàçâà
$con=mysql_connect("$server", "$user", "$pass") or die("Error 1"); //ñâúðçâàìå ñå ñ mysql
mysql_select_db($db,$con) or die("Error 2"); // ñâúðçâàìå ñå ñ áàçàòà äàííè
$chars="set character set cp1251";mysql_query($chars); //òîçè êîä ïîìàãà äà ïîêàçâà äàííèòå êîèòî ñà íà áúëãàðñêè åçèê

$mysql_db=mysql_query("SELECT * FROM `chat` ORDER BY id DESC LIMIT 0,$broi_msg") or die("Error 3"); //òóê ñå ñâúðçâàìå ñ òàáëèöàòà íà áàçàòà äàííè
while($row=mysql_fetch_array($mysql_db)) //òóê èçêàðâàìå çàïèñàíèòå äàííè â áàçàòà äàííè
{
$username=$row['username']; //èçêàðâàìå ïîòðåáèòåëñêèòå èìåíà
$msg=$row['msg']; //èçêàðâàìå ñúîáùåíèÿòà

$username2=htmlspecialchars("$username", ENT_QUOTES); //òóê ïðåäîòâðàòÿâàìå äà ñå èçïúëíÿâàò < è > â èìåòî
$msg2=htmlspecialchars("$msg", ENT_QUOTES); //òóê ñúùî ïðåäîòâðàòÿâàìå äà ñå èçïúëíÿâàò < è > îáà÷å â ñúîáùåíèåòî

echo "<b>$username2</b>: $msg2<br>
"; //òóê èçêàðâàìå çàïèñèòå îò áàçàòà äàííè â php ôàéë
}
?>
</body>
</html>
<?php
if (isset($_POST['submit'])) { //òóê ïðàâèìå êîäîâåòå ïî-äîëó äà ñå èçïúëíÿâàò ñàìî êîãàòî ñå íàòèñíå áóòîíà "Äîáàâè"

$con2=mysql_connect("$server", "$user", "$pass") or die("Error 1"); //ñâúðçâàìå ñå ñ mysql
mysql_select_db("$db",$con2) or die("Error 2"); //ñâúðçâàìå ñå ñ áàçàòà äàííè
$chars="SET CHARACTER SET cp1251";mysql_query($chars); //òîçè êîä ïîìàãà äà äîáàâÿ äàííèòå êîèòî ñà íà áúëãàðñêè åçèê

$username=$_POST['username']; //èçâëè÷àìå ïîòðåáèòåëñêîòî èìå
$msg=$_POST['msg']; //èçâëè÷àìå ñúîáùåíîåòî
$ip=$_SERVER['REMOTE_ADDR']; //èçêàðâàìå IP-òî íà ïîòðåáèòåëÿ
$data=date("j F - Y"); //èçêàðâàìå äàòàòà
$chas=date("g:i:s a"); //èçêàðâàìå ÷àñà

if($username==""){ die(""); } //àêî íå å íàïèñàíî èìå, íå èçïúëíÿâà êîäà ïî-íàäîëó
if($msg == ""){ die(""); } //àêî íå å íàïèñàíî ñúîáùåíèå, íå èçïúëíÿâà êîäà ïî-íàäîëó

$sql = "INSERT INTO `chat` (`username`, `msg`, `ip`, `data`, `chas`) VALUES ('$username', '$msg', '$ip', '$data', '$chas')" or die("Error 3");
mysql_query($sql, $con2) or die("Error 4"); //çàïèñâàìå äàííèòå â áàçàòà äàííè
$sql2 = "SELECT * FROM `chat` WHERE msg='$msg'" or die("Error 5"); //òóê ñå ñâúðçâàìå ñ òàáëèöàòà íà áàçàòà äàííè
$result = mysql_query($sql2) or die("Error 6"); //ñâúðçâàìå ñå ñ òàáëèöàòà íà áàçàòà äàííè
while($row=mysql_fetch_array($result))//èçêàðâàìå çàïèñàíèòå äàííè
{
echo "<meta http-equiv='refresh' content='0; url=?'>"; //àêî äàííèòå ñà çàïèçàíè â áàçàòà äàííè, ðåôðåøâà ñòðàíèöàòà çà äà ïîêàæå íîâèòå äàííè
}} mysql_close(); ?>
 
Заповядай

Код:
CREATE TABLE IF NOT EXISTS `chat` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(32) NOT NULL,
  `msg` varchar(255) NOT NULL default '0',
  `ip` varchar(255) default NULL,
  `data` varchar(255) NOT NULL,
  `chas` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `username` (`username`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;

Кажи дали е станало или не :)
 
здрвей,
всичко е ок !

само ако може още нещо:

може ли да се направи да пише кога е пуснато съобщението ?
 
Код:
CREATE TABLE IF NOT EXISTS `chat` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(32) NOT NULL,
  `msg` varchar(255) NOT NULL default '0',
  `ip` varchar(255) default NULL,
  `data` text NOT NULL,
  `chas` text NOT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `username` (`username`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;

Изтрий старата таблица и сложи тази
 
joorkataa каза:
Код:
CREATE TABLE IF NOT EXISTS `chat` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(32) NOT NULL,
  `msg` varchar(255) NOT NULL default '0',
  `ip` varchar(255) default NULL,
  `data` text NOT NULL,
  `chas` text NOT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `username` (`username`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;

Изтрий старата таблица и сложи тази

става
записва се в бд кога е пуснато съобщението

сега как да се показва до съобщението ?
 
Ето ти код за изкарване на съобщенията и да може да побликуваш


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Чат :)</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
</headЛ
<body>
<form action="?" name="submit" method="post">
<input type="text" name="username"><br>
<textarea rows="5" cols="30" name="msg"></textarea><br>
<input type="submit" name="submit" value="Добави"> <a href="http://validator.w3.org/check?uri=referer" target="_blank">Valid HTML</a>
</form><hr>
<?php

$server="localhost"; //mysql хост
$user="user"; //mysql име
$pass="pass"; //mysql парола
$db="chat"; //име на базата данни

$broi_msg="20"; //тук задаваме колко съобщения да показва
$con=mysql_connect("$server", "$user", "$pass") or die("Error 1"); //свързваме се с mysql
mysql_select_db($db,$con) or die("Error 2"); // свързваме се с базата данни
$chars="set character set cp1251";mysql_query($chars); //този код помага да показва данните които са на български език

$mysql_db=mysql_query("SELECT * FROM `chat` ORDER BY id DESC LIMIT 0,$broi_msg") or die("Error 3"); //тук се свързваме с таблицата на базата данни
while($row=mysql_fetch_array($mysql_db)) //тук изкарваме записаните данни в базата данни
{
$data=$row['data']; //изкарваме потребителските имена
$chas=$row['chas']; //изкарваме потребителските имена
$username=$row['username']; //изкарваме потребителските имена
$msg=$row['msg']; //изкарваме съобщенията

$username2=htmlspecialchars("$username", ENT_QUOTES); //тук предотвратяваме да се изпълняват < и > в името
$msg2=htmlspecialchars("$msg", ENT_QUOTES); //тук също предотвратяваме да се изпълняват < и > обаче в съобщението

echo "$data: | $chas: <b> $username2</b>: $msg2<br>
"; //тук изкарваме записите от базата данни в php файл
}
?>
</body>
</html>
<?php
if (isset($_POST['submit'])) { //тук правиме кодовете по-долу да се изпълняват само когато се натисне бутона "Добави"

$con2=mysql_connect("$server", "$user", "$pass") or die("Error 1"); //свързваме се с mysql
mysql_select_db("$db",$con2) or die("Error 2"); //свързваме се с базата данни
$chars="SET CHARACTER SET cp1251";mysql_query($chars); //този код помага да добавя данните които са на български език

$username=$_POST['username']; //извличаме потребителското име
$msg=$_POST['msg']; //извличаме съобщеноето
$ip=$_SERVER['REMOTE_ADDR']; //изкарваме IP-то на потребителя
$data=date("j F - Y"); //изкарваме датата
$chas=date("g:i:s a"); //изкарваме часа

if($username==""){ die(""); } //ако не е написано име, не изпълнява кода по-надолу
if($msg == ""){ die(""); } //ако не е написано съобщение, не изпълнява кода по-надолу

$sql = "INSERT INTO `chat` (`username`, `msg`, `ip`, `data`, `chas`) VALUES ('$username', '$msg', '$ip', '$data', '$chas')" or die("Error 3");
mysql_query($sql, $con2) or die("Error 4"); //записваме данните в базата данни
$sql2 = "SELECT * FROM `chat` WHERE msg='$msg'" or die("Error 5"); //тук се свързваме с таблицата на базата данни
$result = mysql_query($sql2) or die("Error 6"); //свързваме се с таблицата на базата данни
while($row=mysql_fetch_array($result))//изкарваме записаните данни
{
echo "<meta http-equiv='refresh' content='0; url=?'>"; //ако данните са запизани в базата данни, рефрешва страницата за да покаже новите данни
}} mysql_close(); ?>
 

Back
Горе