在Java脚本中执行PHP代码onClick

时间:2013-03-19 作者:Lars van Peij

当用户单击表行时,我想:

在用户配置文件中保存一个值,转到页面,我在这个循环中:

<?php $query = new WP_Query(array(\'post_type\' => \'aanvraag\', \'posts_per_page\' =>\'-1\', \'post_status\' => array(\'publish\', \'pending\', \'draft\', \'private\'/* , \'trash\' */) ) ); ?>
<?php if ($query->have_posts()) : while ($query->have_posts()) : $query->the_post(); ?>
<?php endwhile; endif; ?>
这不起作用:

<tr onclick="window.location.href=\'http://www.areal-agro.nl/<?php 
    $user = get_the_title();
    update_usermeta( $current_user->id, \'current_user\', $user );        
?>\'">
如果我echo 这个$user 值,则输出右侧(当前)值
如果我使用update_usermeta 如前所述,它使用最后一个值
如果我使用update_usermeta( $current_user->id, \'current_user\', \'test\'); 它起作用了。

如何导出current 价值为什么是onclick 表现得不像是在循环中,我如何才能改进这一点?

1 个回复
最合适的回答,由SO网友:roryok 整理而成

简单地说,窗口。地方href是javascript,将在浏览器中运行,但PHP在服务器上运行。为了执行update_usermeta() 您需要打开一个包含该代码块的页面。单击完成此操作的最佳方法是使用AJAX(javascript)访问包含此代码的URL。很可能需要创建一个包含代码的新PHP文件,并编写一些AJAX来访问页面。

结束

相关推荐

显示在<!DOCTYPE>标记之前的JavaScript警报

我有关于Debian挤压的wordpress 3.5.1。每次页面加载之前,javascript警报都会显示消息2819371938193817109948281937271937 必须单击“确定”才能查看页面。每次刷新或点击某个帖子,我都会收到这个消息。自从上次网站正常运行以来,我什么也没做。屏幕截图:源代码:<script>alert(\"2819371938193817109948281937271937\");</script> <!DOCTYPE html