2016-07-27 3 views
0

ここで初めて私は何か間違っているとお詫びします。ボタンをクリックして文書をエコーする変数

私は、次のPHPコードがあります。

<?php 

$quoteFile = "quotes.txt"; //File holding qoutes 

$fp = fopen($quoteFile, "r"); //Opens file for read 
$content = fread($fp, filesize($quoteFile)); 
$quotes = explode("\n",$content); //Put quotes into array 
fclose($fp); //Close the file 

srand((double)microtime()*1000000); // randomize 
$index = (rand(1, sizeof($quotes)) - 1); //Pick random qoute 

?> 

コードがランダムに.txtファイルの行のいずれかを選択して、テキストファイルからランダムな引用をフェッチします。私は、使用して結果を出しエコー

echo $quotes[$index]; 

は、しかし、私は達成するためにとのことができるようにしていないよう望むものをクリックしたときにに

echo $quotes[$index];
を実行するボタン(HTML)を持つことです現在のページ。そのボタンがクリックされるたびに、.textファイルからランダムな引用をエコーし​​ます。

私は、デフォルトで新しいランダムな見積もりを表示するページをリフレッシュするためにボタンを設定するだけで大​​騒ぎしましたが、時には空白をリロードして、誰かが私にこのよりよい正しい方向。ありがとう。

+0

私はあなたがサーバー側とクライアント側の言語について混乱するかもしれないと信じています。ユーザーがボタンをクリックすると、PHPコードはすでに実行されています。したがって、PHP関数を使用する場合は、ボタンとは別のページになければなりません。ボタンがクリックされたら、PHP関数を使用してページへのAJAX呼び出しを使用します。 –

+0

あなたはajaxを使ってphpファイルを呼び出してその項目をエコーする必要があります。 –

+0

トピックオフ:http:// stackoverflowを参照してください。ファイルからランダムな行を取得する簡単な方法については、com/a/12119002 –

答えて

0

あなたは、このようなセッション変数にその変数を保存しようとすることができます:

<span><?php echo $_SESSION['quote']; ?></span> 

これを行うには、セッションを設定する必要があります。あなたのPHPファイルの上に書いてください:

session_start(); 

ホープが役立ちます。 :)

+1

ありがとうございます。とても有難い。 – Debuggler

-2

TXTファイルの末尾に空白行がある可能性があります。これの2番目の説明は、ランダム性を生成する方法がかなり疑わしいことです。

この簡単な例をW3 Schoolsでチェックしてください。

$a=array("red","green","blue","yellow","brown"); 
$random_keys=array_rand($a,1); 
echo $a[$random_keys[0]]."<br>"; 

array_rand()関数は、配列からランダムキーを返すか、関数が複数のキーを返す必要があることを指定した場合には、ランダムなキーの配列を返します。

それとも、単に:

<?php 
$a=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); 
print_r(array_rand($a,1)); 
?> 

完全なポスト:http://www.w3schools.com/php/func_array_rand.asp

ハッピーコーディング!

$_SESSION['quote'] = $quote['index']; 

はその後、現在のページにリダイレクトするアンカー要素の作成:

<a href="current_page.php">Refresh</a> 

を、ページ上の結果を印刷

+0

これは、ボタンクリックを使ってPHPから値を返す方法に関するOPの質問にどのように答えますか? –

関連する問題