在js中定义一个php变量

时间:2012-10-27 01:17:16

标签: php javascript mysql

我知道你可以做相反的事情,并且你不能从js之外的js改变一个php值(至少据我所知?),但是在内部定义的php变量怎么样?一个js变种按照说:

function captureID(clicked_id){
var clickedVar = (clicked_id);
    var alert_type = document.getElementById(clickedVar).getAttribute('class');
    var infoVar = document.getElementById(clickedVar).getAttribute('value');
    var usernameVar = "<?php 
    $fetch_username = mysql_query('SELECT info FROM alerts WHERE id = "clickedVar"');
    while ($row = mysql_fetch_array($fetch_username)){
        $username = $row['username'];   
    }

if (alert_type == 'b_alert'){
        var type = 'battle';
    } else if (alert_type == 'a_alert'){
        var type = 'award';
    } else if (alert_type == 'f_alert'){
        var type = 'friend';
    }
    alert(type);
    if (type == 'battle'){
        document.getElementById('battle_username').text(<?php echo $username; ?>)
    } else if (type == 'award') {

    } else if (type == 'friend'){

    }

}

然后再次使用js脚本中的变量。这有可能吗?因为它似乎不起作用。没有明显的错误,只是没有工作。

4 个答案:

答案 0 :(得分:3)

无法获取js变量的值并将其输入到sql中。

因为javascript是客户端而PHP是服务器端。

答案 1 :(得分:0)

是的,它可以工作,但如果你把这个代码放在一个PHP文件

查看我的变量

    var $tab_title_input = $("#tab_title"), $tab_content_input = $("#tab_content");
    var tab_counter = <?= $this->nbList ?> +1; //$this->UserLists::count()+1;

&安培;我正在使用它没问题;)

答案 2 :(得分:0)

您可以从JavaScript调用PHP文件,并通过POST或GET传递您想要的变量。 或者只是设置一个COOKIE。

Cookie将在第一个下一页请求时发送给PHP,PHP可以对其进行操作。

答案 3 :(得分:0)

只需将此JS放入您的php文件中:

<script type="text/javascript">
    var javaScriptVar = "<?php echo $someVar; ?>"; 
</script>