|
|
|
| в скрипте должна срабатывать переменная enc приходит она с сылкой
http:// .......... &enc=utf-8
но ничего не работает
а вот такая хрень в скрипте
$enc =(int)isset($_GET['enc'])
$db->query('SET NAMES "' . $enc . '"');
|
должно переводить в utf-8 но вместо этого когда вставляеш в код
$enc =(int)isset($_GET['enc'])
$db->query('SET NAMES "' . $enc . '"');
вобще ничего не работает | |
|
|
|
|
|
|
|
для: dmitru
(17.01.2009 в 06:43)
| |
<?
$enc = "utf-8";
echo (int)$enc;
|
isset() | |
|
|
|
|
|
|
|
для: sim5
(17.01.2009 в 06:51)
| | БРАТАН
вобще перестаёт работать там не только эта переменная в сылке передаётся
http://...........ru/linkblock.php?id=124&len=500&link_count=10&sep=%3Cbr%3E&enc = utf-8
вот полный текст linkblock.php
<?php
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
if(!isset($_GET['id']))
die('Блок ссылок некорректно размещён');
function get_link()
{
global $db;
$rand = rand(0, 9999999);
$res = mysql_fetch_row(
$db->query('SELECT `ad1`.`id`, `ad1`.`name` FROM `'.$db->config['db_pref'].'advertisement` as `ad1`,
`'.$db->config['db_pref'].'user` as `us`
WHERE `ad1`.`active` = 1 AND `ad1`.`id_user` = `us`.`id` AND `us`.`balance` > 0 AND `us`.`banned` = 0
AND (`ad1`.`reit_start` < '.($rand/10000000).' AND `ad1`.`reit_end` > '.($rand/10000000).')
')
);
return $res;
}
ini_set('display_errors', 1);
ini_set('html_errors', 0);
error_reporting(E_ALL);
include "core/core.class.php";
$core = new core();
// !!!!#### check licence ####!!!! //
$core->exec('load config %root_path%config.ini');
include $core->config['classes_path'].'c_time.class.php';
include $core->config['functions_path'].'timer.function.php';
$core->exec('load module db -sm connect');
$sz = 0;
$lc = isset($_GET['link_count'])?$_GET['link_count']:$core->config['link_count'];
while($sz < $lc)
{
$links[] = get_link();
$sz++;
}
$url = $core->config['site_url'].$core->config['cms_url'];
$id = (int)$_GET['id'];
$enc = "utf-8";
echo (int)$enc;
$enc =(int)isset($_GET['enc'])
$db->query('SET NAMES "' . $enc . '"');
$html = '';
$html = '<div align="center"><a style="font-size: 10pt" href="работа</b></a></div>';
$len = (int)isset($_GET['len'])?$_GET['len']:255;
$sep = isset($_GET['sep'])?$_GET['sep']:'<br>- ';
foreach ($links as $line)
{
$html.=$sep.'<a href="'.$url.'link.php?id='.$line[0].'&aid='.$id.'">'.substr($line[1],0,$len).'</a>';
}
//print_r($db);
if(isset($_GET['float']))
{
$html.='<br><div align="center"><a href="#" onclick="cls00(); return false;">Свернуть </a></div><br>';
}
echo 'document.getElementById(\'linkblock\').innerHTML=\''.$html.'\';'."\r\n\r\n";
if(isset($_GET['float']))
{
echo '
function cls00()
{
document.getElementById(\'linkblock\').style.visibility = \'hidden\';
};
var skptlink_height=0;
var skptlink_width=0;
var z=0;
var b=0;
var skptlink_width_start=0;
var skptlink_height_start=0;
var dhi=5;
function skptlink_dh(){
if (dhi > 1){
dhi--;
if (dh < 1){
if (document.getElementById("linkblock").offsetHeight > 0){
dh = document.getElementById("linkblock").offsetHeight;
clearInterval(skptlinkdh);
skptlink_start();
}
}else {
clearInterval(skptlinkdh);
skptlink_start();
}
} else {
clearInterval(skptlinkdh);
dh=400;
skptlink_start();
}
}
function skptlink_start(){
z=wh-dh;
if (z<0)z=0;
document.getElementById("linkblock").style.top=z;
skptlink_height='.(isset($_GET['floatpos'])&&($_GET['floatpos']=='topright' || $_GET['floatpos']== 'topleft')?'0':'z').';
b=ww-dw;
if (b<0)b=0;
document.getElementById("linkblock").style.left=b;
skptlink_width='.(isset($_GET['floatpos'])&&($_GET['floatpos']=='bottomleft' || $_GET['floatpos']== 'topleft')?'0':'b').';
skptlinkmove=setInterval("skptlink_move()",20);
}
function skptlink_move(){
if(document.all)
{
if(document.body.scrollTop != 0 || document.body.scrollLeft != 0)
{
ydiff=skptlink_height_start-document.body.scrollTop;
xdiff=skptlink_width_start-document.body.scrollLeft;
}
else
{
ydiff=skptlink_height_start-document.documentElement.scrollTop;
xdiff=skptlink_width_start-document.documentElement.scrollLeft;
}
}
else
{
ydiff=skptlink_height_start-window.pageYOffset;
xdiff=skptlink_width_start-window.pageXOffset;
}
if(ydiff!=0)
{
movey=Math.round(ydiff/10);
skptlink_height_start-=movey;
}
if(xdiff!=0)
{
movex=Math.round(xdiff/10);
skptlink_width_start-=movex;
}
if(document.getElementById("linkblock"))
{
document.getElementById("linkblock").style.top=skptlink_height_start+skptlink_height;
document.getElementById("linkblock").style.left=skptlink_width_start+skptlink_width-('.(isset($_GET['width'])?(int)$_GET['width']:'200').'-200);
}
}
if(document.body.clientWidth != 0 || document.body.clientHeight != 0 || document.body.offsetWidth != 0)
{
if (document.body.clientWidth < document.body.offsetWidth){
if (document.body.clientWidth > 0)
var ww=document.body.clientWidth - 10;
else
var ww=document.body.offsetWidth - 10;
} else {
if (document.body.offsetWidth > 0)
var ww=document.body.offsetWidth - 20;
else
var ww=document.body.clientWidth - 10;
}
var wh=document.body.clientHeight;
}
else
{
if (document.documentElement.clientWidth < document.documentElement.offsetWidth){
if (document.documentElement.clientWidth > 0)
var ww=document.documentElement.clientWidth - 10;
else
var ww=document.documentElement.offsetWidth - 10;
} else {
if (document.documentElement.offsetWidth > 0)
var ww=document.documentElement.offsetWidth - 20;
else
var ww=document.documentElement.clientWidth - 10;
}
var wh=document.documentElement.clientHeight;
}
//document.getElementById("linkblock").style.width=ww*0.2;
//document.getElementById("linkblock").style.width = 400;
var dw=document.getElementById("linkblock").offsetWidth;
if (dw < 1) dw=200;
var dh=document.getElementById("linkblock").offsetHeight;
if (dh < 1){
// dh=400;
skptlinkdh=setInterval("skptlink_dh()",200);
} else {
skptlink_start();
}';
}
?>
|
| |
|
|
|
|
|
|
|
для: dmitru
(17.01.2009 в 07:03)
| | Вы соображаете что делаете? Вот это:
$enc = "utf-8";
echo (int)$enc;
Я написал для того, чтобы вы поняли, что в конечном итоге строковое значение вашей переменной примет 0, достаточно было не полениться и выполнить отдельно то, что я и показал. Вы вместо этого, честно воткнули это в свой код. И почитайте, что такое isset, и с какого боку оно нужно в вашем выражении. | |
|
|
|
|
|
|
|
для: sim5
(17.01.2009 в 07:11)
| | братан я 0 в этих буковках когдато знал бэйсик ещё поэтому и прошу помощи на разных форумах чтоб сказали что написать надо
я тока примерно пониманимаю что это код а что такое isset я никогда не знал
а с этим
$enc = "utf-8";
echo (int)$enc;
я уже 4 день мозг себе разрушаю
да когдато и я буду великим програмистом :} | |
|
|
|
|
|
|
|
для: dmitru
(17.01.2009 в 07:17)
| | Я вам дал ссылку прочитать, что такое isset - эта функция проверяет, установлена ли указаная переменная, и в вашей записи она не к чему. То есть, запись $enc = isset($_GET['enc']) глупа по смыслу. А записывая так:
$enc =(int)$_GET['enc']
В итоге получите это:
$db->query('SET NAMES 0');
Потому как (int), это приведение типа к integer, а переменная $_GET['enc'] не содержит такового значения. Не знаете, читайте.
В вашем случае, проверяйте:
if (isset($_GET['enc'])) {
ваши действия
}
И уж коли хотите пользоваться числовыми аргументами переменных, то ссылка должна содержать enc=1, например, и уж тогда вполне оправдано intval($_GET['enc']), и полученное использовать как индекс массива, который будет содержать записи, типа "utf-8", "windows-1251"... | |
|
|
|
|
|
|
|
для: sim5
(17.01.2009 в 07:37)
| | Ну пожалейте человека, он же ещё 4 дня читать Ваш мануал будет))) Тут не так надо....
Для dmitru
Чувак, не парься, вот так примастырь:
<?
$enc = isset($_GET['enc'])?str_replace("-","",$_GET['enc']):"cp1251";
| и будешь чемпиёном! | |
|
|
|
|
|
|
|
для: Николай2357
(17.01.2009 в 08:50)
| | Ему не мое читать надо, а от разработчиков. Ну коли что-то "пихать" в код, ну уж хотя бы поинтересоваться что оно делает. | |
|
|
|
|
|
|
|
для: Николай2357
(17.01.2009 в 08:50)
| | братан всё равно не региагирует на переменную скрипт в браузере всё квадратами | |
|
|
|