2011-01-04 4 views
0

この場合、javascript変数をPHPスクリプトに送信してデータベースに挿入することは可能ですか?私は現在のURLをinsert.phpファイルに送るようにしています。PHPスクリプトで使用するJavascript変数を送信する

私は、これは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']."' 
       )"); 

は私が右のトラックにAMまたは私はこの完全に間違って持っていますか?

答えて

0

これは正しく表示されます。クエリ文字列を作成してサーバーに送信することでjavascript変数を渡します。

AJAXを使用するときれいになります。失敗を処理し、挿入が完了したときにユーザーに通知できます。 jquery

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

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

AJAXを使用すると、ページのリロードをせずにサーバーのPHPスクリプトにデータを戻すため、AJAXを使用するときれいです。 AJAXレスポンスといくつかのjavascriptを使用する必要があります。これは、AJAXしたPHPスクリプトから返されたレスポンスに基づいて現在のページを変更する場合です。 – dqhendricks

0

答えははいです。ここに例があります:

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

次に、結果の値を得るために$ _GETを使用してください。

+0

これは、あなたがすでにしようとしているものの線に沿ってより多くのです。ページに再度リダイレクトされますが、次のページのロード時に使用するPHPのGET変数を与えます。 – dqhendricks

関連する問題