我已阅读this post(how do i send a variable in the url in javascript),但无法让它发挥作用。我必须补充一点,我根本不懂javascript。我正在尝试在php中打开一个新的“打印机友好”页面,但为了这个我需要发送带有url的用户ID,我的代码看起来像这样:
第1页
<?php
session_start();
$userid = $_SESSION['userid'];
?>
<head>
<script type="text/javascript">
function open_win()
{
window.open("http://www.mysite.com/exams/print.php?uid_print=$userid",'','width=200,height=100')
}
</script>
</head>
<?php
if ($_SESSION['auth']) {
include 'datalogin.php';
echo "<input type='button' value='Print this page' onclick='open_win()' />";
第二页(print.php)
<?php
session_start();
include 'datalogin.php';
$uid_print1 = $_GET['uid_print'];
echo $uid_print1;
但我的输出是:$ userid
答案 0 :(得分:4)
window.open("http://www.mysite.com/exams/print.php?uid_print=<?php echo $userid; ?>",'','width=200,height=100')
答案 1 :(得分:2)
修改您的window.open
行,如下所示:
window.open("http://www.mysite.com/exams/print.php?uid_print=<?php echo $userid; ?>",'','width=200,height=100');
您必须'输入'PHP块,并将$userid
变量打印到HTML(JavaScript)输出。
答案 2 :(得分:2)
JS脚本中的这一行:
window.open("http://www.mysite.com/exams/print.php?uid_print=$userid",'','width=200,height=100')
直接输出'$ userid'。您需要用以下内容替换$ userid:
<?php echo $userid; ?>
答案 3 :(得分:2)
使用<?php....?>
标记:
...print.php?uid_print=<?php echo $userid;?>
答案 4 :(得分:2)
更换:
window.open("http://www.mysite.com/exams/print.php?uid_print=$userid",'','width=200,height=100')
使用:
window.open("http://www.mysite.com/exams/print.php?uid_print=<?php echo $userid; ?>",'','width=200,height=100')
应该可以做到这一点。
你也可以使用shorthand <?= $userid ?>
,这对我来说更具可读性。
答案 5 :(得分:2)
请在您的javascript中连接$ userid。
它可以像uid_print ='。$ userid一样连接。并且您将获得$ _GET [“uid_print”]
中的值你也可以在字符串中回显$ userid,如
答案 6 :(得分:2)
目前,javascript标记中的变量未被替换,因为它没有被PHP标记括起来。你可以这样轻松地做到这一点:
window.open("http://www.mysite.com/exams/print.php?uid_print=<?php echo $userid; ?>",'', 'width=200,height=100')