提问人:user3287680 提问时间:11/8/2023 更新时间:11/10/2023 访问量:102
插入到JS脚本中的PHP变量
PHP variable inserted into JS script
问:
我有一个从帖子中获得的 php 变量:
<?php
$pdf_name = $_POST['pdf_name'];
echo $pdf_name;
?>
当我将其插入翻书脚本时,出现错误:
<script type="text/javascript">
$(document).ready(function () {
$("#read").flipBook({
//Layout Setting
pdfUrl:'uploads/pdf-gallery/<?php $pdf_name ?>',
lightBox:true,
...............
...............
............... etc.
});
})
</script>
这是错误:
pdfUrl:'uploads/pdf-gallery/<br />
<b>Warning</b>: Undefined variable $pdf_name in <b>C:\xampp\htdocs\mysite\pdf-gallery.php</b> on line <b>81</b><br />
<br />
而如果我插入这个变量,它工作得很好,我得到:
<?php
$pdf_name = 'tex-willer.pdf';
echo $pdf_name;
?>
<script type="text/javascript">
$(document).ready(function () {
$("#read").flipBook({
//Layout Setting
pdfUrl:'uploads/pdf-gallery/tex-willer.pdf',
lightBox:true,
........... etc
</script>
如何消除第一种情况的错误???
答:
-2赞
user3287680
11/9/2023
#1
我插入了一个警报,它在第一种情况下也有效
<script type="text/javascript">
alert('<?=$pdf_name; ?>');
</script>
评论
1赞
ADyson
11/9/2023
不确定这如何帮助您解决原始问题?
0赞
Mat
11/9/2023
这向我表明,较短的可以解决范围问题。你为什么不用你的原始 JavaScript 代码来尝试呢?<?= ... ?>
0赞
ADyson
11/9/2023
@Mat打开和关闭 PHP 块的方式对范围没有影响
0赞
Mat
11/9/2023
你是对的,在这两种情况下都在范围内。$pdf_name
0赞
user3287680
11/10/2023
我需要从POST生成$pdf_name,如第一个示例所示,而不是从文本生成。 $pdf名称 = $_POST['pdf_name'];echo $pdf_name;code
code
-1赞
user3287680
11/10/2023
#2
我用SESSION解决了它:
<?php
if(isset($_POST['pdf_name'])) {
$pdf_name = $_POST['pdf_name'];
$_SESSION['pdf_name'] = $pdf_name;
echo $_SESSION['pdf_name'] ;
}
?>
评论
0赞
ADyson
11/10/2023
除非在不同的文件中,否则这无济于事。如果您仍在使用同一脚本,则不需要会话。你最初的目标是将其输出到 SQL 脚本中,而不仅仅是随机回显它。要么你没有解释清楚,要么你的问题不是问题中描述的问题。echo $_SESSION['pdf_name'] ;
评论
<?php $pdf_name ?>
什么都不做,你需要输出/回显它<?php echo urlencode($pdf_name); ?>