Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
khaled89
0 / 0 / 0
Регистрация: 22.06.2018
Сообщений: 19
1

Передать значение между php и javascript

09.07.2018, 14:44. Просмотров 236. Ответов 11

здравствуйте
как я могу передать значение из php в javascript b и после обработки получается массив и хочу передать его в php еще раз.
вот что у меня
PHPHTML
1
2
3
4
5
6
7
8
9
10
11
<div id='list' display:none;></div>
 
  <?php $page= file_get_contents('https://w3schools.com');  
  
  <script type='text/javascript'>
 
 
 </script>
 
        
  ?>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2018, 14:44
Ответы с готовыми решениями:

Как значение переменной из javascript передать в php?
Как значение переменной из javascript передать в php?

Как передать массив из php в javascript
Как передать массив из php в javascript и при этом потом отправить его с...

Обмен между php и javascript
$.ajax({ url: './', type: 'POST', data: {reg_login:...

Передать значение переменной из JS в PHP
До фига облазил в инете, кое-что вроде полезное попадалось, но так и не смог...

Как передать значение переменной JS в переменную PHP?
Как передать значение переменной JS в переменную PHP? Можно и в сессионную...

11
Артем Д.
45 / 45 / 10
Регистрация: 08.12.2010
Сообщений: 104
09.07.2018, 16:39 2
В Javascript можно передать значение так:
PHPHTML
1
2
3
4
5
6
7
<?php 
  $php_param = 'Бла бла бла бла';
?>
<script type='text/javascript'>
  var js_param = '<?php echo $php_param; ?>';
  ....
</script>
А вот из PHP в Javascript уже не получится так просто. Нужно через Ajax запрос.
0
Jewbacabra
Эксперт PHP
3433 / 2857 / 1285
Регистрация: 24.04.2014
Сообщений: 8,669
09.07.2018, 16:48 3
Цитата Сообщение от Артем Д. Посмотреть сообщение
В Javascript можно передать значение так:
А лучше так
PHPHTML
1
2
3
4
5
6
7
<?php 
  $php_param = 'Бла бла "\' бла бла';
?>
<script type='text/javascript'>
  var js_param = <?= json_encode($php_param) ?>;
  ....
</script>
0
khaled89
0 / 0 / 0
Регистрация: 22.06.2018
Сообщений: 19
09.07.2018, 18:48  [ТС] 4
не получается у меня .вот подробнее : сначала мы получаем коде страници из $page=file_get_contents('https://w3schools.com'); а потом передаем его в javascript а потом ищем все элементы по определенному классу и результат возвращаем в php коде как массив.
0
Jewbacabra
Эксперт PHP
3433 / 2857 / 1285
Регистрация: 24.04.2014
Сообщений: 8,669
09.07.2018, 18:59 5
khaled89, php скрипт выполняется на сервере и генерирует javascript код. Просто генерирует, ничего более с ним не делает. Клиент получает этот js код и выполняет его на машине клиента. При этом php код уже закончил выполняться.
0
khaled89
0 / 0 / 0
Регистрация: 22.06.2018
Сообщений: 19
09.07.2018, 19:17  [ТС] 6
проблема тут что содержание elem отображается на страници а я хочу чтоб он просто сохранил в себя значение но ничего не показать на странице((
PHP
1
  <?php $page= file_get_contents('https://w3schools.com');  ?>
Javascript
1
2
3
4
 var elem=document.createElement("div");
elem.setAttribute("display","none");
    elem.innerHTML=<?php echo $page?>;
 </script>
0
atanov
191 / 190 / 72
Регистрация: 26.05.2016
Сообщений: 1,221
10.07.2018, 06:26 7
khaled89, тогда Вам из клиента нужно ajax’ом обратиться на сервер к php скрипту, который запихнет в переменную files_get_content и вернёт на клиент.
0
khaled89
0 / 0 / 0
Регистрация: 22.06.2018
Сообщений: 19
11.07.2018, 02:25  [ТС] 8
Вот мой код
PHPHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<script
src="https://code.jquery.com/jquery-3.3.1.js"
integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
crossorigin="anonymous"></script>
<script>
var songlist = ['song1', 'song2', 'song3'];
 
var sendData = function() {
  $.post('data.php', {
    data: songlist
  }, function(response) {
    console.log(response);
  });
}
sendData();
</script>
<?php
if(isset($_POST)){
    if(isset($_POST['data'])){
    $songData = $_POST['data'];
print_r($songData);
}}
?>
Вот так. почте есть результат в консуле но массив с странным кодом
PHPHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script
src="https://code.jquery.com/jquery-3.3.1.js"
integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
crossorigin="anonymous"></script>
<script>
var songlist = ['song1', 'song2', 'song3'];
 
var sendData = function() {
  $.post('data.php', {
    data: songlist
  }, function(response) {
    console.log(response);
  });
}
sendData();
</script>
Array
(
    [0] => song1
    [1] => song2
    [2] => song3
)
0
atanov
191 / 190 / 72
Регистрация: 26.05.2016
Сообщений: 1,221
11.07.2018, 09:33 9
khaled89,
посмотрите мой пост №8 вот здесь Не работает ajax
Попробуйте поэксперементировать, чтобы понять, как работает ajax.
0
khaled89
0 / 0 / 0
Регистрация: 22.06.2018
Сообщений: 19
11.07.2018, 16:38  [ТС] 10
все равно не получается. я нашел такое решение ну есть странный результат
PHPHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script
src="https://code.jquery.com/jquery-3.3.1.js"
integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
crossorigin="anonymous"></script>
<script>
var songlist = 'song1,song2,song3';
 
store=JSON.stringify(songlist);
</script>
<?php
$Mylist="<script type='text/javascript'>document.write(store)</script>";
//cho $Mylist;  
$arr=explode(',',$Mylist);
echo ($arr[0]);// тут не правильно выдает результат 
?>
0
atanov
191 / 190 / 72
Регистрация: 26.05.2016
Сообщений: 1,221
11.07.2018, 16:46 11
Цитата Сообщение от khaled89 Посмотреть сообщение
все равно не получается
а подробности?
Ваша ошибка в непонимании как работают скрипты. php работает на сервере - сработал, отдал результат на клиент и "помер".
На клиенте работает js. Если в один файл запихнуть js+php, то браузер сначала исполнит серверную часть на php, а при загрузке страницы начнёт исполнять js. Вам об этом коллега Jewbacabra уже писал в посте №5.
0
khaled89
0 / 0 / 0
Регистрация: 22.06.2018
Сообщений: 19
12.07.2018, 04:08  [ТС] 12
Цитата Сообщение от atanov Посмотреть сообщение
Ваша ошибка в непонимании как работают скрипты.
да вы правы. можете тогда исправить мой код если вам не сложно
PHPHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<script
src="https://code.jquery.com/jquery-3.3.1.js"
integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
crossorigin="anonymous"></script>
<script>
var songlist = ['song1', 'song2', 'song3'];
 
var sendData = function() {
  $.post('data.php', {
    data: songlist
  }, function(response) {
    console.log(response);
  });
}
sendData();
</script>
<?php
if(isset($_POST)){
    if(isset($_POST['data'])){
    $songData = $_POST['data'];
print_r($songData);
}}
?>
хочу чтоб print_r($songData); результат был так

Array
(
[0] => song1
[1] => song2
[2] => song3
)

Добавлено через 4 часа 8 минут
Я решил задачу, спасибо всем,
PHPHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 <div id="status"></div>
 
<script
src="https://code.jquery.com/jquery-3.3.1.js"
integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
crossorigin="anonymous"></script>
<script>
var songlist = ['song1', 'song2', 'song3'];
$.ajax({
      url: 'data.php',
      method: 'POST',data: {song:JSON.stringify(songlist)}, success:function(return_data) 
     {document.getElementById("status").innerHTML = return_data;}}) ;
</script>
<?php 
if(isset($_POST['song'])){
$x=json_decode($_POST['song']);
echo 'Thank you '.$x[2].', says the PHP file';}
?>
0
12.07.2018, 04:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2018, 04:08

Можно ли передать значение переменной из одного php файла в другой, но при этом не используя ссылку?
Привет. Можно ли передать значение переменной из одного php файла в другой, но...

Присвоить значение php переменной из переменной JavaScript
Есть такой код: &lt;!doctype html&gt; &lt;html&gt; &lt;head&gt; &lt;style type=&quot;text/css&quot;&gt; ...

Как передать переменную JAVASCRIPT
Я вывожу вывожу страницу при помощи скрипта.При помощи JAVASCRIPT делаю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru