-1

解决了

<?php $startPage = $_COOKIE["currentPage"];?>
<script type="text/javascript">
var startPageVal = <?php echo $startPage; ?>;
<?php echo base64_decode($pajinate_js); ?>
</script>

而 $pajinate_js 是下面的代码,而不是 startPage : startPageVal


我无法弄清楚如何从表单中添加 JavaScript。基本上我有这样的代码(忽略脚本本身而不是一行(startPage):

$(function(){
 /* initiate the plugin */
 $("div.holder").jPages({
     containerID  : "content",
     perPage      : 2,
     startPage    : <?php echo $_COOKIE["currentPage"]; ?>,
     startRange   : 1,
     midRange     : 5,
     endRange     : 1,
     }      
});

如果我立即将代码放在 PHP 页面中,我会得到 startPage : 3 (或我得到的任何值),但如果我通过 Textarea 在浏览器源代码中动态执行,我会得到纯文本:

startPage : <?php echo $_COOKIE["currentPage"]; ?> 

结果,这将导致整个事情不起作用。我正在使用 base64_decode 和 base64_encode 将其通过数据库,否则 mysql insert 语句不起作用。

希望你明白我的意思。有人知道如何绕过它吗?

4

4 回答 4

1

伙计,我已经测试了这个例子并且它有效,尝试像这样合并 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>
于 2013-03-22T15:43:22.337 回答
0

这取决于您使用的报价。

<?php

$js = '$(function(){
 /* initiate the plugin */
 $("div.holder").jPages({
     containerID  : "content",
     perPage      : 2,
     startPage    : '.$_COOKIE["currentPage"].',
     startRange   : 1,
     midRange     : 5,
     endRange     : 1,
     }      
});';
echo $js;

?>
于 2013-03-22T15:43:34.790 回答
0

好的,我想我明白了问题所在 - 抱歉花了几分钟才明白。你有你的脚本/模板或存储在数据库中的任何东西,需要 PHP 变量中的值 - 只有你无法解析该变量在写入数据库之前,因为它是特定于运行脚本的用户的 cookie 值。因此,您已经将 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);
于 2013-03-22T16:40:05.860 回答
0

尝试这个:

<?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;
?>
于 2013-03-22T16:05:12.950 回答