2011-07-28 3 views
0

HTMLをブラウザに生成する前に外部jsからCookieを取得できますか?ジャバスクリプトが実行されることはないだろうので、それは不可能ですHTML出力を生成する前にPHPの外部javascriptからクッキーを取得

<? 

    //Get if i have some cookie information 
    if($_COOKIE["js_app"]) 
      $cookie_js = $_COOKIE["js_app"]; 

    //now, talk with some app.js 
    if($cookie_js) 
     $cookie = some_function(target = 'some_domanin/app.js',$cookie_js); 
    else 
     $cookie = some_function(target = 'some_domanin/app.js'); 

    $_COOKIE["js_app"] = $cookie; 

    //now i can generate the HTML output. 

    .... 


    ?> 
+0

Javascriptはブラウザ内にCookieを設定します。新しいリクエストがあれば、ブラウザはそのクッキーをサーバに渡すので、PHPはそれを読むことができます。しかし、あなたのコードはいくつかのJSを直接呼び出す(どのように?)ブラウザではないので、あなたが探しているものが不思議です。 – hakre

+0

@hakreもちろん、私はそれが非常に奇妙であることを知っています、そして、私は方法を知らない。私はPHPでいくつかの方法でjavascriptを読み込むことが可能かどうか疑問に思っていた。 – alesdario

+0

PHPコード内でJavaScriptコードを実行したいですか? – hakre

答えて

1

よう

何か。 some_function(リクエストを作成してCookieを渡すためにcURLを使用したと仮定します)、javascriptコードを受け取るだけです(ブラウザでjavascriptソースを表示するとどうなります)。

JSがブラウザによって読み込まれると、ブラウザのJavaScriptインタプリタが解析し、JavaScriptを実行します。

編集:うーん... "php javascript interpreter"のグーグルがhttp://j4p5.sourceforge.net/index.phpです。以前はこれを使用していたことはありませんでした。おそらく決してそうはなりませんが、ユーザー側のものとやりとりする必要がない場合は、役立つかもしれません。

1

あなたはクッキーでリクエストを送信し、PHPを使用してレスポンスからクッキーを取得する方法を探していますか?私はPEAR HTTP_Requestあなたが探していると思うが、パッケージとしてサーバーにインストールする必要があります。

これはオプションではない場合、私はHTTP requestssocketsを使って行う必要があると思います。

UPDATE:Javascriptを使用してCookieを設定する場合は、javascriptを解析する必要があります。実際のオプションではありません。これらの関数は、クッキーがサーバー側に設定されている場合にのみ機能します。

+0

javascriptを使ってクッキーを設定する必要はありません。私は、クッキー情報を取得するだけで、(その場合)いくつかの戻り値を取得する必要があります。それだけで。実行されません。 - **更新**:_戻り値_は不可能です。 – alesdario