2012-02-26 6 views
0

$var$PHP_SELFに投稿する方法はありますか?私はそれをさらにスクリプトの下で使うことができますか?

2時間後、右側のサイドバーに役立つ数十の質問を読んだところ、 はほぼ完全にHTMLフォームであることがわかりました。 がアクティブになります。

しかし、擬似〜私は必要なもののコードはより次のようになります、私はプログラミングのいくつかの基本的側面を学んで見逃している見つけ出すため

< php 
$someVariable=y; 
$otherVar=X; 

// and the usual setup for accessing the `$_POST` of php: 
$HokeyDino=`$_POST`["SendOFF"]; 
$SendOFF=101; 

// etc. and then come to a point where I need the script to just automatically post a value 

[ the lack of knowledge ] 

// which if I had tha codez! 
// would permit the use of that $var, $HokeyDino ... 

if($HokeyDino==100){ 
// do stuff 
    } 

、私は愚か見て好きではありませんが、お奨めは離れて尋ねますこれまで独学で学んでいたが、何が欠けているのか分からず、生産的に見えるようになった。

ありがとうございました!

編集//明確化。

うわー、これは素晴らしいです。 30分、24人が質問を読んだ。私の心を吹かせる。

右。私がこれまで行って得ていることは多くの背景を与えるために:

(A書き込むために、その場でAuthouring元のスクリプトで別のPHP/HTMLページ、およびすべての コードを作成するためにはfopenを使用してPHPスクリプト+ )を新たに作成された一時ページ、つまりすべてに追加します。

authouringページのループから、私はその一時ページに送信するPOSTSを取得するコードを持っています。そのコードは非常に一時的なページに書き込まれます...そして、ページの最初の部分が書き込まれますなど_内容を置くことで、一時ページに配置取得する、

次に、Authouringページ上の別のループから、私は項目によって一時ページの<head>に含まれていたものと一致したアイテムのコードを書きます。

とにかく、グラフィックスがなくても、説明するのはちょっと難しいです。私が今までに得たことは、新しく作成された/一時的ページをアセンブルし、Webページとしてアクセスでき、ボタンをクリックすると、元の/ Authouringスクリプトに値を戻すことができます。

難しい部分は次のとおりです。私は、AUTHOURINGページのコードを動的に作成して、Temp PageからPOSTSを受け取る方法はありません。

しかし、私は、オーサリングページ上のループでは、私は$PHP SELFにできた場合はTEMPページ上のボタンのクリックからの値をキャッチするためにa * $Var = $ POST;を作成するためのコードとなり 文字列を掲示することを実現し、それがうまくいきます。

重要なのは、オーサリングページは、データベース内のアイテムの数に応じて、テンポページ上で何個のボタンが作成されるのかわからないということです。ループが読み取りして、ビルドするコードに変換します一時ページ。

したがって、Authouring Pageで、投稿を受け取るためのすべてのコードを難しくコードする方法はありませんが、オーサリングページでループ内でオンザフライで生成できる場合は、Universal $Var= $ POST[ X ]を使用できます。

したがって、$SELF POSTとなるコードを書く必要があり、通常のプログラムフローだけで起動し、フォームのボタンをクリックするのではありません。

Hmm ....まだ泥はっきり? :)まだ質問はかなり前向きです。

乾杯!

 //// Loop 
     Create CViewerTemp 
      read DB and manipulate data 
      Loop B 
      create, and write to VeryTempHead page 
        code which creates the top of CViewer, HEAD items 
      create, and write to VeryTempBody page 
        code which will work there, items one by one matching head items 
       end Loop B 
     Write code which is 1ne time only stuff, to begin CViewer. 
      then transfer the stuff from VeryTempHead page, into CViewer, kill 
      VeryTempHead 
      then transfer the stuff from VeryTempBody to CViewer, kill Very Temp Body. 
     Open CTempViwer, click on a Button, a value gets posted to Authouring Page. 

     Authouring Page doesn't recieve anything, no code to do so exists [YET! :)] 
+0

Mmm、これであなたの最終目標はわかりません。 'SendOFF'はどこから来たのですか?それはユーザー入力ですか? –

+0

"と入力して、自動的に値を送信するだけのスクリプトが必要になる" ---値を投稿する場所はどこですか?別のサイトに? – zerkms

+0

あなたはこのテキストの壁に助けを得ることはありません – dynamic

答えて

1

あなたはその場でデータを作成したいのですが、$ _POSTから、あなたはこのような他のソースからの$ _POSTを送信することができない場合は、次の

<?php 
// some calculations 
$_POST['my_var'] = $some_calculated_stuff; 

// later in your code 

if(isset($_POST['my_var'])) { 
// works as if it had been posted 
} 

?> 

は、これはあなたがする探しているものですか?

それは従うことが少し難しいので、私は別の可能性を示唆してます:

あなたはcURLを見て撮影したことがありますか?

+0

+1を使用するための提案のために –

+0

あなたは深刻ですか?それは簡単ですか? HA!私は恐れていた。 – MountainMan

+0

私は今それを試みます。半時間ほどかかります。 – MountainMan

0

私はあなたが隠れた入力フィールドを意味すると思います。あなたはそれらをPHPで印刷することができ、それらはあなたの次のPHPスクリプトに掲載されます。

ユーザーは値を変更することができますので、ユーザーは値を変更できません。

また、$_SESSIONを使用することもできます。これは、タスクを解決するためのよりよい方法です。

PHP_SELFは安全でないため使用しないでください。

+0

あなたの貢献に感謝します。私は$ _SESSIONについて疑問を抱いていましたが、私が実装したソリューションの半分で、私はDBの書き込み/読み取りに戻りました。残りの半分はHTMLフォームを使わずにMyStreamが$ _POSTをどのように共有するかを含んでいました。ちなみに、このプロジェクトは個人的な生産性ツールです。そのため、この例ではセキュリティについて心配していませんでした。私が最終的にそれを適応させるならば、私があなたが言いました不安に固執します。もう一度、ありがとう。 – MountainMan