2011-07-18 10 views
1

にはどうすればページがさわやかに保つ。この例では、同じファイルPHPのGET変数が

を使用してJavascriptからPHPに変数を渡すことができますし、私はそれは場合にのみ動作し、結果

を参照して得ることはありません

<?php 
Id = $_GET[Result]; 
echo $dbId; 
?> 
(彼らは同じファイルに両方ある)私は、スクリプトを分離...しかし、私は何とかAJAXのようにそれを必要とする。..

<SCRIPT language="JavaScript"> 
var carname="Volvo"; 
location.href="http://localhost/put.php?Result=" + carname; 
</SCRIPT> 

、これはスクリプトのseccond一部であり、

+2

リダイレクトする同じページにリダイレクトする同じページにjavascriptリダイレクトすることで、エンドレスループを作成していませんか?そして、あなたのPHPコードの存在に関係なく、その無限ループは存在しませんか? –

+0

だから、オプションではなくajaxを使用しているだけですか? –

答えて

1

ブライアンは条件文に入れるべきだと言いました。あなたのPHPも悪いです。私は、これはあなたがAjaxの方法を学ぶためにしようとしている場合は、現実の世界で、私はjQueryのようなフレームワークを使用することをお勧めします良い運動だと思い、次の

<?php if(isset($_GET["Result"])) : ?> 

// do work with set variable 
<?php $dbID = $_GET["Result"]; 
    echo($dbID); ?> 

<?php else : ?> 
// "Result" not set 
<SCRIPT language="JavaScript"> 
var carname="Volvo"; 
location.href="http://localhost/put.php?Result=" + carname; 
</SCRIPT> 
<? endif; ?> 

を試してみてください。もちろん、これがどのように機能するかを理解すれば、最終的により良いアプリケーションを構築するのに役立ちます。

+0

編集:申し訳ありませんが最後の行に "<?php"を修正する必要があります。 – NotCoffeeTable

+0

それはそれを行います!ありがとう、実際には...これは、PHPからjavaに変数を取得する方法ですか? – Jabee

+0

これは1つの方法です...しかし、これは本質的にそれが行える最も基本的な方法であり、あまり一般的ではありません。通常、Javascriptが非同期にリクエストを送信するPHPスクリプトがサーバー上にあります。 ここには、非同期のjavascriptリクエストを紹介するチュートリアルがあります。 http://www.sematopia.com/2005/11/how-to-learn-ajax-in-10-minutes/ – NotCoffeeTable

-1

PHPはサーバー上でのみ実行され、JavaScriptはクライアント上でのみ実行されます。あなたのクライアントがjavascriptを実行しているときには、そのリクエストでPHPを実行することはできません。

+0

しかし、PHPコードは "refresh screen"の前に実行されます。クエリー文字列には最後のリクエストにJavaScriptが付加されているため、最初のリフレッシュ後にcarnameを出力する必要があります。 –

+0

正しいですが、基本的な問題は、クライアントとサーバーのやりとりとコードの実行の誤解のように聞こえます。 –

0

私の推測では、AJAXを使用してサーバーにデータを送信し、そのページを離れずに応答を受信したいと考えています。

おそらく、これを達成する最も簡単な方法は、jQueryなどのライブラリを使用することです。ですから、PHPスクリプトでこのような何かを行うことができ

+0

私は正しいと思います... – Jabee

1

jQuery.ajax()を参照してください):

if (!isset($_GET['Result'])) 
{ 
    // include the javascript portion with the redirect 
} 

私も、他の人とだ - - 私は続いページロードの値を見ていません同じページにすぐにリダイレクトされます。

0

Man。クライアント/サーバーパターンに従うべきです。クライアントページでは、いくつかのajaxを使用してサーバーページにリクエストできます。これはクライアントへの応答であり、あなたが望むデータで行うことができます。

0

もちろんリフレッシュされます:))ブラウザがjsコードを取得すると、指定したページが読み込まれ、ブラウザに同じページが送信されるため、あなたはそのアイデアを得ます。それは書くのと同じです(;;){}

1

あなたがしようとしていることはできません。あなたのスクリプトはリアルタイムでクライアント上で動作しますが、PHPはリクエスト中にサーバ上で動作します。 AJAXリクエストを行う必要があります。

まず、FirebugとWeb開発ツールバーでFirefoxを使いたいと思うでしょう。 Firebugはajaxトラフィックの素晴らしいビューを提供し、Web開発ツールバーはページの内容を確認するのに役立ちます。

jQueryを使用して、値を別のPHPファイルに「送信」するようにリクエストします。ファイルを分離することを恐れず、実際には良いプログラミングと考えられています。情報をPHPスクリプトに送る場合は、URLの一部としてではなくJSONを使いたいと思うでしょう。

関連する問題