2011-12-19 12 views
2

私はこのフォーマットのようなPHPの変数に "10時30分" stime jqueryの文字列からPHP変数にJquery変数を渡すには?

変数と転送値 "10時30分" の時間を抽出するために"10、30"

<script> 

var stime = 'Sat Dec 17 2011 10:30:00 GMT+0530 (India Standard Time)'; 

<?php  
    $s = "<script>document.write(stime);</script>";  
    $e = "<script>document.write(etime);</script>";  
    $stime = substr($s,15,6); 
//substr_replace(string,replacement,start,length) 
    $convert_stime = substr_replace($stime,", ",3,1); 
?>  
</script> 

/** 
Output Will Be 
-------------- 
Time: 10:30 
Converted Time: 10, 30 
***/ 
をしたいです

これを処理する方法はありますか?助けてください、どんな提案も感謝します。ありがとう!

+2

PHPが上で実行されますJSがクライアント上で実行されている間(PHPからページがレンダリングされた後)のサーバーPOSTを使用してフォームを介して値を取得するか、AJAXを使用して、クライアント側からサーバー側に値を渡す必要があります。 – Bryan

+1

ところでこれは必要ありません。時間を変換し、JavaScriptで文字列を操作することができます。 –

答えて

4

JQueryはJavascriptで、クライアント側で作業しています。 PHPはサーバーサイドです。そのデータをサーバーに送信するには、何らかのタイプのポストバックを行う必要があります。ページがすでにクライアントによってレンダリングされている場合、PHPを呼び出すことはできません。

+0

Aala gal keeto o sohnya – Sami

1

上記のコードからは不可能です。 ajaxを使ってみてください。

Javascriptはクライアント側です。 PHPはサーバー側です。あなたはAJAXまたはその

+0

// mysrtingの「10:30」部分を「10,30」に変換します。 var mystring = "土曜日12月17日10:30:00 GMT + 0530(インドスタンダード時間)";午前10時30分 変更フォーマット: 出力は 時間になる10、30 –

1

のJavascript(及び、それによって、jQueryの)のようなものを使用しない限り、

あなたは(あなたが上記の行ったように)JavaScriptに をPHPの変数を渡す。しかし逆にすることができますができませんが、クライアントのまで実行されませんブラウザはページをロードするときにそれに遭遇する。 PHPは、コードがクライアントに到達する前にサーバー側で発生します。 Javascript変数をPHPに渡す唯一の方法は、GETリクエストまたはPOSTリクエスト(これはAJAXまたは同期ページロードを介して行うことができます)です。たとえば、あなたがPHPの$ _GET変数に格納されるクエリ文字列にJS変数の値を渡すことができ

//Javascript loads the page with variable values in the querystring 
var firstVar = 'first_value'; 
var secondVar = 'second_value'; 
location.href = 'index.php?firstvar='+firstVar+'&secondvar='+secondVar; 

//at index.php?firstvar=first_value&secondvar=second_value, we parse items from the $_GET variable into discrete PHP variables 
$firstVar = $_GET['firstvar']; 
$secondVar = $_GET['secondvar']; 
+0

私はその場合はページ –

+0

をリロードせずにこれを行う必要があり、あなたは 'stime'と' etime'に合格したAJAX呼び出しを行う必要がありますあなたのPHPスクリプトを処理し、responseTextのページに返します。 – Aaron

+0

そして、正に言えば、あなたがやっている文字列の変換(本当にこのデータで何をしようとしているのか分かります)をJavascriptで完全に処理することができます。 – Aaron

1

をあなたがJavascriptとPHPについて基本的に混乱しているようです。

PHPはサーバー側のプログラミング言語です。それはサーバーマシン上で解釈され実行され、出力は通常HTTP経由でユーザーに配信されます。

JavaScriptはクライアント側スクリプト言語であり、実行環境としてブラウザを使用してユーザマシン上で実行されます。

あなたが達成したいことは、HTTP POSTメソッド(またはGET - セマンティクスに依存します)を介してクライアント側のコード(JavaScript)からサーバーにHTTPRequestを送信することによって行うことができます。 AJAX、HTTPプロトコル、Javascript、クライアント/サーバーアーキテクチャの基礎などのトピックについて詳しく学ぶことができます。乾杯のメイト

1

PHPにjquery変数を渡すことはできません.JQueryはサーバー上ではなくクライアント上で実行されます。あなたのコードでは、 `$ s =" document.write(stime); " `その部分の` `タグは文字列として扱われます。

javascriptですべての書式設定作業を行うか、PHPで行うか、ajaxで時間変数を渡してPHPで書式設定し、ajaxで取得することもできます。

のjavascript:

var stime='Sat Dec 17 2011 10:30:00 GMT+0530 (India Standard Time)'; 
var etime=stime.substr(15,6); 
var res=etime.replace(":",","); 

のAjaxバージョン(あなたは2つのメソッドを使用する必要がある場合): クライアント側:

var stime='Sat Dec 17 2011 10:30:00 GMT+0530 (India Standard Time)'; 
$.ajax({ 
url:"/your_php_script", 
data:{"stime":stime}, 
success:funciton(data){ 
    alert(data); 
} 
}) 

PHP側:

$stime=$_GET['stime']; 
    $stime = substr($s,15,6); 
    $convert_stime = substr_replace($stime,", ",3,1); 
    echo $convert_stime;