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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: ссылки и индексация ПС [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
JustUserR
Отправлено: 07 Сентября, 2009 - 18:03:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Pirat Ох как мы все с вами усложнили но всетаки
1 В форме которая действует на fail.php мы устанавливаем скрытое поле которое будет идентифицировать страницу с которой мы пршли
2 Когда fail.php ыполнился то в нем делаем header() на нашу страницу обратно
3 В результате получаем нашу станицу обратно и с измененной валютой


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Pirat
Отправлено: 08 Сентября, 2009 - 16:20:01
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2007  
Откуда: Украина, Одесса


Помог: 0 раз(а)




JustUserR пишет:
.....скрытое поле которое будет идентифицировать страницу с которой мы пршли......


Вот об этом я и спрашивал..... как идентифицировать страницу на которой мы сейчас ???.... и почему бы ее просто в action не подставить ???7.... ну или присвоить какой-то переменной ($real_page=.....) .... а в action просто указать ее: action="'.$real_page.'"


-----
Вообще я продаю автозапчасти... оптом
А PHP - это хобби...
 
 Top
JustUserR
Отправлено: 08 Сентября, 2009 - 18:10:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Pirat пишет:
Вот об этом я и спрашивал..... как идентифицировать страницу на которой мы сейчас ???.... и почему бы ее просто в action не подставить ???7.... ну или присвоить какой-то переменной ($real_page=.....) .... а в action просто указать ее: action="'.$real_page.'"
В принципе так конечно можно делать только надо учесть что каждая страница формируется не просто так и в ней может быть большое число параметорв и соотвественнно надо формировать такой же набор скрытых полей
А так делайте конечно - $curl=$_SERVER['PHP_SELF'] и в action этот $curl впеатываете


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Pirat
Отправлено: 09 Сентября, 2009 - 09:00:40
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2007  
Откуда: Украина, Одесса


Помог: 0 раз(а)




да... получается не корректно ....

если у меня например урл идет http://site[dot]ua/index.php?id=12345&q=sdr .... и.т.п.

то echo $_SERVER['PHP_SELF']; выводит просто /index.php....

а нет ли такой функции которая бы выводила полностью урл.... можно с доменом...


нашел: $_SERVER['REQUEST_URI'] - выводит то что мне в принципе надо....
либо можно вообще сделать так: $curr='http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];

а что лучше по вашему мнению ???,... передавать только request .... или все ??

так корректно будет ??? action="<?$_SERVER['REQUEST_URI'];?>" Закатив глазки

(Отредактировано автором: 09 Сентября, 2009 - 16:04:53)



-----
Вообще я продаю автозапчасти... оптом
А PHP - это хобби...
 
 Top
Pirat
Отправлено: 09 Сентября, 2009 - 13:45:09
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2007  
Откуда: Украина, Одесса


Помог: 0 раз(а)




и еще вопросик....

тот скрипт который я написал - просто без проблемно записывает куки и работает в мозиле и опере, а вот в IE8 не работает.... или не запоминает.... или не правильно выводит....
в чем может быть трабл ???

даже я б конкретизировал:
IE через Denwer - работает....
гружу на сайт - не работает....

(Отредактировано автором: 09 Сентября, 2009 - 17:12:53)



-----
Вообще я продаю автозапчасти... оптом
А PHP - это хобби...
 
 Top
Pirat
Отправлено: 09 Сентября, 2009 - 17:43:43
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2007  
Откуда: Украина, Одесса


Помог: 0 раз(а)




примерно анализируя работу в IE8 пришел к такому заключению что он с трудом перезаписывает значение куки, т.е. упирается например в рубль..., я выбираю доллар, только перехожу на другую страницу - опять рубль....и так 10-20 раз... потом он переходит с долларом.... затем наоборот... выбираю рубль - выбирает, перехожу на страницу другую - опять доллар.... и так 10-20 раз....

тут я уже не знаю даже как бороться... и что делать.... Не понял

(Отредактировано автором: 09 Сентября, 2009 - 18:18:50)



-----
Вообще я продаю автозапчасти... оптом
А PHP - это хобби...
 
 Top
JustUserR
Отправлено: 09 Сентября, 2009 - 22:40:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Pirat Вообще проблема с кривым перезаписыванием cookies имеется особенно когда страница не перезагружается или перезагружается сама на себя
Универсальное решение - использовать JS для работы с cookies http://forum.php.su/topic.php?fo...pic=2457&p=2


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Pirat
Отправлено: 10 Сентября, 2009 - 13:01:19
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2007  
Откуда: Украина, Одесса


Помог: 0 раз(а)




ох... совсем я не силен в JS .... но попробовал разобраться прочитав несколько тем на форуме.... и написал код таким образом:

PHP:
скопировать код в буфер обмена
  1. <?
  2. echo '<script>
  3.  
  4. function setCookie(currency,'. $currency.')
  5.  
  6. {
  7.  
  8. document.cookie=currency+"="+escape('.$currency.')+"; path=/";
  9.  
  10. }
  11.  
  12.  
  13.  
  14. </script>
  15. ';
  16. ?>


и тут же вопросы .....

1. совсем не понимаю смысл этой строки: document.cookie=name+"="+escape(value)+"; path=/";

2. path=/"; - оставить как есть ???... т.е. он генерирует эту же страницу ???... или все таки прописать урл страницы с которой вызывается ?? path='.$_SERVER['REQUEST_URI'].'";

3. какой-то сложный вывод переменной описан на форуме..... а нельзя ли потом переменную вызывать $currency = $_COOKIE['currency']; .... или опять не будет корректно работать ???
(Добавление)
Ничего не понимаю....
не работает описанный код и все ....

PHP:
скопировать код в буфер обмена
  1. <?
  2.  
  3. if (isset ($_POST['currency']) == '')
  4. {
  5.         if (isset ($_COOKIE['currency']) == '') {$currency = 'grn';}
  6.         else {$currency = '
  7.      <script>
  8.  
  9.      function getCookie(currency) {
  10.  
  11.      var search = currency + "="
  12.  
  13.      if (document.cookie.length > 0){
  14.  
  15.      offset = document.cookie.indexOf(search)
  16.  
  17.      if (offset != -1) {
  18.  
  19.      offset += search.length
  20.  
  21.      end = document.cookie.indexOf(";", offset)
  22.  
  23.      if (end == -1) end = document.cookie.length
  24.  
  25.      return unescape(document.cookie.substring(offset, end))
  26.  
  27.      }
  28.  
  29.      }
  30.  
  31.      }
  32.  
  33.      </script>';}
  34. }
  35. else {$currency = $_POST['currency'];}
  36.  
  37.  
  38.  
  39. echo '<script>
  40.  
  41. function setCookie(currency,'. $currency.')
  42.  
  43. {
  44.  
  45. document.cookie=currency+"="+escape('.$currency.')+"; path=/";
  46.  
  47. }
  48.  
  49.  
  50.  
  51. </script>
  52. ';
  53. ?>

(Отредактировано автором: 10 Сентября, 2009 - 13:03:21)



-----
Вообще я продаю автозапчасти... оптом
А PHP - это хобби...
 
 Top
JustUserR
Отправлено: 10 Сентября, 2009 - 15:38:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Pirat Не забывайте что код JS исполняется на КЛИЕНТЕ поэтому вы должны после того как изменили cookie или перезапустит страницу (Чтобы PHP почуствовал новую cookies) либо использовать AJAX (Что красивее но сложнее)


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Pirat
Отправлено: 10 Сентября, 2009 - 15:50:37
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2007  
Откуда: Украина, Одесса


Помог: 0 раз(а)




этот код что я привел выше к сожалению вообще не работает......

выдает ошибки, что переменная не определена.....

страница по идее перезагружается.... потому что выбор валюты передается через form action="" ....

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


-----
Вообще я продаю автозапчасти... оптом
А PHP - это хобби...
 
 Top
JustUserR
Отправлено: 10 Сентября, 2009 - 21:34:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Pirat пишет:
$selected = "selected="selected"";
Ну кто ж так кавычки ставит - не забывайте экранировать их слешем \


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Champion Супермодератор
Отправлено: 11 Сентября, 2009 - 08:51:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




JustUserR, это удивительно свойство тэга [code]: все коавычки превращаются в двойные. У автора там внешние кавычки одинарные. RomAndry исправлял, да не везде
 
 Top
Pirat
Отправлено: 11 Сентября, 2009 - 10:17:58
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2007  
Откуда: Украина, Одесса


Помог: 0 раз(а)




Абсолютно верно.....


$selected = (одинарная)selected=(двойные)selected(двойные)(одинарная)

скрипт работает без проблем....

вопрос в JS.... там точно что то не так....


-----
Вообще я продаю автозапчасти... оптом
А PHP - это хобби...
 
 Top
JustUserR
Отправлено: 11 Сентября, 2009 - 10:30:50
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Champion Извиняюсь-извинясь не знал я про кавычки Улыбка
Pirat А то что код не работет мне кажется вы выполняетет действия не в совсем правильно последовательности - надо примерно так
1 Пользователь выбирает вылюту и по onSelect вызывется функция которая устанавлвает нужную cookie
2 Когда cookies успешно уксановлена то генерериутеся перезагрузка страницы например window.location.reload()
3 Перезагруженная страница содержит вывод в новой валюте и соответственно показывает выбранную в данный момент валюту

(Отредактировано автором: 11 Сентября, 2009 - 10:31:20)



-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Pirat
Отправлено: 17 Сентября, 2009 - 13:09:01
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2007  
Откуда: Украина, Одесса


Помог: 0 раз(а)




в принципе так и есть....
1. пользователь выбирает валюту и через onchange="this.form.submit()" записывает ее в пост.... и затем соответственно в куки : function setCookie(currency,'. $currency.')
2. этого нет.... в каком месте его реализовать ??? ... на после выбора валюты страница и так перезагружается....
3. и вот тут ничего не происходит....


видимо не правильно написан код именно вывода переменной из куки.... мне так кажется...


-----
Вообще я продаю автозапчасти... оптом
А PHP - это хобби...
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB