私はちょうどPHPを学んでいます.1つのことは、ウェブ全体を検索してもうまくいきませんでした。クライアント側のスクリプト (javascript) では次のことが非常に簡単であることは知っていますが、php でそれが可能かどうかを知りたいです。
HTML ボタン要素がありますが、php コードを使用してそのテキストを変更できますか? ボタンがクリックされるたびに何度も変わるもの。
変数を介してボタンの値を定義するだけです:
<?php
$buttonName = "bla bla";
?>
<input type="submit" value="<?php echo $buttonName; ?>" />
また
<button><?php echo $buttonName ?></button>
次に、変数を使って好きなことをすることができます
PHP は、ページがクライアントに送信される前にサーバー上で実行されるため、ページが最初にレンダリングされる時点でのみページのソース コードを操作できます。ボタンをクリックするたびにページがリロードされる場合は、ボタンのラベルを変更できます。
たとえば、ロードのたびにボタンに乱数を与えるには、次のようにします。
<button><?php echo rand(1,10); ?></button>
ただし、これは、ページのリロードを引き起こすボタンに依存します。ページをリロードせずにこれを行いたい場合は、JavaScript が適切なツールです。
ボタンをクリックしたときにボタンの現在のテキストをサーバーに送信し、それを新しいランダムテキストと比較し、等しくない場合はページにエコーし、等しくない場合はランドテキストの検索を続けることができます.
また、セッションでそれを行うこともできます。現在のテキストをセッション変数に入れ、送信で別のテキストを作成し、それを以前に作成したセッション変数と比較して、ページにエコーします。
<?php
session_start();
if (isset($_POST)) // check button submission - do it with any way you like
{
while(1)
{
$new_rand = rand();
if($new_rand != $_SESSION['currText'])
{
$curr_text = $new_rand;
$_SESSION['currText'] = $curr_text;
echo "<button>$curr_text</button>";
break;
}
}
}
else // and here is the first page request, when no button is clicked
{
$new_rand = rand();
$_SESSION['curr_text'] = $new_rand;
echo "<button>$new_rand</button>";
}
?>
これにより、ボタンを押すたびに完全に異なるテキストが表示されます;)
rand()
このコードと上記のシナリオでは、PHP関数が数値を返すため、乱数について説明しました。テキストが必要な場合は、ページに表示するすべてのテキストを配列に配置し、次を使用してランダムなテキストを取得できrand(0, $max_index_of_the_array)
ます - テキストのインデックスが から来た配列内のテキストを表示しますrand(0, $max_index_of_the_array)
。