Консультация № 177027
03.03.2010, 00:31
0.00 руб.
0 3 1
Здраствуйте!
У меня к вам два вопроса
1. Почему у меня не отображается счётчик когда я его вывожу через php.

Код:
print "  <td noWrap><!--LiveInternet counter--><script type="text/javascript"><!-- document.write("<a href='http://www.liveinternet.ru/click' "+"target=_blank><img src='//counter.yadro.ru/hit?t52.13;r"+escape(document.referrer)+((typeof(screen)=="undefined")?"":";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";"+Math.random()+"' alt='' title='LiveInternet: показано число просмотров и"+" посетителей за 24 часа' "+"border='0' width='88' height='31'><\/a>")//--></script><!--/LiveInternet--></td>";


2. Я сохраняю данные в базу:


Код:
// добавляем запись в таблицу
$II_champion_kollizii = "INSERT INTO `champion_kollizii` (id, nick, komanda, kolliz_plus, kolliz_minus, summa, data)
VALUES ('".$UserName."', '".$team_link."', '".$plus."', '".$minus."', '".$summa."', '".date("dmY")."')";
mysql_query ($II_champion_kollizii) or die (mysql_error());


Как прописать так, что в случае если такие данные уже есть, их надо обновить.

Спасибо за помощь!

Обсуждение

Неизвестный
03.03.2010, 04:30
общий
это ответ
Здравствуйте, arttok.
1) заключите выводимую строку в одинарные кавычки. То есть,
print ' <td noWrap><!--LiveInternet counter--><script type="text/javascript"><!-- document.write("<a href=\'http://www.liveinternet.ru/click\' "+"target=_blank><img src='//counter.yadro.ru/hit?t52.13;r"+escape(document.referrer)+((typeof(screen)=="undefined")?"":";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";"+Math.random()+"' alt='' title=\'LiveInternet: показано число просмотров и"+" посетителей за 24 часа\' "+"border=\'0\' width=\'88\' height=\'31\'><\/a>")//--></script><!--/LiveInternet--></td>';
Либо же, заключая строку, в которой содержатся двойные кавычки, в двойные кавычки, экранируйте те двойные кавычки, которые находятся внутри самых внешних двойных кавычек
Заключить в одинарные кавычки будет попроще.
2) Используйте оператор REPLACE, а не INSERT. Синтаксис у него такой же, как у INSERT, но в случае, если он натыкается на запись с уже существующим значением ключа, он ее перезапишет. Если значение ключа нигде не встречается, то REPLACE отработает за INSERT.

С уважением, Товарищ Бородин
5
Спасибо, разобрался!
Неизвестный
03.03.2010, 11:16
общий
Товарищ Бородин:
Счётчик всё равно не отображается! Вот выводимая страница:
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0029)http://www.test1.ru/index.php -->
<HTML><HEAD><TITLE>Виртуальная футбольная лига - VSOL</TITLE>
<META content=494eb5db5386b132 name=yandex-verification>
<META
content="футбольный менеджер игра онлайн футбол виртуальный спорт спортивная стратегия бизнес тренер чемпионат бутса лига сектор команда игрок обзор результат матч гол кубок football manager online game soccer goals league fantasy FIFA UEFA WIFA butsa TCM CM championship manager free virtual goal коллизия сыгранность матч"
name=keywords>
<META http-equiv=Content-Type content="text/html; charset = windows-1251">
<META content="MSHTML 6.00.6000.16448" name=GENERATOR><LINK media=screen
href="Виртуальная%20футбольная%20лига%20-%20VSOL_files/index.css" type=text/css
rel=stylesheet><LINK href="favicon.ico" type=image/x-icon rel=icon><LINK
href="favicon.ico" type=image/x-icon rel="shortcut icon"></HEAD>
<BODY>
<DIV class=bl id=bl-top>ВСОЛ Daily - фан-сайт on-line менеджера -
www.virtualsoccer.ru </DIV>
<DIV class=bl id=bl-head>
<TABLE>
<TBODY>
<TR>
<TH noWrap align=left width=280><A
href="http://www.test1.ru/index.php"><B>ВСОЛ Daily</B><BR>фан-сайт</A> </TH>
<TD vAlign=center width="100%"></TD>
<TD noWrap align=right width=500>Счёт для пожертвований и спонсорской
помощи<BR>/<SPAN
style="FONT-SIZE: 18px; COLOR: red">Я</SPAN>41001245927522
/</TD></TR></TBODY></TABLE></DIV>
<DIV class=bl
style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #fff; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; TEXT-ALIGN: left">
<DIV style="FLOAT: right; MARGIN-RIGHT: 5px"></DIV> <B>Главред: <SPAN
style="COLOR: red">TOK</SPAN></B><BR> <I><B>Юзер:</B> </I></DIV>
<DIV class=bl id=bl-main>
<TABLE>
<TBODY>
<TR>
<TD id=tb-main-c>
<DIV class=text>
<H3 align=center>Добро пожаловать!!!</H3><BR>
<DIV align=justify>   На сайте есть сервис по расчёту
сыгранности и взаимопонимания для ваших команд. Там же есть подробная
инструкция как им пользоваться.<BR>   Ещё вы можете скачать
последнюю версию Неофициальной Справки HelpVSOL_v.1.5(1.93Mb), которая
гарантированно запустится на любом компьютере.<BR>   Все
вопросы, проблемы, идеи и пожелания по развитию сайта можете писать на
встроенном форуме.<BR>   По мере возможности сайт будет
совершенствоваться, есть много интересных задумок:) Одна из приоритетных
целей - переехать на нормальный хостинг, поэтому буду рад любому взносу на
развитие сайта. Счёт в <U>Яндекс.Деньги</U>: <B>41001245927522</B>
</DIV></DIV></TD>
<TD id=tb-main-r>
<DIV class=menu>
<H4></H4><A href="http://www.test1.ru/forma_register.php">Регистрация</A>
/ <A href="http://www.test1.ru/index.php#">Забыли?</A><BR>
<TABLE width=200 align=center>
<FORM class=flog action=/index.php method=post>
<TBODY>
<TR>
<TD><LABEL for=user>Логин:</LABEL></TD>
<TD colSpan=2><INPUT id=user style="WIDTH: 100%" name=user></TD></TR>
<TR>
<TD><LABEL for=pass>Пароль:</LABEL></TD>
<TD colSpan=2><INPUT id=pass style="WIDTH: 100%" type=password
name=pass></TD></TR>
<TR>
<TD></TD>
<TD><INPUT class=inp_ch id=inp_ch_id type=checkbox name=l-rem></TD>
<TD><LABEL for=inp_ch_id>Запомнить</LABEL></TD></TR>
<TR>
<TD align=right colSpan=3><INPUT style="FONT-WEIGHT: bold; FONT-SIZE: 10px" type=submit value=ВОЙТИ name=login></TD></TR></TBODY></FORM></TABLE></DIV>
<DIV class=menu>
<H4></H4>
<UL>
<LI><A style="FONT-SIZE: 14px" href="http://www.test1.ru/index.php">ВСОЛ
Daily</A>
<LI style="COLOR: #ccefe3">1
<LI><A href="http://www.test1.ru/sigrannost.php">Сыгранность и
Взаимка</A>
<LI><A href="http://dailyvsol.easyforum.ru/" target=_blank>Форум</A>
<LI><A
href="http://www.test1.ru/files/HelpVSOL_v.2.0(1.95Mb).exe">Скачать
HelpVSOL_v.2.0(1.95Mb).exe</A>
<LI style="COLOR: #ccefe3">1
<LI><A style="COLOR: red" href="http://www.test1.ru/lovlja.php">Ловля на
живца</A>
<LI><A style="COLOR: red"
href="http://www.test1.ru/champion_kollizii.php">ЧЕМПИОНАТ
КОЛЛИЗИОНИСТОВ</A>
<LI style="COLOR: #ccefe3">1
<LI style="COLOR: #ccefe3">1
<LI style="FONT-WEIGHT: bold">Друзья сайта
<LI style="COLOR: #ccefe3">1
<LI><A href="http://vkontakte.ru/club11845618"><IMG height=31
alt="КИЕВ_VSOL Вконтакте"
src="Виртуальная%20футбольная%20лига%20-%20VSOL_files/vkontakte.gif"
width=90 align=left></A> <BR><BR>
<LI> 
<OBJECT id=hwm88-31_1
codeBase=http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0
height=31 width=88 align=middle
classid=clsid:d27cdb6e-ae6d-11cf-96b8-444553540000><PARAM NAME="FlashVars" VALUE="rid=399808"><PARAM NAME="allowScriptAccess" VALUE="sameDomain"><PARAM NAME="movie" VALUE="http://www.heroeswm.ru/hwmb/hwm88-31_1.swf"><PARAM NAME="quality" VALUE="high"><PARAM NAME="bgcolor" VALUE="#ffffff">
<embed FlashVars='rid=399808'
src='http://www.heroeswm.ru/hwmb/hwm88-31_1.swf' quality='high'
bgcolor='#ffffff' width='88' height='31' name='hwm88-31_1'
align='middle' allowScriptAccess='sameDomain'
type='application/x-shockwave-flash'
pluginspage='http://www.macromedia.com/go/getflashplayer' />
</OBJECT></LI></UL></DIV></TD></TR></TBODY></TABLE></DIV>
<DIV class=bl id=bl-sub>
<TABLE>
<TBODY>
<TR><TD noWrap><!--LiveInternet counter-->
<SCRIPT type='"text/javascript"'>
<!-- document.write("<a href='http://www.liveinternet.ru/click' "+"target=_blank><img src='//counter.yadro.ru/hit?t52.13;r"+escape(document.referrer)+((typeof(screen)=="undefined")?"":";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";"+Math.random()+"' alt='' title='LiveInternet: показано число просмотров и"+" посетителей за 24 часа' "+"border='0' width='88' height='31'><\/a>")//-->
</SCRIPT>
<!--/LiveInternet-->
</TD>

<TH width="100%">2009 © <A href="http://www.test1.ru/index.php">VSOL
Daily</A></TH></TR></TBODY></TABLE></DIV></BODY></HTML>

Если убрать экранизацию двойных кавычек, всё равно не отображается:) Хотя если выводить не через php то всё работает.
Неизвестный
03.03.2010, 14:34
общий
arttok:
Два вопроса.
1) На кой черт надо выводить счетчик через PHP, когда гораздо проще выводить его просто в HTML-коде? И не надо мучаться с экранированием кавычек!
2) Вы не пробовали НЕ чередовать внутри выводимой строки одинарные и двойные кавычки? Пока что я вижу у вас там полный разнобой(особенно в конце строки). Возьмите себе за правило: значения атрибутов HTML-тегов брать только в двойные кавычки. Одинарные кавычки использовать только для того, чтобы в них заключать строки текста, выводимые с помощью Javascript или PHP. Когда вы приведете в порядок свою строку, она будет нормально выводиться. Она ведь выводится, но выводится-то она экранированной(поэтому и счетчика не видно)! Вы бы внимательно изучили то, что Вы получили, сравнили с тем, что я Вам написал... Вопросы чуть что задавать каждый умеет, а Вы сами попробуйте поразбираться, проблема-то нехитрая. Надо только внимательно смотреть в то, что пишете.
Форма ответа