Рекомендованные сообщения

$RM, это UTF-8... Решить можно проблему прописав после соединения с БД следующее:

mysql_query("SET NAMES utf8");

 

спасибо , только если мы потльзуемся готовым официальным конвертером :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

$RM, не понял что идёт после "только если". Что за некий официальный конвертер?

Изменено пользователем _ex_

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну если он только прошел через ZendOptimizer, а так то что мешает строчку вставить...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
$RM, не понял что идёт после "только если". Что за некий официальный конвертер?

 

потльзуемся = пользуемся. офицальный конвертор http://www.invisionpower.com/products/boar...ert.php#callout

может так проще

Суть

1-ый форум: phpbb 3.0.4 (это форум, на котором сейчас общаемся)

2-ой форум: ipb 3.0 (новый пустой форум с лицензией)

 

Надо перенести и переконвертировать базу одного форума в другой. Так, чтобы остались все форумы, сообщения, пользователи. То есть мигрировать на другой домен и на другой движок.

 

Может кто за деньги возьмется ?

Изменено пользователем $RM

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тебе же было написано выше товарищем _ex_.

 

Открываешь исходные коды и ищешь где используется функция mysql_connect(), т.е. идет соединение с БД. После нее ищешь и вставляешь следующий код:

mysql_query("SET NAMES utf8");

Если кодировка старой БД не utf8, тогда смени ее в коде выше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Надо перенести и переконвертировать базу одного форума в другой. Так, чтобы остались все форумы, сообщения, пользователи. То есть мигрировать на другой домен и на другой движок.

 

Может кто за деньги возьмется ?

Там же есть скрипт - возьмите сами и переконвертируйте - или денег не жалко? ;)

 

Лишь бы в самой БД при просмотре через тот же похапемайадмин не было вопросов вместо русских символов. Если всё будет отлично, и при выводе всё равно будут вопросы - то поможет set names упомянутый выше уже целых два раза )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня вопрос:

У меня стоит сайт на движке DLE и он быстро открывается буквально за секунду.

Недавно нашел скрипт мониторинг CS 1.6 один скрипт .php он все нормально работает, переписал немного стили.

Но когда его открываеш страница загружается 10 секунд ровно, во всех браузерах и на разных компьютерах пробовал от друзей тоже самое ровно 10 сек.

Помогите пожалуйста чтоб код генерировался моментально, я в php не волоку.

<?
$srvip = '93.80.163.63';
$srvport = '27016';
 $fo = fsockopen('udp://'.$srvip, $srvport, &$errno, &$errstr, 1);
 if(!$fo)
 {
  echo $errstr ($errno)."<br>\n";
 }
 else
 {
  fwrite($fo,"\xFF\xFF\xFF\xFFTSource Engine Query\x00".chr(10));
		$fr = fread($fo, 1);
		if(!$fr)
		{
		 echo '<style type="text/css">
.style1 {
font-family: Tahoma;
font-size: 10px;
font-style: normal;
line-height: normal;
padding: 3px;
}
</style>
<body leftmargin="0" topmargin="0"><TABLE cellSpacing=0 cellPadding=0 width=170 border=0>
<TBODY>
<TR><TD width="170" bgcolor="#CAD6DD">
<DIV align="center">
<span class="style1"><b>Cервер не доступен.</b></span></DIV>
<DIV align="center">
 <img border="0" src="mon/no_server.jpg" width="160" height="120"></div>
<DIV>
<span class="style1">Адрес : Сервер не работает<br></span>
<span class="style1">Карта : неизвестно><br></span>
<span class="style1">Игроков : 0/0<br></span>
</div>   
</TD></TR>
</TBODY>
</TABLE>
</body>';
		}
		else
		{
		 $status = socket_get_status($fo);
		 $status = $status['unread_bytes'];
		 $fr .= fread($fo, $status);
		 $fr = substr($fr, 5);
		 # название сервера
		 $fr = substr($fr, StrPos($fr, chr(0))+1);
		 $srvname = substr($fr , 0, StrPos($fr ,chr(0)));
		 # название карты
			$fr = substr($fr, StrPos($fr, chr(0))+1);
		 $mapname = substr($fr , 0, StrPos($fr ,chr(0)));
		 # игроки
		 $fr = substr($fr, StrPos($fr, chr(0))+1);
		 $fr = substr($fr, StrPos($fr, chr(0))+1);
		 $fr = substr($fr, StrPos($fr, chr(0))+1);
		 $plrsrv = ord(substr($fr, 0, 1));
		 $plrmax = ord(substr($fr, 1, 1));
echo '<style type="text/css">
.style1 {
font-family: Tahoma;
font-size: 10px;
font-style: normal;
line-height: normal;
padding: 3px;
}
</style>
<body leftmargin="0" topmargin="0"><TABLE cellSpacing=2 cellPadding=0 width=170 border=0>
<TBODY>
<TR><TD width="170" bgcolor="#CAD6DD">
<DIV align="center">
 <span class="style1"><b>'.$srvname.'</b></span></DIV>
<DIV align="center">
 <a href=""><img border="0" src="mon/'.$mapname.'.jpg" width="160" height="120"></a></div>
<DIV align="left">
<span class="style1">Адрес : '.$srvip.':'.$srvport.'<br></span>
<span class="style1">Карта : '.$mapname.'<br></span>
<span class="style1">Игроков : '.$plrsrv.'/'.$plrmax.'<br></span>
</div>   
</TD></TR>
</TBODY>
</TABLE>
</body>';
  }
 }
?>

Изменено пользователем J_A_V_A

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Видимо такой таймаут сокет соединения. Вставь echo "<!--" . microtime(1) . "//-->"; (если пхп 5-й версии) в начале скрипта и после функций fsockopen(), fwrite(), fread() b socket_get_status(), чтобы выявить, где закрался тормоз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

zed,

Функция не работает я воспользовался.

///НАЧАЛО ПЕРЕД ФУНКЦИЕЙ
$time_start_script = microtime();
$time_start_script = explode(" ", $time_start_script);
$time_start_script = $time_start_script['0'] + $time_start_script['1'];

//В КОНЦЕ УЧАСТКА ЗАМЕРА
$time_stop_script = microtime();
$time_stop_script = explode(" ", $time_stop_script);
$time_stop_script = $time_stop_script['0'] + $time_stop_script['1'];
$time_script_work = $time_stop_script - $time_start_script;
echo $time_script_work." sec";

Так вот скрипт содержит 2 вида отображения когда кс сервер выключен он загружается 10 секунд , а 2 вид это когда кс сервер включен оон открывается моменатольно. Значит надо смотреть начало кода

 

Все разобрался)) Спасибо за совет по замеру времени :russian:

Изменено пользователем J_A_V_A

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так что сделали то? Уменьшили время таймаута подключения к сокету?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Типичный выход из проблемы, чтобы страница не висела - вывод скрипта проверки коннекта в отдельный поток либо путём iframe, либо засовыванием скрипта в картинку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нужна помощь по php :lol:

 

Есть вот такой код :

 

if(!is_dir($pdir.$row[gl_img]) and file_exists($pdir.$row[gl_img])){					
				$aISZ = @GetImageSize($pdir.$row[gl_img], &$aInfo);

				if (file_exists($pdir.$row[gl_img])){
					echo "<a>размер ~ ".round((filesize($pdir.$row[gl_img])/1024))."Kb</a><br>";
				};					

				if ($aISZ[0]>200){
					echo "<img src='/pdir/$row[gl_img]' width='200'><br>";					
				}else{
					echo "<img src='/pdir/$row[gl_img]' $aISZ[3]><br>";
				};

 

Интерпретатор ругается на строку

$aISZ = @GetImageSize($pdir.$row[gl_img], &$aInfo);

говоря :

Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of getimagesize(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer.

Как можно исправить этот недочёт?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дорогие люди,этот язык я совсем незнаю,а учить его нет смысла,так как надо просто вставить картинку и забыть о нём навсегда.

Итак,надо разместить юзербан как указано на скриншоте zakaz.JPG только и всего,вот код.

Заранее спасибо. Код под спойлером:

 

http://selokosino.narod.ru/ritual-entertainment.jpg
<br>
<br>

<?php 
header("Content-Type: text/html; charset=windows-1251");
header("Cache-Control: no-cache");
header("Pragma: no-cache");
?>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Заказ песен</title>
<?

$uss=6730;

//$enable=0 Запретить заказ песен
//$enable=1 Разрешить заказ песен
$enable=1;

//type - переменная типа вывода дерева песен
//1 - Только поиск (не выводить дерево)
//2 - Только дерево Исполнителей->Композиция
//3 - Поиск + дерево Исполнителей->Композиция
$type=3; 

//ztype - переменная типа заказа
//0 - Заказ через СМС (текст вывода в теле скрипта)
//1 - Бесплатный заказ через форму
$ztype=1;

if (!$enable)
{
echo "Заказ песен временно закрыт!";
exit;
}


?>
<link href="styles.css" rel="stylesheet" type="text/css" />

<script type="text/javascript" src="zxml.js"></script>
<script type="text/javascript">
<!--

function find(page)
{ 
	var type = <?php echo $type; ?>;
	var str = document.formservice.str.value;
	if (str.length <3)  
	{
	var divInfo = document.getElementById("strout");
	var divInfo2 = document.getElementById("artistsout");
	divInfo.innerHTML = "Ошибка поиска. Минимум 3 буквы для поиска!";
	divInfo2.innerHTML = " ";
	return;
	}

		var oXmlHttp = zXmlHttp.createRequest();
		<?php
		 echo "oXmlHttp.open(\"get\", \"order_ajax.php?action=find&str=\" + str+\"&page=\"+page+\"&type=$type\", true);";
		?>
			oXmlHttp.onreadystatechange = function () {
			if (oXmlHttp.readyState == 4) {
				if (oXmlHttp.status == 200) {
					displayCustomerInfo(oXmlHttp.responseText);
				} else {
					displayCustomerInfo("An error occurred: " + oXmlHttp.statusText);
				}
			}
		};
		oXmlHttp.send(null);
	}

	function displayCustomerInfo(sText) {
		var divInfo = document.getElementById("strout");
	var divInfo2 = document.getElementById("artistsout");
		divInfo.innerHTML = sText;
	divInfo2.innerHTML = " ";
	}

function find2(letter,page)
{ 
	var type = <?php echo $type; ?>;
	var str = document.formservice.str.value;
		var oXmlHttp = zXmlHttp.createRequest();
		<?php
		 echo "oXmlHttp.open(\"get\", \"order_ajax.php?action=find2&letter=\"+letter +\"&page=\"+page+\"&type=$type\", true);";
		?>
			oXmlHttp.onreadystatechange = function () {
			if (oXmlHttp.readyState == 4) {
				if (oXmlHttp.status == 200) {
					displayCustomerInfo(oXmlHttp.responseText);
				} else {
					displayCustomerInfo("An error occurred: " + oXmlHttp.statusText);
				}
			}
		};
		oXmlHttp.send(null);
	}

	function displayCustomerInfo(sText) {
		var divInfo = document.getElementById("strout");
	var divInfo2 = document.getElementById("artistsout");
	divInfo.innerHTML = " ";
	divInfo2.innerHTML = sText;
	}


function artists(art,page)
{ 
	var type = <?php echo $type; ?>;
		var oXmlHttp = zXmlHttp.createRequest();
		<?php
		 echo "oXmlHttp.open(\"get\", \"order_ajax.php?action=artists&type=\"+type+\"&art=\"+art+\"&page=\"+page, true);";
		?>
			oXmlHttp.onreadystatechange = function () {
			if (oXmlHttp.readyState == 4) {
				if (oXmlHttp.status == 200) {
					displayCustomerInfo2(oXmlHttp.responseText);
				} else {
					displayCustomerInfo2("An error occurred: " + oXmlHttp.statusText);
				}
			}
		};
		oXmlHttp.send(null);
	}

	function displayCustomerInfo2(sText) {
	var divInfo = document.getElementById("strout");
	var divInfo2 = document.getElementById("artistsout");
		divInfo2.innerHTML = sText;
	divInfo.innerHTML = " ";

	}

function zakaz(song)
{ 
<?php 
if (!$ztype)
{
?>
	var oXmlHttp = zXmlHttp.createRequest();
	<?php
	 echo "oXmlHttp.open(\"get\", \"order_ajax.php?zakaz=\"+song+\"&ztype=\" + $ztype, true);";
	?>
	oXmlHttp.onreadystatechange = function () {
	if (oXmlHttp.readyState == 4) {
	if (oXmlHttp.status == 200) {
			displayCustomerInfo3(song,oXmlHttp.responseText);
			} else {
				displayCustomerInfo3(song,"An error occurred: " + oXmlHttp.statusText);
			}
		}
	};
	oXmlHttp.send(null);
<?
}
else
{
?>
	var oXmlHttp = zXmlHttp.createRequest();
	<?php
	 echo "oXmlHttp.open(\"get\", \"order_ajax.php?zakaz=\"+song+\"&ztype=\" + $ztype, true);";
	?>
	oXmlHttp.onreadystatechange = function () {
	if (oXmlHttp.readyState == 4) {
	if (oXmlHttp.status == 200) {
			displayCustomerInfo4(song,oXmlHttp.responseText);
			} else {
				displayCustomerInfo4(song,"An error occurred: " + oXmlHttp.statusText);
			}
		}
	};
	oXmlHttp.send(null);
<?php	
}
?>
}

function displayCustomerInfo3(song,sText)
{
	var divInfo = document.getElementById("zout");
	divInfo.innerHTML = sText+"<br><br>Для заказа композиции в эфире нашей радиостанции отправте SMS с текстом <b>xsms <?php echo $uss; ?> " +song+" Текст вашего привета</b> на короткий номер <b>1132</b><br><br<br>Стоимость SMS 0.1$";
	document.getElementById('divwin').style.display='block';
}

function displayCustomerInfo4(song,sText) 
{
	var divInfo = document.getElementById("zout");
	divInfo.innerHTML = sText+"<form name=\"formservice2\"><table border=0><tr><td>Ваше имя: </td><td><input type=text name=fio size=20></td></tr><tr><td>Сообщение: </td><td><textarea name=mess cols=40 rows=5></textarea></td></tr><tr><td> <br></td><td><div id=\"zout2\"></div></td></tr><tr><td> </td><td><input type=button name=goz onclick=\"gozakaz("+song+"); return false;\" value = Заказать></td></tr></table></form>";
	document.getElementById('divwin').style.display='block';
}


function gozakaz(song)
{ 

var fio = document.formservice2.fio.value;
var mess = document.formservice2.mess.value;
var divInfo = document.getElementById("zout2");
if (fio.length <2)  
{
divInfo.innerHTML = "<font color=red>Введите Имя!</font>";
return;
}
if (mess.length <3)  
{
divInfo.innerHTML = "<font color=red>Введите сообщение!</font>";
return;
}

	var oXmlHttp = zXmlHttp.createRequest();
	<?php
$ztype=$ztype+1;
	 echo "oXmlHttp.open(\"get\", \"order_ajax.php?zakaz=\"+song+\"&ztype=\" + $ztype+\"&fio=\"+fio+\"&mess=\"+mess, true);";
	?>
	oXmlHttp.onreadystatechange = function () {
	if (oXmlHttp.readyState == 4) {
	if (oXmlHttp.status == 200) {
			displayCustomerInfo5(song,oXmlHttp.responseText);
			} else {
				displayCustomerInfo5(song,"An error occurred: " + oXmlHttp.statusText);
			}
		}
	};
	oXmlHttp.send(null);
}

function displayCustomerInfo5(song,sText)
{
	var divInfo = document.getElementById("zout");
	 if (sText.match(/\<font color\=red\>/))																														
	 {   
	 divInfo.innerHTML = sText;
	 document.getElementById('divwin').style.display='block';
	 }
	 else
	 {
	 divInfo.innerHTML = sText+" Песня поставлена в очередь<br>Спасибо за заказ!";
	 document.getElementById('divwin').style.display='block';
	}
}



//-->

</script>

<BODY onLoad="artists('',0);">

<style>
#divwin {
width:600px;
height: 300px;
top:30%;
left:30%;
position:fixed;
top: expression( parseInt( document.documentElement.scrollTop, 10) + "px" );
border: 1px solid gray;
background: #ffffff;
display: none;
padding: 20px 20px 20px 20px;
text-align: center;
}

#closeButton {
position: absolute;
top: 0px;
right: 0px;
border-bottom: 1px solid gray;
border-left: 1px solid gray;
font-weight: bold;
cursor: pointer;
padding: 2px 4px 2px 4px;
}			
</style>
<div id="divwin">
<div id="closeButton" onclick="document.getElementById('divwin').style.display='none'">Х</div>
<div id="zout"></div>
</div>


<?php
if (($type==0)or($type==3))
{
echo "Надоело ждать любимую песню? <br>
Закажите любимую песню и слушайте её в эфире нашего радио!<br>
<form name=\"formservice\" method=\"post\" onsubmit=\"find(0,$type); return false;\">
<input type=\"text\" name=\"str\" size=\"40\"> <input name=\"go\" type=\"button\" value=\"Поиск\" onclick=\"find(0,$type)\">
<br>
<div id=\"strout\"></div />";
}

echo "<br><div id=\"artistsout\"></div /></form>";

?>






<!--LiveInternet counter--><script type="text/javascript"><!--
new Image().src = "http://counter.yadro.ru/hit?r"+
escape(document.referrer)+((typeof(screen)=="undefined")?"":
";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?
screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+
";"+Math.random();//--></script><!--/LiveInternet-->




<!--LiveInternet logo--><a href="http://www.liveinternet.ru/click"
target="_blank"><img src="http://counter.yadro.ru/logo?26.7"
title="LiveInternet: показано число посетителей за сегодня"
alt="" border="0" width="88" height="15"/></a><!--/LiveInternet-->

Изменено пользователем tommy-kun

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

после

echo "<br><div id=\"artistsout\"></div /></form>";

добавить

echo "<br><div align=\"right\"><img src=\"ссыль на изображение\"></div>";

Изменено пользователем Life95

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Есть новый вопрос:

 

SELECT @str:=time FROM `kz_maplist` WHERE name='ds_ice';
IF @str > 100 THEN @str:=0;

SQL-запрос:

 

IF @str >100 THEN @str :=0;

 

 

Ответ MySQL:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF @str > 100 THEN @str:=0' at line 1

Чего он орет, чего ему надо? Чего не так? :angry:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Какая версия мускула?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Server version: 5.1.40-community MySQL Community Server (GPL)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Эм. Все равно шляпа осталась.

запрос:

SELECT @str:=time FROM `kz_maplist` WHERE name='ds_ice';
IF @str > 100 THEN @str:=0; END IF;

 

Ошибка:

SQL-запрос:

 

IF @str >100 THEN @str :=0;

 

 

Ответ MySQL:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF @str > 100 THEN @str:=0' at line 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Воспользуйся такой конструкцией:

SET @str = IF(@str>100, 0, @str);

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да я операторы только для примера привел, там будет что-то другое.

Походу он ругается на @str > 100, но не пойму почему.

Изменено пользователем wext

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Походу он ругается на @str > 100, но не пойму почему.

Да я попробовал разные способы - не на это ругается.

 

Походу IF-statement вне функций/процедурок использовать нельзя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Конечно нельзя, как только мускл находит не экранированную точку с запятой, он обрабатывает запрос, как он должен обрабатывать "IF @str > 100 THEN @str:=0;" непонятно. :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

zed, и собственно о чём твой комментарий? при чём здесь твоя точка с запятой?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

:(

 

SELECT CASE WHEN time > 100 THEN 0 ELSE time END FROM `kz_maplist` WHERE name='ds_ice';

Изменено пользователем drnet

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Начал резать хтмл шаблон на куски под сайт и столкнулся с неведомой-...-фигней:

Вырезаю однотипный кусок для менюшки, сохраняю как отдельный файл и через скрипт провожу замену %CATALOG% на несколько элементов (да хоть на 1) и получаю непонятные отступы (float,clear решает проблему, но это не круто).

 

Отступы видны тока при кодировке файла-шаблона в UTF8, а в ANSI нету. В чем магия? Юзаю PSPad. trim() не помогает. Файл читается через file_get_contents().

Скрин с редактора:

6e26f504.jpg

Кодировка страницы:

<meta http-equiv="content-type" content="text/html; charset=utf-8">

Результат:

f4a2ec7b.jpg

 

//added: там прибаваляется какой-то пробел =\

 

Проблему решил. Дело было в галочке в настройках "Выравнивать байты в UTF8".

Изменено пользователем wext

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это где такая настройка?

 

А вообще с кодировками такое бывает, почему-то когда делаешь картинку через GD2, то если файл в utf8 то на выходе получается лишний корявый символ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас