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 :: Не передается значение переменной в input hidden

 PHP.SU

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


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

> Без описания
se000
Отправлено: 24 Ноября, 2015 - 10:05:09
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Нояб. 2015  


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




Добрый день, собственно проблема.
Есть форма, открывается как iframe, с нее всё прекрасно передается и работает за исключение
URL, вот код с комментариями. Прошу помощи. Перегуглил уже всё что можно, должно работать.
CODE (text):
скопировать код в буфер обмена
  1. <script>
  2.         var url = (window.location != window.parent.location) ? document.referrer : document.location;
  3.         </script>
  4.         <?php $purl = '<script>document.write(url)</script>';  echo 'это $purl' . $purl;//тест вывода переменной тут работает  ?>
  5.         <?php echo 'это $purl2' . $purl;//тест вывода переменной так тоже работает ?>
  6.         <input type="hidden" name="current_url" value="<?php echo $purl; //тут не работает, точнее сюда попадает "<script>document.write(url)</script>" ?>" />

Если переменную задать через
CODE (text):
скопировать код в буфер обмена
  1. <?php $purl = $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]; ?>
- то она передает значение в input, но мне нужен parent.url

Уже прямо замучался, помогайте плиз.
 
 Top
DeepVarvar Супермодератор
Отправлено: 24 Ноября, 2015 - 10:19:35
Post Id



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


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


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




http://phpfaq[dot]ru/newbie/na_tanke

Там есть ответ. Даю 146%.
 
 Top
se000
Отправлено: 24 Ноября, 2015 - 10:28:44
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Нояб. 2015  


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




[quote=DeepVarvar][/quote]
Два раза прочитал, только так и не понял, что я не правильно сделал.
У меня вроде всё так как там написано.
Помогите если видите проблему.
 
 Top
andrewkard
Отправлено: 24 Ноября, 2015 - 11:25:31
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


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




se000
Вы пытаетесь передать переменную из JS в PHP, только зачем? Определили url при загрузке страницы и подставили в value требуемого input.
 
 Top
se000
Отправлено: 24 Ноября, 2015 - 11:33:03
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Нояб. 2015  


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




Я не знаю как получить в php значение URL родителя. В js нашел вариант.
Форма вызывается через iframe, значение текущего URL не требуется.
Как получить URL родителя в php?

Да и целом должно ведь работать из JS в PHP?
 
 Top
andrewkard
Отправлено: 24 Ноября, 2015 - 11:39:14
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


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




se000 пишет:
В js нашел вариант.

Я теперь получите необходимый input c помощью: getElementById и вставьте в value то что нужно, предварительно добавив в него id
 
 Top
se000
Отправлено: 24 Ноября, 2015 - 13:15:33
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Нояб. 2015  


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




CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php echo "<script> var url_input = document.getElementById(\"current_url\").value;
  2.                    url_input = (window.location != window.parent.location) ? document.referrer : document.location;</script>"?>

Вроде должно вот так получиться - но опять мимо.
 
 Top
andrewkard
Отправлено: 24 Ноября, 2015 - 13:26:17
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


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




и где у Вас:
andrewkard пишет:
вставьте в value то что нужно
?
http://jsfiddle[dot]net/yvzgq1s3/1/
 
 Top
se000
Отправлено: 24 Ноября, 2015 - 13:34:01
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Нояб. 2015  


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




andrewkard пишет:
и где у Вас:
andrewkard пишет:
вставьте в value то что нужно
?
http://jsfiddle.net/yvzgq1s3/1/

Выдал undefined
 
 Top
andrewkard
Отправлено: 24 Ноября, 2015 - 13:44:40
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


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




se000 пишет:
Выдал undefined

У Вас? Покажите код.
 
 Top
se000
Отправлено: 24 Ноября, 2015 - 17:51:17
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Нояб. 2015  


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




andrewkard пишет:
с? Покажите код.

Код один в один который Вы предоставили.
Проясню один момента.
В форму вызванную через fancybox с iframe вводятся данные, классика (имя, телефон, email, сообщение). Форма вызывается по ссылке, отсюда и необходимость получить URL родителя. Нужно знать с какой страницы вызвана форма, иначе смысл теряется.
все данные формы получаются через $current_url = $_POST['current_url']; и отправляются на email. Собственно слово undefined было в строке где должен быть URL родителя.
К сожалению больше вряд-ли, смогу рассказать, я совсем недавно начал разбираться вэб разработкой.
Буду рад любой помощи, т.к. действительно ступор в этом месте. Других вариантов реализовать такое не вижу из за отсутствия опыта.
 
 Top
andrewkard
Отправлено: 24 Ноября, 2015 - 18:38:21
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


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




Ясно. Пробуйте так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <input type="hidden" name="current_url" value="<?= isset($_SERVER['HTTPS'])?"https://":"http://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]?>" />
  3.  

или если хотите JS, то тут есть пример как достучаться к iframe:
https://learn.javascript.ru/iframes

(Отредактировано автором: 24 Ноября, 2015 - 18:43:46)

 
 Top
se000
Отправлено: 24 Ноября, 2015 - 20:59:37
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Нояб. 2015  


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




Всем спасибо.
Вот результат
CODE (htmlphp):
скопировать код в буфер обмена
  1. <script type="text/javascript" language="javascript">
  2.                 $(document).ready(function () {
  3.                 var url = window.top.location.href;
  4.                 $('input[name="current_url"]').val(url);
  5.                 });
  6. </script>


Собственно и другие наверняка бы сработали, проблема была в том ,что
в этом файле не был подключен референс в голове
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
Можно закрывать.

(Отредактировано автором: 24 Ноября, 2015 - 20:59:58)

 
 Top
IllusionMH
Отправлено: 25 Ноября, 2015 - 13:21:20
Post Id



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


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


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




se000, и нафига тянуть целую либу ради 1 строки? есть древний document.getElementsByName если вдруг document.querySelector не подходит
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB