发送一个Javascript变量然后在PHP脚本中使用

时间:2011-01-04 19:11:47

标签: php javascript sql

是否可以在这种情况下将一个javascript变量发送到php脚本然后将其插入数据库?我想把当前的URL发送到insert.php文件。

我有这个JS:

 <a href="javascript:(function(){var jsScript=document.createElement('script');
jsScript.setAttribute('type','text/javascript');
jsScript.setAttribute('src', '<?php echo $url?>/insert.php?url='+encodeURIComponent(location.href)+'&amp;title='+encodeURIComponent(document.title));
document.getElementsByTagName('head')[0].appendChild(jsScript);
})();">Add!</a>

然后我会做PHP:

$_GET['url'] = sanitize($_GET['url']);
$_GET['title'] = sanitize($_GET['title']);

mysql_query("   INSERT INTO user (url,title)
                VALUES (
                    '".$_GET['url']."',
                    '".$_GET['title']."'
                )");

我是在正确的轨道上还是我完全错了?

2 个答案:

答案 0 :(得分:0)

答案是肯定的。这是一个例子:

<script type="text/javascript">
var result = 1;
location.href="page.php?Result=" + result;
</script>

然后使用$ _GET获取结果的值。

答案 1 :(得分:0)

看起来正确,通过构建查询字符串并发送到服务器来传递javascript变量。

使用AJAX会更干净。您可以处理失败并在插入完成后通知用户。

jquery中:

var param = 'bleh';
var site = 'http://what.com/';

$.ajax({
  url: site+'?param=' + param,
  success: function(data) {
    alert('Data was inserted');
  }
});