Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用特定变量从PHP echo调用JS函数时出现问题_Javascript_Php - Fatal编程技术网

Javascript 使用特定变量从PHP echo调用JS函数时出现问题

Javascript 使用特定变量从PHP echo调用JS函数时出现问题,javascript,php,Javascript,Php,我有一个JS函数,可以将带有值的键添加到当前URL。下面有两个几乎相同的链接,唯一的区别是传递给JS函数的变量。一个链接通过$month,另一个通过$event\u类别。出于某种原因,当传递$event_category时,JS函数甚至没有被调用。有人知道我做错了什么吗 您必须向右滚动才能看到差异所在 $month = 1; $event_category = (string) ($eventCategories[$k]["event_category"]); echo

我有一个JS函数,可以将带有值的键添加到当前URL。下面有两个几乎相同的链接,唯一的区别是传递给JS函数的变量。一个链接通过$month,另一个通过$event\u类别。出于某种原因,当传递$event_category时,JS函数甚至没有被调用。有人知道我做错了什么吗

您必须向右滚动才能看到差异所在

    $month = 1;
    $event_category = (string) ($eventCategories[$k]["event_category"]);

    echo gettype($event_category); // prints "string"


    // doesn't work?
    echo '<div class="month selected"><a href="javascript:void(0);" onclick="javascript:insertParam('. "'event_category'" .', '. $event_category .');" class="button" role="button">
    <image width="100" height="60" src="images/'. $images_list[$eventCategories[$k]["event_category"]].'"></a></div>';  

    // works
    echo '<div class="month selected"><a href="javascript:void(0);" onclick="javascript:insertParam('. "'event_category'" .', '. $month .');" class="button" role="button">
    <image width="100" height="60" src="images/'. $images_list[$eventCategories[$k]["event_category"]].'"></a></div>';      
$month=1;
$event_category=(字符串)($eventCategories[$k][“event_category”]);
echo gettype($event_category);//打印“字符串”
//不起作用?
回声';
//工作
回声';

您应该在$event_类别周围加引号,否则它将被javascript解释为变量。所以,转换

. $event_category .


您应该在$event_类别周围加引号,否则它将被javascript解释为变量。所以,转换

. $event_category .


这是一个重大的XSS风险,您真的不应该这样做。在将java脚本函数转储到HTML之前,至少先对所有内容进行清理。我要说的是,您将java脚本函数放在页面上的某个位置,并使用onload侦听器,在加载php时调用该函数。我意识到也许我应该这样做,但我并不担心这一点。我只是想让它工作起来properly@MueyiwaMosesIkomi这样做的目的是创建多个按钮。对于需要传递给JS函数的$event_category,每个都有不同的值。如果可以处理,请使用data属性在按钮中传递数据。您可以通过单击使用java脚本来执行您想要的操作,轻松地获取这些信息。另外,为了安全起见,请确保在将数据发送回服务器之前对其进行清理。这是XSS的主要风险,您确实不应该这样做。在将java脚本函数转储到HTML之前,至少先对所有内容进行清理。我要说的是,您将java脚本函数放在页面上的某个位置,并使用onload侦听器,在加载php时调用该函数。我意识到也许我应该这样做,但我并不担心这一点。我只是想让它工作起来properly@MueyiwaMosesIkomi这样做的目的是创建多个按钮。对于需要传递给JS函数的$event_category,每个都有不同的值。如果可以处理,请使用data属性在按钮中传递数据。您可以通过单击使用java脚本来执行您想要的操作,轻松地获取这些信息。出于安全原因,还应确保在将数据发送回服务器之前对其进行清理