Размещение переменной php в новом окне

#php

#php

Вопрос:

У меня есть страница, которая динамически создается базой данных. Для каждой вещи, которая создается динамически, я хочу иметь ссылку, которая открывает новое окно, и это новое окно будет заполнять список из базы данных, основанный на том, какой элемент на первой странице был нажат. Я пробовал методы POST и отправлял переменную в URL (что, я знаю, опасно). Другая вещь, которая делает это уникальным, заключается в том, что ссылка, по которой нажимается, на самом деле не является ссылкой на страницу, но я использую некоторый Javascript для вызова функции, которая открывает новое окно и новую страницу php, потому что было бы глупо открывать целую новую страницу только для списка. Как мне это сделать? Если вам нужно больше разъяснений, я сделаю все возможное, чтобы сделать это понятнее.

Я создаю таблицу, и в ней будут такие ссылки:

 <td><a href="#" style="font-weight:normal; font-style:italic" onclick="function()">Do Stuff</a></td>
  

function function(){
window.open("page.php", "blank"," toolbar=no, width=400, height=350, top=50, left=50, scrollbars=yes");
}

Функция () откроет новое окно с новой php-страницей. Вопрос в том, как перенести переменную php в новое окно.

Комментарии:

1. Пожалуйста, уточните вашу проблему с помощью некоторого примера кодирования

Ответ №1:

простая версия

 echo "<a href="#" onclick="window.open('youPopUpPage.php?value=$value');">link</a>";
  

в youPopUpPage.php

 $value=$_GET["value"]; # retrive value from calling page
  

открыть с помощью функции js

 <td><a href="#" style="font-weight:normal; font-style:italic" onclick="openPage(<?php echo $value ;?>)">Do Stuff</a></td>


<script type="text/javascript">
function openPage(value){
window.open('youPopUpPage.php?value=' value);}
</script>
  

Комментарии:

1. Спасибо, это работает отлично! Я новичок в Javascript, и мне действительно было интересно, возможен ли этот метод. Миллион благодарностей, вы джентльмен и ученый.

Ответ №2:

Убедитесь, что вы просто передаете идентификаторы, которые никому ничего не значат, затем сделайте что-то подобное со своими ссылками:

 echo "<a href='/myaddress?id=".$id."'>my link</a>";
  

Затем в новом окне вы сможете перейти к значению с помощью get:

 $id = mysql_real_escape_string($_GET['id']);
  

С этим идентификатором вы должны иметь возможность просматривать свою базу данных, чтобы найти фактический контент, который вы хотите.

Комментарии:

1. Это не сработает, поскольку моя ссылка напрямую не ведет на адрес, она сначала вызывает функцию js.

2. Итак, затем передайте значение в эту функцию и заставьте функцию добавить его в запрос.