Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: ссылки и индексация ПС
Форумы портала PHP.SU » PHP » Программирование на PHP » ссылки и индексация ПС

Страниц (2): [1] 2 »
 

1. Pirat - 05 Сентября, 2009 - 10:19:33 - перейти к сообщению
Доброе утро....
у меня вопрос такого характера.... внутренние ссылки я передаю через

CODE (text):
скопировать код в буфер обмена
  1.  
  2. <FORM action="URL" method="post" style="display:none" name="description">
  3.  
  4. <a href="#" onClick="document.forms[\'description\'].submit()">1234567890</a><input name="currency" type="hidden" value="'.$currency.'"><input name="group_name" type="hidden" value="'.$group_name.'">
  5.  
  6. </form>
  7.  


так вот вопрос в чем... индексируют ли ПС, в частности Яндекс такую схему.....
просто выпали все такие страницы из индекса....
2. Champion - 05 Сентября, 2009 - 10:44:55 - перейти к сообщению
Нет по онкликам они не ходят. И ничего JS-ного поисковые боты не выполняют
3. Pirat - 05 Сентября, 2009 - 11:13:08 - перейти к сообщению
какой тогда выход ???... как изменить чтоб ходили ???... и при этоя я передавал переменный методом пост ???
(Добавление)
примерно так... ссылки открыты но переменные не передаются

CODE (text):
скопировать код в буфер обмена
  1.  
  2.  
  3. <FORM action="product.php?group='.$id.'&id='.$Product[$z2]['oe'].'" method="post"  name="description'.$Product[$z2]['oe'].'">
  4.  
  5. <a href="product.php?group='.$id.'&id='.$Product[$z2]['oe'].'" onClick="document.forms[\'description'.$Product[$z2]['oe'].'\'].submit()" >'.$Product[$z2]['description'].'</a><input name="currency" type="hidden" value="'.$currency.'"><input name="group_name" type="hidden" value="'.$group_name.'">
  6.  
  7.  
  8. </FORM>
  9.  
  10.  
  11.  



что поменять ???
4. JustUserR - 05 Сентября, 2009 - 13:50:51 - перейти к сообщению
Pirat Ни один робот не пойдет по POST-форме потому что он не знает какие данные надо туда передавать

CODE (text):
скопировать код в буфер обмена
  1. <script>
  2. window.submit_frm=function()
  3. {document.forms["frm"].submit()
  4. return false }
  5. </script>
  6. <form action="/yourscript.php" method="POST" name="frm">
  7. <input type="hidden" name="v1" value="v2">
  8. </form>
  9. <a href="/shadowscript.php" onClick="return submit_frm()">
  10. Какаято надпись</a>


Суть кода в том что для пользователя будет произведен нудный POST-запрос а робот пойдет по PHP-скрипту-заместителю настотящего
5. Ch_chov - 05 Сентября, 2009 - 19:50:50 - перейти к сообщению
Как вариант, сделать так что бы эти страницы были доступны по альтернативным URL.
Затем сделать карту сайта. И Яндекс и Google предоставляют веб мастерам возможность загружать карту своего сайта в формате xml.
6. Pirat - 05 Сентября, 2009 - 23:09:34 - перейти к сообщению
JustUserR
Вы мне уже не раз помогали..... надеюсь на Вашу помощь и в этот раз....
такая ситуация, может я просто не все необходимое рассказал.... но ситуация в чем....
вообще мне необходимо сделать передачу методом пост тип валюты.... т.е. при любом переходе по сайту все время должна передаваться переменная валюты методом ПОСТ !!!...
при этом чтоб ссылки были открытыми для всех, включая ПС.......
может я просто в корне не так делаю.....
честно говоря я думал вначале открыть <FORM> .... а закрыть его в конце страницы.... но тут сразу появилась преграда..... что тогда указать в параметре action="" ???...
либо это делается вообще через JS ???....
Если не тяжело подскажите пожалуйста.......
7. JustUserR - 06 Сентября, 2009 - 12:14:54 - перейти к сообщению
Pirat Вообще к web-программированию очень подходит лозунг TIMTOWTDI - то естьь любыю задачу можно решить очень многими путями
Вообще передавать тип валюты на каждую страницу POSTом имеется смысл только тогда когда вместе с ней передаются еще данные вводимые пользователем (Это важно - то есть как бы ввод данных от пользователя разбит на несколько форм и тогда для каждой последующей формы такой параметр передается)
Но в таком случае как я понимад это есть какойто конкретный запрос (Именно конкретный - например ввод одной вылюты и пересчет ее в другую) и мнеине до конца понятно что вы хотите чтобы поисковики проиндексировали
Если же допустим у вас есть финансовые статьи для каждой валюты то к примеру можно и GETом передать или в cookie/сессию положить информацию о выбранной валюте
Конечно можно все сделать через AJAX но тогда тем более ничего хорошего не проиндексируется
В общем это конечно общие советы - я смогу помочь вам более конкретно если вы ответите на указанные мной выше вопросы по структуре сайта
8. Pirat - 06 Сентября, 2009 - 15:15:35 - перейти к сообщению
Структура сайта - типа интернет магазина,
т.е. в виде таблице выложен товар, описание, номер, цена....
цена должна выводится в двух валютах....т.е. пользователь сам выбирает что ему удобно...
далее из этой таблицы он может подробнее посмотреть о товаре, к примеру кликнув на описание.... так вот следующей странице.... как и собственно другим (постраничная навигация) все время должен передаваться выбранный пользователем курс валюты !!! вот в двух словах.....
подробнее можно посмотреть на bmw-parts.com.ua
(Добавление)
и если не тяжело как вариант сессии/куки.... (где то прочитал про такое).... может таким способом лучше всего передавать ???.... и где можно о них почитать ?
(Добавление)
Поправьте если я не прав

PHP:
скопировать код в буфер обмена
  1. setcookie('currency' , '$currency')
  2. setcookie('group_name' , '$group_name')
  3.  


и закинуть в самое начало страницы до вывода текста ???
9. JustUserR - 06 Сентября, 2009 - 15:59:44 - перейти к сообщению
Pirat Да теперь все стало понятно
Для начала выбирите ту валюту в которой цены будут отображаться по умолчанию (В том числе для поисковиков) и поставьте такое условие
if((!isset($_COOKIE['currency']))||($_COOKIE['currence']=="ruble")) {Выводим в рублях}
elseif($_COOKIE['currence']=="usd") {Выводим в долларах}
И на сайте делаем такую переключалку валют на PHP: SetCookie("currency",$_GET['currency'],time()+99999)
Могу вам написть AJAXоподобный код чтобы можно было менять валюту без ее выбора на дополнительной страницы Улыбка
Таким образом поисковик будет просматривать по умолчанию а пользователи смогут выбирать валюту

PS Да - вывод cookies как и любых других загголовков обязательно идет перед первым echo (Или вставленном HTML-тексте так что надо быть внимательным чтобы не получить ошибку Cannot modify header information)
10. Pirat - 06 Сентября, 2009 - 16:16:24 - перейти к сообщению
JustUserR пишет:
И на сайте делаем такую переключалку валют на PHP: SetCookie("currency",$_GET['currency'],time()+99999)


не совсем понял...... особенно value = $_GET['currency']
у нас же в URL нет подходящих переменных
11. Pirat - 06 Сентября, 2009 - 18:25:03 - перейти к сообщению
и еще есть такой вопросик.....

допустим я хочу засунуть скрипт выбора валют в footer.php.... потом инклюдить на все страницы..... так вот в чем вопрос что мне указать в action="" чтоб ыгиьше происходил на той-же странице с которой этот футер подгрузился....

т.е.
CODE (text):
скопировать код в буфер обмена
  1. <form action="[b]???????????[/b]" method="post">
  2. <select name="currency" onchange="this.form.submit()" >
  3.  
  4.  
  5. <? $curr = array('grn'=>'Гривна', 'usd'=>'Доллар США');
  6.  
  7. foreach ($curr as $index=>$value) {
  8.     if (trim($currency) == $index) {
  9.         $selected = 'selected="selected"';
  10.     } else { $selected = ''; }
  11.     echo '<option '.$selected.' value="'.$index.'">'.$value.'</option>';
  12. } ?>
  13.    </select>
  14.          
  15. </form>


или как то все время проверять каждый раз с какой страницы я загрузился .... типа action="$_GET['URL']"
12. JustUserR - 06 Сентября, 2009 - 19:35:27 - перейти к сообщению
Pirat Вы немного усложняете на самом деле стандартную ситуацию
1 Создаете отдельый PHP-скрипт который принимает в качестве входных название валюты и устанавливает его в сессию или cookie
2 Все остальные PHP-скрипты извлекают из сессии или cookie необходимые данные по валюте и в зависимости от них выводят то что надо (Или выводят значение о умолчанию - так будет для поисковиков)
3 В конце каждого PHP-скрипты выводим форму со списком валют и делаем в ней action на первый PHP-скрипт который и устанавливает валюту
13. Pirat - 07 Сентября, 2009 - 08:32:00 - перейти к сообщению
Спасибо.... сделал все... переделал...

только вот по последнему пункту последнего сообщения не понял немного.....

1) я создал fail.php ..... в нем прописал примерно такой код:

CODE (text):
скопировать код в буфер обмена
  1.  
  2. <? if (isset($_POST['currency']) == '')
  3. {
  4.         if (isset($_COOKIE['currency']) == '') {$currency = 'grn';}
  5.         else {$currency = $_COOKIE['currency'];}
  6. }
  7. else {$currency = $_POST['currency'];}
  8.  
  9. setcookie ('currency' , $currency);
  10. ?>
  11.  
  12.  


сразу проверяю и ПОСТ и Куки....

Пост проверяю потому, что скрипт выбора валюты сделан методом пост:

CODE (text):
скопировать код в буфер обмена
  1. <form action="" method="post" name="form">     
  2.               <select name="currency" onchange="this.form.submit()">
  3.  
  4.             <?  $curr = array('grn'=>'ГРН', 'usd'=>'USD', 'euro'=>'EURO');
  5.  
  6.                foreach ($curr as $index=>$value) {
  7.                if ($currency == $index) {
  8.               $selected = 'selected="selected"';
  9.     } else { $selected = ''; }
  10.     echo '<option '.$selected.' value="'.$index.'">'.$value.'</option>';
  11. }
  12. ?>
  13.              </select>   
  14.           </td>
  15. </form>


2) include на все страницы.....

3) Так вот я не знаю что прописать в action .... поскольку данный код я вставил в футер, (чтоб на каждой странице был выбор валюты).... т.е. скрипт все время на разной странице..(index, about, faq.....и.т.д.) .... где то я видел чтото вставляют в action="this.form.submit()".... или что то в этом роде.....

P.S. Все в принципе работает и с пустым action .... но опять же где то читал что лучше так не делать....
14. JustUserR - 07 Сентября, 2009 - 11:24:30 - перейти к сообщению
Да пустой action лучше никогда не делать это это чревато ошибками
Функция this.form.sumbit() нужна когда вы хотите например сделать выбор валюты не по нажатию на кнопку а по какому нибудь еще событию (Например нажатию на ссылку)
В action надо пропсывать fail.php - точнее виртуальный путь в нему
15. Pirat - 07 Сентября, 2009 - 12:41:19 - перейти к сообщению
тогда совсем не понимаю....
если в action прописать action="./fail.php" то будет просто пустая страница.... без какой либо информации....
надо как то все таки в action передать страницу на которой пользователь находится....

 

Powered by ExBB FM 1.0 RC1