#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. Итак, затем передайте значение в эту функцию и заставьте функцию добавить его в запрос.