Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как встроить рнр-скрипт в кнопку?
 
 автор: Владимир55   (23.10.2006 в 11:58)   письмо автору
 
 

В меню сайта есть кнопка письма администратору. В виде кода это выражается так:

<a " target="_blank" " target="_blank" title="Можете написать администратору сайта обо всем, что Вас интересует." href="mailto:adm@site.ru?subject=Администратору сервера www.site.ru">
<img border="0" src="Knopky/button110.gif" width="170" height="25"></a></p>

Однако поскольку это вызывает бесконечный поток спама, то умные люди предложили мне отправлять почту с помощью вот такого рнр-скрипта:

<?$email_ = split("@", $email);
$email1 = $email_[0];
$email2 = $email_[1];
?>
<SCRIPT LANGUAGE=JAVASCRIPT>
var link = "e-mail";
var tag1 = "mail";
var tag2 = "to:";
var email1 = "admm";
var email2 = "s5s.ru";
subject = "text";
document.write("<a h" + "ref=" + tag1 + tag2 + email1 + "@" + email2 + "?subject=" + subject + ">" + link + "</a>");
</SCRIPT>

Но встает вопрос: а как мне этот скрипт совместить с кнопкой? Чтобы посетитель нажимал на кнопку, как и прежде, нго при этом запускался скрипт и формировался адрес?

   
 
 автор: elenaki   (23.10.2006 в 12:24)   письмо автору
 
   для: Владимир55   (23.10.2006 в 11:58)
 

РHР-скрипт тут ни при чем (он нужен, если адреса у вас в базе и вытаскиваются скриптом),
это обычный java-script. так что первые три строки убираем. в переменной subject пишете
вашу тему, а в команду document.write вставляете ваш код с кнопкой.


<SCRIPT LANGUAGE=JAVASCRIPT>
var link = "e-mail";
var tag1 = "mail";
var tag2 = "to:";
var email1 = "admm";
var email2 = "s5s.ru";
var subject = "Администратору сервера www.site.ru";
document.write("<a target=_blank  title='Можете написать администратору сайта обо всем, что Вас интересует.'  h" + "ref=" + tag1 + tag2 + email1 + "@" + email2 + "?subject=" +  subject + "><img border=0 src=\"Knopky/button110.gif\" width=170 height=25></a>");
</SCRIPT>

   
 
 автор: Владимир55   (23.10.2006 в 12:39)   письмо автору
 
   для: elenaki   (23.10.2006 в 12:24)
 

Чего-то не то...

Строки

<a " target="_blank" " target="_blank" title="Можете написать администратору сайта обо всем, что Вас интересует." href="mailto:adm@site.ru?subject=Администратору сервера www.site.ru">
<img border="0" src="Knopky/button110.gif" width="170" height="25"></a></p>

я заменил

<SCRIPT LANGUAGE=JAVASCRIPT>
var link = "e-mail";
var tag1 = "mail";
var tag2 = "to:";
var email1 = "admm";
var email2 = "s5s.ru";
var subject = "Администратору сервера www.site.ru";
document.write("<a target=_blank title='Можете написать администратору сайта обо всем, что Вас интересует.' h" + "ref=" + tag1 + tag2 + email1 + "@" + email2 + "?subject=" + subject + "><img border=0 src=\"Knopky/button110.gif\" width=170 height=25></a>");
</SCRIPT>

Но на экране кнопки-то теперь нету! Не появилась button110.gif... И нажимать не на что!

   
 
 автор: elenaki   (23.10.2006 в 12:51)   письмо автору
 
   для: Владимир55   (23.10.2006 в 12:39)
 

Knopky/button110.gif - путь верный? файл есть? все буквы в имени в том же регистре?

даже крестик не появился? у меня нет вашей картинки, но кнопка появляется (с крестом), по нажатию открывается форма для письма.

   
 
 автор: Владимир55   (23.10.2006 в 13:24)   письмо автору
 
   для: elenaki   (23.10.2006 в 12:51)
 

Имя файла, регистр и путь к нему те же - ведь они перенесыны мышкой. А на месте кнопки ничего нет (нет и крестика).

Что бы это значило?

   
 
 автор: elenaki   (23.10.2006 в 13:44)   письмо автору
 
   для: Владимир55   (23.10.2006 в 13:24)
 

ошибки java-script есть? в нижнем левом углу такой желтый треугольничек? если есть - смотрите, какая ошибка, в какой строке.

   
 
 автор: Владимир55   (23.10.2006 в 13:51)   письмо автору
 
   для: elenaki   (23.10.2006 в 13:44)
 

В нижнем левом углу написано "Готово".

При наведении мышки на то место, где должна отражаться кнопка, реакции никакой...

   
 
 автор: elenaki   (23.10.2006 в 14:01)   письмо автору
 
   для: Владимир55   (23.10.2006 в 13:51)
 

http://ela2.net/tests/knopka_mail.html

   
 
 автор: Владимир55   (23.10.2006 в 14:53)   письмо автору
 
   для: elenaki   (23.10.2006 в 14:01)
 

Фокус оказался в том, что на отдельном листочке и у меня Ваш скрипт нормально работает тоже. А в составе сайта не работает никак!

Я после имеющегося обычного кода кнопки дополнительнго разместил Ваш скрипт (пусть для сравнения рядом побудут), но Ваш скрипт при этом не воспроизводится!

Разве бывает такое?

   
 
 автор: elenaki   (23.10.2006 в 14:59)   письмо автору
 
   для: Владимир55   (23.10.2006 в 14:53)
 

скрипт - в студию! возможно, происходит конфликт имен. вы его, часом, не в echo вставляете?

   
 
 автор: Владимир55   (23.10.2006 в 15:11)   письмо автору
 
   для: elenaki   (23.10.2006 в 14:59)
 

Выше по тексту между <title> и </head> сыскался скрипт:

<script language="JavaScript"><!--
function show(name)
{
open(name,'_blank','left=5,top=20,scrollbars=no,toolbar=no,directories=no,menubar=no,status=no,resizable=no,width=390,height=180');
}
// --></script>

А ниже по тексту <a href="javascript:show('Privet.htm')">Приветствие </a>

Потом <script language="javascript" src="http://www.vysokovskiy.ru/a/1.php"></script>

Еще скрипт <script language=JavaScript src='http://astroguide.ru/hor/'>

И еще: <script language="JavaScript" src="http://ssns.ru/online/online.php"></script>

Потом типовой <!--LiveInternet counter--><script type="text/javascript">

Они мешают друг другу?

   
 
 автор: elenaki   (23.10.2006 в 15:23)   письмо автору
 
   для: Владимир55   (23.10.2006 в 15:11)
 

чтобы узнать, мешают или нет, поместите наш скрипт выше всех остальных (я же не телепат,
чтоб видеть, какие в тех скриптах есть переменные). он точно не влез нигде между <script>...
</script>? а после счетчика нет ли тэга <noscript>?

   
 
 автор: Владимир55   (23.10.2006 в 15:44)   письмо автору
 
   для: elenaki   (23.10.2006 в 15:23)
 

Я поместил его сразу после <body Выше между между <title> и </head> только скрипт

<script language="JavaScript"><!--
function show(name)
{
open(name,'_blank','left=5,top=20,scrollbars=no,toolbar=no,directories=no,menubar=no,status=no,resizable=no,width=390,height=180');
}
// --></script>

Не работает!

   
 
 автор: elenaki   (23.10.2006 в 15:50)   письмо автору
 
   для: Владимир55   (23.10.2006 в 15:44)
 

по View Source что показывает? попробуйте поменять слэш в пути на обратный - \
стесняюсь спросить, а просто картинку, без скрипта, вы можете вывести?
<img border=0 src="Knopky/button110.gif" width=170 height=25>

   
 
 автор: Владимир55   (23.10.2006 в 16:08)   письмо автору
 
   для: elenaki   (23.10.2006 в 15:50)
 

И тут скрипт взял и заработал! Ура!!!

Все прекрасно! Остался только последний нюанс: кодировка.

Страница, на которой находится скрипт, вверху имеет код
<meta http-equiv="Content-Language" content="ru">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

А письмо приходит в кодировке KOI8-R

И тема: "Можете написать администратору сайта" читается как: Р?РёС?С?Р?Р?_Р°Р?Р?РёР?РёС?С'С?Р°С'Р?С?С?_С?Р°Р?С'Р°

При этом тело письма читается нормально.

Что-то можно придумать?

   
 
 автор: Trianon   (23.10.2006 в 16:18)   письмо автору
 
   для: Владимир55   (23.10.2006 в 16:08)
 

>А письмо приходит в кодировке KOI8-R

Почему Вы так решили?

>читается как: Р?РёС?С?Р?Р?_Р°Р?Р?РёР?РёС?С'С?Р°С'Р?С?С?_С?Р°Р?С'Р°

Это больше напоминает искаженную UTF-8

   
 
 автор: Владимир55   (23.10.2006 в 16:23)   письмо автору
 
   для: Trianon   (23.10.2006 в 16:18)
 

Точно!

При отправке предлагается отправить в кодировке "Юникод" или "Как есть". Я выбираю второй вариант и получаю в KOI8-R.

А что надо сделать, чтобы была нормальная отправка в кодировке 1251?

   
 
 автор: Trianon   (23.10.2006 в 16:39)   письмо автору
 
   для: Владимир55   (23.10.2006 в 16:23)
 

>При отправке предлагается отправить в кодировке "Юникод" или "Как есть".
Кем/чем предлагается-то?

>Я выбираю второй вариант и получаю в KOI8-R.
Где?

>А что надо сделать, чтобы была нормальная отправка в кодировке 1251?
Кто осуществляет отправку?

   
 
 автор: Владимир55   (23.10.2006 в 17:03)   письмо автору
 
   для: Trianon   (23.10.2006 в 16:39)
 

На моем сайте есть ссылочка, созданию которой и посвящена эта тема. Если на неё кликнуть, то запускается почтовая программа, формирующая письмо. Я заполняю тело письма и кликаю "Отправить". Вот тут и появляется предложение отправить в кодировке "Юникод" или "Как есть".

   
 
 автор: Trianon   (23.10.2006 в 17:25)   письмо автору
 
   для: Владимир55   (23.10.2006 в 17:03)
 

Управлять поведением чужой почтовой программы с сайта Вы врядли сможете. Впрочем, своей,скорее всего - тоже.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования