2013-06-11 2 views
0

У меня есть форма поиска, которая, когда вы нажимаете на дополнительную информационную ссылку для записи, откроет новое окно для этой записи, чтобы отобразить дополнительную информацию, и я использую <a href=more_info.php?id=$rows[id]>, чтобы передать идентификатор на следующую страницу, и это отлично работает.Как передать идентификатор записи mysql с одной страницы на другую?

На этой следующей странице у меня есть кнопка, которая вытаскивает небольшое окно браузера, используя это <a href="#" onclick="window.open('signature_pad.html', 'newwindow', 'width=500, height=200'); return false;">, это окно появляется с помощью подписи.

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

так вот код для 2-й и всплывающих страниц: (Я только разместил код для раздела кнопки на 2-й странице, чтобы сэкономить место, поскольку код для этой страницы довольно длинный, и только часть кнопки относится к этому вопрос)

<table class="auto-style16" style="width: 615px; height: 28px;"> 
<td style="width: 435px; height: 22px;" class="auto-style7"> 
**<a href="#" onclick="window.open('signature_pad.php', 'newwindow', 'width=500, height=200'); return false;"><input type="button" value="Get Signature" /></a>** 

   

И всплывающее окно

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> 
<title>Signature Pad</title> 

<!-- The Signature Pad --> 
<script type ="text/javascript" src="jquery.min.js"></script> 
<script type="text/javascript" src="signature-pad.js"></script> 
</head> 
<body> 
<center> 
<fieldset style="width: 435px"> 
    <br/> 
    <br/> 
    <div id="signaturePad" style="border: 1px solid #ccc; height: 55px; width: 400px;"></div> 
    <br/><br/><br/> 
    <button id="clearSig" type="button">Clear Signature</button>&nbsp; 
    <button id="saveSig" type="button">Save Signature</button> 
    <div id="imgData"></div> 
    <br/> 
    </fieldset> 
</center> 
<div id="debug"></div> 
</body> 
</html> 
+1

Почему вы не добавить идентификатор в 'signature_pag.php' как вы делали для 'more_info.php'? – Prix

+0

@Prix Я пробовал, что это не сработало! – user2447848

+0

Что именно не сработало для вас? Он не открывает новое окно? Запрос не переходит в новое окно?Можете быть более конкретными ? – Prix

ответ

1

Это не работает страница у вас есть:

more_info.php

<p>I have some text here and am just a HTML page saved as .php</p> 
<table class="auto-style16" style="width: 615px; height: 28px;"> 
<td style="width: 435px; height: 22px;" class="auto-style7"> 
**<a href="#" onclick="window.open('signature_pad.php?id=$rows[id]', 'newwindow', 'width=500, height=200'); return false;"><input type="button" value="Get Signature" /></a>** 

Вот как это должно быть:

more_info.php

<?php 
$myId = $_GET['id']; 
?> 
<p>I have some text here and am a HTML with PHP page saved as .php</p> 
<table class="auto-style16" style="width: 615px; height: 28px;"> 
<td style="width: 435px; height: 22px;" class="auto-style7"> 
**<a href="#" onclick="window.open('signature_pad.php?id=<?php echo $myId; ?>', 'newwindow', 'width=500, height=200'); return false;"><input type="button" value="Get Signature" /></a>** 

На моем примере выше, я используя PHP для 2 вещей, сначала я получил строку запроса идентификатор и сохраните его в мою переменную $myId, тогда я печатаю переменную в HTML-адрес, который должен быть для window.open. Вы также можете распечатать $_GET напрямую, но я предпочитаю не в случае, если мне нужно дальше делать то, к переменной, как обеззараживание и т.д.

More information on $_GET

+1

Prix намного лучше, что объяснение более полезно. Я знал, что мне нужно добавить что-то после имени формы, но даже не подумал положить его между php-тегами. Спасибо! – user2447848

+0

Вот почему я задал вам соответствующий код, так как вы сказали, что не один, что это то, что я считаю, что вопрос был :) – Prix

+0

К сожалению мой плохой, я на самом деле уже $ ID = $ _ GET [ID]; в самой верхней части страницы я не думал использовать теги php после расширения страницы. Спасибо, он работает отлично. – user2447848

1

Чтобы переносить переменную через ваше приложение PHP, вы можете использовать GET/POST (скрытый параметр) или сеанс PHP или использовать свою базу данных

Поскольку вам нужно сохранять переменные в своем веб-приложении, вам необходимо включить сеансы (с помощью или без базы данных).

В верхней части каждой страницы добавьте это: session_start();, и это позволит серверу веб-приложений отслеживать каждого пользователя.

Затем назначить любой ВАР на сессию $_SESSION['user']='Bob';

Затем, когда вы знакомы с сессиями, вы можете просто отслеживать идентификатор пользователя и сохранить остальное в базе

Проверить this article и идти оттуда

+0

, так бы я сделал что-то подобное в верхней части моей страницы? $ ID = $ _ POST [ 'ID']; и добавить скрытое поле? – user2447848

+0

Если у вас много переменных, вы можете иметь таблицу в своей базе данных и иметь поля: 'userid',' variables_array'. Затем добавить все переменные '' variables_array' как var_name, var_value; var_name2, var_value; 'и т.д. А затем проанализировать эти переменные в соответствии с идентификатором пользователя (из сессии) из базы данных на каждой странице загрузки – Andrew

+0

Я довольно новыми для php Andrew, так что вы объясняете немного над моей головой. Я достаточно понимаю, чтобы исследовать то, что вы предложили. Спасибо за помощь! – user2447848

Смежные вопросы