Нужна помощь знающих PHP

Статус
В этой теме нельзя размещать новые ответы.

sergey_prusov

Участник
Регистрация
31 Окт 2008
Сообщения
203
Реакции
4
Люди отлично знающие PHP помогите сделать вот такой план действий т.к я оч плохо знаю PHP(учусь:(ah:

на странице code.php нужно сделать кодировку по умолчанию cp1251 и добавить utf8

code.php

HTML:
<p>Скопируйте код с формы и вставьте на страницах Вашего сайта между тегами &lt;HEAD&gt;&lt;/HEAD&gt;:</p><br>
<p><input type="text" name="code" style="width: 100%" value='<script language="JavaScript" charset="windows-1251" src="http://сайт/js.php?id=<?php print $_GET['id']; ?></script>' /></p><br>
<script type="text/javascript" src="http://сайт"></script>

<p>Скопируйте этот код, для вставки контекстной рекламы в том месте, где её нужно выводить:</p>

<script type="text/javascript">
function gebi(id){
	return document.getElementById(id)
}

function color(link)
{
   var x = event.screenX - 150;
   var y = event.screenY + 130;
   var sFeatures = 'dialogLeft:'+x+'px;dialogTop:'+y+'px;dialogHeight:163px;dialogWidth:232px;help:no;status:no;unadorned:yes';
   window.showModelessDialog(link, window, sFeatures);
}

var t1 = '';
var t2 = '';
var td1 = '<tr><td style="padding: 3 3 3 3px;">';
var td2 = '</td></tr>';
var pos = 1;

function td(par) {

	if(par == 1) {
		t1 = '<tr>';
		t2 = '</tr>';
		td1 = '<td style="padding: 3 3 3 3px;">';
		td2 = '</td>';
		pos = 2;
	} else {
		t1 = '';
		t2 = '';
		td1 = '<tr><td style="padding: 3 3 3 3px;">';
		td2 = '</td></tr>';
		pos = 1;
	}

}

function redrawdiv() {
	urllinik	= 'http://сайт';
	thelink		= 'Наши поезда, самые поездатые, поезда в мире! Убедитесь...';
	namelink	= 'Продам поезд';

	linkcode = '<font style="font-size: '+gebi("Form").ptlink.value+'pt;" color="#'+gebi("Form").linkcolor.value+'"><u><b>'+namelink+'</b></u></font><br />'+
	'<font style="font-size: '+gebi("Form").pttext.value+'pt;" color="#'+gebi("Form").textcolor.value+'">'+thelink+'</font><br />'+
	'<font style="font-size: '+gebi("Form").ptdomen.value+'pt;" color="#'+gebi("Form").domencolor.value+'"><u>'+urllinik+'</u></font>';

	res = '';

	for (i=1; i <= gebi("Form").count.value; i++) {
		res = res + top.td1 + linkcode + top.td2;
	}

	res = '<table width="'+gebi("Form").width.value+'" cellpadding="0" cellspacing="0" border="0">'+
	'<tr>'+
	'<td>'+
	'<a style="text-decoration: none;" href="http://сайт/" target="_blank"><b>Реклама: <font color="#999999">http://сайт/</font></b></a>'+
	'<table bgcolor="#'+gebi("Form").foncolor.value+'" style="border: 1px solid #'+gebi("Form").bordercolor.value+';" width="100%" cellpadding="0" cellspacing="0" border="0">'+top.t1+''+res+''+top.t2+'</table>'+
	'</td>'+
	'</table>';

	gebi("fnt").innerHTML = res;
}

function checkForm() {

redrawdiv();

CodeForm['code'].value = "<!-- http://сайт/ -->\n"+
"<sc"+"ript type=\"text/javascript\">\n"+
"pclinksformat		 = "+pos+"; // Формат блока \n"+
"pclinkslinkcolor	 = '"+gebi("Form").linkcolor.value+"'; // Цвет ссылки \n"+
"pclinkstextcolor	 = '"+gebi("Form").textcolor.value+"'; // Цвет текста \n"+
"pclinksdomencolor	 = '"+gebi("Form").domencolor.value+"'; // Цвет домена \n"+
"pclinksbordercolor	 = '"+gebi("Form").bordercolor.value+"'; // Цвет рамки \n"+
"pclinksfoncolor	 = '"+gebi("Form").foncolor.value+"'; // Цвет фона \n"+
"pclinkswidth		 = "+gebi("Form").width.value+"; // Ширина \n"+
"pclinkscount		 = "+gebi("Form").count.value+"; // Кол-во объявлений  \n"+
"pclinksptlink		 = "+gebi("Form").ptlink.value+"; // Размер ссылки \n"+
"pclinkspttext		 = "+gebi("Form").pttext.value+"; // Размер текста \n"+
"pclinksptdomen		 = "+gebi("Form").ptdomen.value+"; // Размер домена \n\n"+
"document.write('<sc'+'ript type=\"text/javascript\" src=\"http://сайт/js2.php?id=<?php print intval($_GET[id]); ?>&c='+pclinkscount+'\"></sc'+'ript>');\n"+
"</sc"+"ript>";	
}	
</script>

<table width="100%" style="margin-top: 25px;">
	<tr>
		<td style="padding-left: 20px; background:URL(/images/line_title.gif) no-repeat bottom left;"><b style="color: #999999; background-color: #ffffff; padding-left: 3px; padding-right: 3px;">Это будет выглядить так:</b></td>
	</tr>
	<tr>
		<td><div id="fnt"></div></td>
	</tr>
</table>

<form method="post" action="" name="Form" id="Form">
<table width="100%" style="margin-top: 25px;">
	<tr>
		<td style="padding-left: 20px; background:URL(/images/line_title.gif) no-repeat bottom left;"><b style="color: #999999; background-color: #ffffff; padding-left: 3px; padding-right: 3px;">Настройки:</b></td>
	</tr>
</table>
<table width="100%" style="margin-top: 10px;">
	<tr>
		<td>
		Формат блока:<br />
			<input class="check" type="radio" id="format1" name="format" value=2 onclick="td(2); Form['width'].value = 200; Form['count'].value = 5; checkForm();" checked> <b>Вертикальный</b>; 
			<input class="check" type="radio" id="format2" name="format" value=1 onclick="td(1); Form['width'].value = 500; Form['count'].value = 3; checkForm();"> <b>Горизонтальный</b>
		</td>
	</tr>
	<tr>
		<td>
		<input type="text" id="linkcolor" size="7" onKeyUp="return checkForm();" value="3366FF" /><img style="cursor: hand;" onclick="color('linkcolor.php');" src="/images/color_ico.gif" width="17" height="17" border="0" alt="Выбрать цвет" /> - Цвет ссылки объявлений
		</td>
		<td>
		<input type="text" id="width" size="7" value="200" onKeyUp="return checkForm();" /> - Ширина блока
		</td>
	</tr>
	<tr>
		<td>
		<input type="text" id="textcolor" size="7" value="000000" onKeyUp="return checkForm();" /><img style="cursor: hand;" onclick="color('textcolor.php');" src="/images/color_ico.gif" width="17" height="17" border="0" alt="Выбрать цвет" /> - Цвет текста объявления
		</td>
		<td>
		<input type="text" id="count" size="7" onKeyUp="return checkForm();" value="5" /> - Кол-во объявлений
		</td>
	</tr>
	<tr>
		<td>
		<input type="text" id="domencolor" size="7" onKeyUp="return checkForm();" value="009900" /><img style="cursor: hand;" onclick="color('domencolor.php');" src="/images/color_ico.gif" width="17" height="17" border="0" alt="Выбрать цвет" /> - Цвет домена объявления
		</td>
		<td>
		<input type="text" id="ptlink" size="7" onKeyUp="return checkForm();" value="10" /> pt размер шрифта ссылки объявлений
		</td>
	</tr>
	<tr>
		<td>
		<input type="text" id="foncolor" size="7" onKeyUp="return checkForm();" value="FFFFFF" /><img style="cursor: hand;" onclick="color('foncolor.php');" src="/images/color_ico.gif" width="17" height="17" border="0" alt="Выбрать цвет" /> - Цвет фона блока объявлений
		</td>
		<td>
		<input type="text" id="pttext" size="7" onKeyUp="return checkForm();" value="8" /> pt размер текста объявления
		</td>
	</tr>
	<tr>
		<td>
		<input type="text" id="bordercolor" size="7" onKeyUp="return checkForm();" value="CCCCCC" /><img style="cursor: hand;" onclick="color('bordercolor.php');" src="/images/color_ico.gif" width="17" height="17" border="0" alt="Выбрать цвет" /> - Цвет рамки блока объявлений
		</td>
		<td>
		<input type="text" id="ptdomen" size="7" onKeyUp="return checkForm();" value="9" /> pt размер домена объявления
		</td>
	</tr>
</table>
</form>

<table width="100%" style="margin-top: 25px;">
	<tr>
		<td style="padding-left: 20px; background:URL(/images/line_title.gif) no-repeat bottom left;"><b style="color: #999999; background-color: #ffffff; padding-left: 3px; padding-right: 3px;">Скопируйте код с формы и вставьте на Вашем сайте:</b></td>
	</tr>
	<tr>
		<td><form method="post" action="" name="CodeForm">
			<textarea id="code" name="code" style="width: 100%; height: 300px;"></textarea>
		</form></td>
	</tr>
</table>
<script type="text/javascript">
	checkForm();
</script>


далее нам надо сделать чтобы эта страница, которая генерирует код поддерживала формат еще и utf8. Вот файл который отвечает за это нам надо сделать 2й в utf8 как я понимаю назвать типо utfjs2.php


файл который надо перевести в utf8

HTML:
if(pclinksformat == 2) {
	t1 = '<tr>';
	t2 = '</tr>';
	td1 = '<td style="padding: 3 3 3 3px;" valign="top">';
	td2 = '</td>';
} else {
	t1 = '';
	t2 = '';
	td1 = '<tr><td style="padding: 3 3 3 3px;" valign="top">';
	td2 = '</td></tr>';
	pos = 1;
}

<?php

include "cfg.php";
$c  = intval($_GET[c]);
$id = intval($_GET[id]);
if(!$c || $c > 9) { $c = 3; }

$where = "";

$sql = 'SELECT * FROM context2 WHERE price >= '.$cfgContext.''.$where.' ORDER BY price DESC';
$rs = mysql_query($sql);

$i = 1;
print "linkcode = '";
while($a = mysql_fetch_array($rs)) {
	$sql2		= 'SELECT balance FROM users WHERE id = '.$a[user_id].' LIMIT 1';
	$rs_balance	= mysql_query($sql2);
	$a_b		= mysql_fetch_array($rs_balance);

	if ($a_b['balance'] >= $a['price'] && ($a['stopor'] > $a['clx'] || $a['stopor'] == 0) && $a[status] == 0) {
		print "'+top.td1+'<a href=\"http://сайт/click/context2.php?id=".$id."&ids=".$a[id]."\" target=\"_blank\" style=\"text-decoration: none;\"><font style=\"font-size: '+pclinksptlink+'pt;\" color=\"#'+pclinkslinkcolor+'\"><u><b>".$a[name]."</b></u></font><br />'+
			'<font style=\"font-size: '+pclinkspttext+'pt;\" color=\"#'+pclinkstextcolor+'\">".$a[descr]."</font><br />'+
			'<font style=\"font-size: '+pclinksptdomen+'pt;\" color=\"#'+pclinksdomencolor+'\"><u>".$a[url]."</u></font></a>'+top.td2+'";

		if($i == $c) { break; }
		$i++;

	}
}
print "';";
?>
	res = linkcode;

	if(res == "") { res = top.td1 + '<center><a href="http://сайт/" target="_blank"><img src="/images/logo.gif" width="133" height="34" border="0" alt="http://сайт/ - биржа контекстной рекламы и PopUp" /></a></center>' + top.td2; }

	res = '<table width="'+pclinkswidth+'" cellpadding="0" cellspacing="0" border="0">'+
	'<tr>'+
	'<td>'+
	'<a style="text-decoration: none; font-family: Tahoma, Verdana, Arial; font-size: 11px; color: #000000;" href="http://сайт/" target="_blank"><b>Реклама: <font color="#999999">сайт<b>.</b>ru</font></b></a>'+
	'<table bgcolor="#'+pclinksfoncolor+'" style="border: 1px solid #'+pclinksbordercolor+';" width="100%" cellpadding="0" cellspacing="0" border="0">'+top.t1+''+res+''+top.t2+'</table>'+
	'</td>'+
	'</table>';

	document.write(res);


и есть еще файл который отвечает за что я точно незнаю но он тут прописан называется context2.php собственно вот он

HTML:
<?php
function getip() {
	if(getenv("HTTP_CLIENT_IP")) {
		$ip = getenv("HTTP_CLIENT_IP");
	} elseif(getenv("HTTP_X_FORWARDED_FOR")) {
		$ip = getenv("HTTP_X_FORWARDED_FOR");
	} else {
		$ip = getenv("REMOTE_ADDR");
	}
return $ip;
}

include "../cfg.php";
$id		= intval($_GET['id']);
$sid	= intval($_GET['ids']);

$get_user_info = mysql_query("SELECT url, user_id FROM webmasters WHERE id = ".$id." LIMIT 1");
$row = mysql_fetch_array($get_user_info);
$urlwm	= $row['url'];
$wm_id	= $row['user_id'];

if($row) {
	$ip			= getip();									// Переменная с IP
	$brauzer	= substr($_SERVER["HTTP_USER_AGENT"],0,50);	// Браузер

		$get_popup	= mysql_query("SELECT id, url, price, user_id FROM context2 WHERE id = ".$sid." LIMIT 1");
		$row		= mysql_fetch_array($get_popup);
		$sid	= $row['id'];
		$url	= $row['url'];
		$price	= $row['price'];
		$uid	= $row['user_id'];
		$time	= time() - $cfgTime;
		$count_click	= mysql_num_rows(mysql_query("SELECT ids, ip FROM log_context2 WHERE ids = ".$sid." AND ip = '".$ip."' AND date > ".$time));

		if($count_click) {
			print "<html><head><script language=\"javascript\">top.location.href=\"".$url."\";</script></head></html>";
		} else {
			$one_porcent	= $price / 100;
			$admin_percent	= sprintf("%01.4f", $one_porcent * $cfgAdminPerc);
			$wm_percent		= $price - $admin_percent;


			$pRefSum		= 0; // Сумма рефералу

			// Дошла очередь и до рефералов

					$sql	= "SELECT ref_id FROM users WHERE id = ".$wm_id." LIMIT 1";
					$wmr	= mysql_query($sql);
					$row	= mysql_fetch_array($wmr);
					$wm_ref	= $row['ref_id'];	// ID реферала ВЕБ-мастера

					$sql		= "SELECT ref_id FROM users WHERE id = ".$uid." LIMIT 1";
					$advr		= mysql_query($sql);
					$row		= mysql_fetch_array($advr);
					$rek_ref	= $row['ref_id'];	// ID реферала рекламодателя



			if($rek_ref != 0) {

				$pRefSum = sprintf("%01.4f", $admin_percent * $cfgRefPerc / 100);
				mysql_query("UPDATE users SET balance=balance+".$pRefSum.", ref_money=ref_money+".$pRefSum." WHERE id=".$rek_ref." LIMIT 1");

			}

			if($wm_ref != 0) {

				$pRefSum = sprintf("%01.4f", $admin_percent * $cfgRefPerc / 100);
				mysql_query("UPDATE users SET balance=balance+".$pRefSum.", ref_money=ref_money+".$pRefSum." WHERE id=".$wm_ref." LIMIT 1");

			}
			// Закончили с рефералами



			mysql_query("UPDATE users SET balance=balance+".$wm_percent." WHERE id=".$wm_id." LIMIT 1");

			mysql_query("UPDATE users SET balance=balance-".$price.", recconcurs = recconcurs + ".$price." WHERE id=".$uid." LIMIT 1");
			mysql_query("UPDATE context2 SET clx=clx+1, sum=sum+".$price." WHERE id=".$sid." LIMIT 1");

			mysql_query("UPDATE webmasters SET clx_today=clx_today+1, m_today=m_today+".$wm_percent." WHERE id=".$id." LIMIT 1");
			mysql_query("INSERT INTO log_context2 (date, ip, idw, ids, price, url, brouser, fromurl) VALUES (".time().", '".$ip."', ".$id.", ".$sid.", ".$cfgStrike.", '".$urlwm."', '".$brauzer."', '".$_SERVER['HTTP_REFERER']."')");

			// МЕСТО ГДЕ МОЖНО ПИСАТЬ СТАТИСТИКУ АДМИНУ
$date	= date("d.m.Y");
mysql_query("UPDATE logs SET context2 = context2 + ".$admin_percent." WHERE date = '".$date."' LIMIT 1");

			print "<html><head><script language=\"javascript\">top.location.href=\"".$url."\";</script></head></html>";
		}

} else {
	print "<html><head><script language=\"javascript\">top.location.href=\"".$cfgSiteUrl."\";</script></head></html>";
}
?>



Гуру своего дела помогите пожалуйста в данной реализации:thenks::thenks::thenks::bc::bc::bc: уж очень надо.... если кто сделает опишите пожалуйста поподробнее что да как....
 
Меня кто-нибудь слышит..... гуру помогите очень нужно.....:thenks::thenks::thenks::thenks:
 
Меня кто-нибудь слышит.....
Слышат, но не понимают:D

сделать кодировку по умолчанию cp1251 и добавить utf8
Вообще Кодировка прописывается в html

А Для преобразования кодировки в пхп используют функцию Для просмотра ссылки Войди или Зарегистрируйся
 
Слышат, но не понимают:D
Вообще Кодировка прописывается в html
*** скрытое содержание ***
А Для преобразования кодировки в пхп используют функцию Для просмотра ссылки Войди или Зарегистрируйся




сделать cp1251 По умолчанию это на страничку code.php чтобы пользователь мог выбирать какую ему надо (cp1251 либо utf8)


в html я кодировки не нашел возможно потому что этот код должен грузится на чужих сайтах... может быть тут кодировка в БД?
 
сделать cp1251 По умолчанию это на страничку code.php чтобы пользователь мог выбирать какую ему надо (cp1251 либо utf8)
в html я кодировки не нашел возможно потому что этот код должен грузится на чужих сайтах... может быть тут кодировка в БД?

Ну можете создать две разных базы или файлов чего угодно... Обясните зачем пользователю менять кодировку через интерфейс? Это может сделать браузер. Смысла не вижу. Кодровка указывается простым параметром HTML, например таким:

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">


P.S. Используйте одну кодировку.
 
Ну можете создать две разных базы или файлов чего угодно... Обясните зачем пользователю менять кодировку через интерфейс? Это может сделать браузер. Смысла не вижу. Кодровка указывается простым параметром HTML, например таким:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
P.S. Используйте одну кодировку.


в том то и дело что мне нужна разная..... т.к когда пользователь размещает код системы на сайте в кодировке cp1251 все отображается как и должно а вот когда сайт в utf8 тогда получаются крякозяблы.... те файлы которые я опубликовал и отвичают за кодировку как я понимаю
 
если я правильно понял - тексты лежат в базе Mysql?
тогда я думаю варианты для UTF8 и СР1251 должны отличаться кодировками соединения с базой, что можно сделать командами:
PHP:
@mysql_query("SET NAMES 'cp1251'");
@mysql_query( "set session character_set_server=cp1251");
@mysql_query( "set session character_set_database=cp1251" );
@mysql_query( "set session character_set_connection=cp1251" );
@mysql_query( "set session character_set_results=cp1251" );
@mysql_query( "set session character_set_client=cp1251" );
с соответствующими параметрами
 
оставь одну кодировку, браузер сам решит в какой кодировке ему отсылать текст.
 
как это реализовать в данных файлох? где прописать?

Добавлено через 30 минут
Проверьте пожалуйста все сделал все заработало! Если что не так поправьте)


Реализовал все вот так:
HTML:
if(pclinksformat == 2) {
	t1 = '<tr>';
	t2 = '</tr>';
	td1 = '<td style="padding: 3 3 3 3px;" valign="top">';
	td2 = '</td>';
} else {
	t1 = '';
	t2 = '';
	td1 = '<tr><td style="padding: 3 3 3 3px;" valign="top">';
	td2 = '</td></tr>';
	pos = 1;
}
<?php
include "cfg.php";
$c  = intval($_GET[c]);
$id = intval($_GET[id]);
if(!$c || $c > 9) { $c = 3; }
$where = "";



@mysql_query("SET NAMES 'utf8'");
@mysql_query( "set session character_set_server=utf8");
@mysql_query( "set session character_set_database=utf8" );
@mysql_query( "set session character_set_connection=utf8" );
@mysql_query( "set session character_set_results=utf8" );
@mysql_query( "set session character_set_client=utf8" );  







$sql = 'SELECT * FROM context2 WHERE price >= '.$cfgContext.''.$where.' ORDER BY price DESC';
$rs = mysql_query($sql);
$i = 1;
print "linkcode = '";
while($a = mysql_fetch_array($rs)) {
	$sql2		= 'SELECT balance FROM users WHERE id = '.$a[user_id].' LIMIT 1';
	$rs_balance	= mysql_query($sql2);
	$a_b		= mysql_fetch_array($rs_balance);
	if ($a_b['balance'] >= $a['price'] && ($a['stopor'] > $a['clx'] || $a['stopor'] == 0) && $a[status] == 0) {
		print "'+top.td1+'<a href=\"http://сайт/click/context2.php?id=".$id."&ids=".$a[id]."\" target=\"_blank\" style=\"text-decoration: none;\"><font style=\"font-size: '+pclinksptlink+'pt;\" color=\"#'+pclinkslinkcolor+'\"><u><b>".$a[name]."</b></u></font><br />'+
			'<font style=\"font-size: '+pclinkspttext+'pt;\" color=\"#'+pclinkstextcolor+'\">".$a[descr]."</font><br />'+
			'<font style=\"font-size: '+pclinksptdomen+'pt;\" color=\"#'+pclinksdomencolor+'\"><u>".$a[url]."</u></font></a>'+top.td2+'";
		if($i == $c) { break; }
		$i++;
	}
}
print "';";
?>
	res = linkcode;
	if(res == "") { res = top.td1 + '<center><a href="http://сайт/" target="_blank"><img src="/images/logo.gif" width="133" height="34" border="0" alt="http://сайт/ - биржа контекстной рекламы и PopUp" /></a></center>' + top.td2; }
	res = '<table width="'+pclinkswidth+'" cellpadding="0" cellspacing="0" border="0">'+
	'<tr>'+
	'<td>'+
	'<a style="text-decoration: none; font-family: Tahoma, Verdana, Arial; font-size: 11px; color: #000000;" href="http://сайт/" target="_blank"><b>Реклама: <font color="#999999">сайт<b>.</b>ru</font></b></a>'+
	'<table bgcolor="#'+pclinksfoncolor+'" style="border: 1px solid #'+pclinksbordercolor+';" width="100%" cellpadding="0" cellspacing="0" border="0">'+top.t1+''+res+''+top.t2+'</table>'+
	'</td>'+
	'</table>';
	document.write(res);





и в конце сохранил этот файл в utf8. Включил на чужом сайте код все заработало) :ah:
 
как это реализовать в данных файлох? где прописать?

Проверьте пожалуйста все сделал все заработало! Если что не так поправьте)

примерно так, хотя на мой взгляд лучше это делать как можно раньше после команды соединения с базой mysql_pconnect, чтобы точно все выборки были в нужных кодировках, но если заработало - значит нормально и в таком варианте
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху