如何在php页面中动态添加包含php代码的javascript
解决了如何在php页面中动态添加包含php代码的javascript,php,javascript,jquery,mysql,Php,Javascript,Jquery,Mysql,解决了 <?php $startPage = $_COOKIE["currentPage"];?> <script type="text/javascript"> var startPageVal = <?php echo $startPage; ?>; <?php echo base64_decode($pajinate_js); ?> </script> var startPageVal=; 虽然$pajinate_js是下面
<?php $startPage = $_COOKIE["currentPage"];?>
<script type="text/javascript">
var startPageVal = <?php echo $startPage; ?>;
<?php echo base64_decode($pajinate_js); ?>
</script>
var startPageVal=;
虽然$pajinate_js是下面的代码,但却是startPage:startPageVal
我不知道如何从表单添加JavaScript。 基本上我有这样的代码(忽略脚本本身,而不是一行(起始页):
$(函数(){
/*启动插件*/
美元(“部门持有人”).jPages({
集装箱:“内容”,
每页:2,
起始页:,
星际旅行:1,
中档:5,
范围:1,,
}
});
如果我立即将代码放在PHP页面中,我会得到startPage:3(或任何我得到的值),但是如果我在浏览器源代码中通过Textarea动态执行,我会得到纯文本:
startPage : <?php echo $_COOKIE["currentPage"]; ?>
起始页:
这将导致整个程序无法运行。我使用base64_decode和base64_encode将其传递给数据库,否则mysql insert语句将无法运行
希望你能理解我的意思。有人知道如何解决这个问题吗?伙计,我已经测试了这个例子,它可以工作了,试着像这样合并php和javascript:
<html>
<form method="post" >
<input type="text" value="10" name="input">
<input type="submit" value='submit'>
</form>
<script type="text/javascript">
var x = <?php echo $_POST['input']; ?> ;
alert(x);
</script>
</html>
var x=;
警报(x);
这取决于您使用的引号
<?php
$js = '$(function(){
/* initiate the plugin */
$("div.holder").jPages({
containerID : "content",
perPage : 2,
startPage : '.$_COOKIE["currentPage"].',
startRange : 1,
midRange : 5,
endRange : 1,
}
});';
echo $js;
?>
试试这个:
<?php
$js = '<script>$(function(){
/* initiate the plugin */
$("div.holder").jPages({
containerID : "content",
perPage : 2,
startPage : '.$_COOKIE["currentPage"].',
startRange : 1,
midRange : 5,
endRange : 1,
}
});<script>';
echo $js;
?>
好的,我想我明白了问题所在-抱歉,我花了几分钟才明白。您的脚本/模板或任何存储在数据库中的东西需要来自PHP变量的值-只有在写入数据库之前您无法解析该变量,因为它是特定于运行因此,您已经向数据库编写了PHP代码,希望在运行数据库查询后对其进行评估,对吗 这不是它的工作方式-虽然“技术上”可以用这种方式将其组合在一起,但这将是非常糟糕的做法,所以 您真正想要做的是动态构建脚本。例如,您的脚本可以存储为一个字符串,其中包含一个标记,该标记具有某种描述,稍后您可以将其替换掉:
$(function(){
/* initiate the plugin */
$("div.holder").jPages({
containerID : "content",
perPage : 2,
startPage : %%COOKIEVAL%%,
startRange : 1,
midRange : 5,
endRange : 1,
}
});
然后,从数据库中检索后,可以运行如下操作:
$script = val_from_db(); // whatever
echo str_replace('%%COOKIEVAL%%', $_COOKIE["currentPage"], $script);
我必须通过数据库来完成。Sql Insert会抛出一个错误。因此,我在插入时进行编码,在页面上回音时进行解码,但它会写入,而不是我应该从中获取的值。我想我不明白你想做什么。如果我必须将其放入数据库,我会使用var和mysqli_real_escape_字符串($js)或PDO::quote($js)取决于使用的方法。我必须通过数据库执行。Sql Insert会引发错误。因此,我在插入时进行编码,在页面上进行echo时进行解码,但它会写入,而不是我应该从中获取的值。有点困惑-您是否建议将PHP代码存储在数据库中,并在查询后尝试对其进行评估?Beca使用这将是一个非常糟糕的做法。你的cookie的值应该在你将JS写入DB的任何文件中解析。没有什么像你想的那么复杂。我所要做的就是将javascript添加到数据库中,以便根据页面上的用户在页面上进行自定义。我以不同的方式解决了这个问题无论如何,通过设置javascript var,然后在代码中使用它而不是startPage:我将其设置为var jstartPage=
$script = val_from_db(); // whatever
echo str_replace('%%COOKIEVAL%%', $_COOKIE["currentPage"], $script);