为什么php的回声会破坏我的脚本?

时间:2016-09-11 03:31:16

标签: javascript php

echo "<script type=\"text/javascript\">
            var php_var = '<?php echo addslashes($dealpromo); ?>';

            var headerel = document.getElementsByClassName('content-header')[0];
            alert(headerel);
            headerel.getElementsByTagName('h2')[0].innerHTML = php_var;
            </script>";

如果我删除

var php_var = '<?php echo addslashes($dealpromo); ?>';

然后警报发生,如果我把它留进去,我没有得到警报,显然不能让我的元素像我想要的那样得到php_var ...

3 个答案:

答案 0 :(得分:3)

可能你正在寻找:

// assume these are ordered in memory as if they were part of the same struct:
int x[10];
int y;
int z;

void
myfunc(void)
{

    // initialize
    y = 23;
    z = 37;

    // do stuff ...

    // generate UB -- we run one past the end of x and zero out y
    for (int i = 0;  i <= 10;  ++i)
        x[i] = 0;

    // do more stuff ...

    // generate SIGFPE ...
    z /= y;

    // do stuff ...

    // do something _really_ bad with y that causes a segfault or _worse_
    // sends a space rocket off-course ...
}

答案 1 :(得分:3)

我可能错了,但我认为你应该连接addslashes($dealpromo);而不是回应它(因为你已经在做回声)。

var php_var = '" . addslashes( $dealpromo ) . "';

答案 2 :(得分:1)

一个漂亮而时尚且不那么受欢迎的方法是使用Print();功能。

但是,最好将它用于“简单值”,如纯变量:

    var MyJSStringVar = "<?php Print($MyPHPStringVar); ?>";
    var MyJSNumVar = <?php Print($MyPHPNumVar); ?>;