数週間前に.phpで再生を開始し、書籍でこの問題が見つかりました。私はそれぞれ異なる機能を呼び出す4つの異なるボタンを持っていますが、私は個々のボタンをクリックすると、現在私の4つの機能すべてが呼び出されていますか?このことを理解するのに少し助けが必要です。コール以外はすべて正常に動作しています。各ボタンを送信すると、別の関数を呼び出す必要があります。私はPHPコードからHTMLを分離している。私が見ているのは、ボタンをクリックすることで、関数が呼び出されます。現在、すべての関数を同時に呼び出しています。4つの.php関数がすべてsubmitで表示されるのはなぜですか?
HTML:
<?php
if (isset($_POST['Sequence1'])) {
echo Sequence1(); }
else if (isset($_POST['Sequence2'])) {
echo Sequence2(); }
else if (isset($_POST['Sequence3'])) {
echo Sequence3(); }
else if (isset($_POST['Sequence4'])) {
echo Sequence4(); }
?>
<!doctype html>
<html>
<head>
<title>Sequence Test</title>
<link rel="stylesheet" type="text/css" href="q2.css">
</head>
<body>
<form action="q2_process.php" method="post">
<div class="header">
<header><h1>Numeric Sequence Tester</h1></header>
</div>
<div class="prompt">
<h2>Click on a button below to see the sequence</h2>
</div>
<div class="button1">
<p><button type="submit" formmethod="post" name="Sequence1" value="Sequence1" class= "buttons">Sequence 10 - 2n</button></p>
</div>
<div class="button2">
<p><button type="submit" formmethod="post" name="Sequence2" value="Sequence2" class="buttons">Sequence 4n + 3</button></p>
</div>
<div class="button3">
<p><button type="submit" formmethod="post" name="Sequence3" value="Sequence3" class="buttons">Sequence n*n - 2</button></p>
</div>
<div class="button4">
<p><button type="submit" formmethod="post" name="Sequence4" value="Sequence4" class="buttons">Sequence ar^n; when a-4 r=3</button></p>
</div>
</form>
</body>
</html>
PHP Functions:
<?php
function Sequence1() {
$num = 0;
$result = 0;
for($i = 0; $i < 9; $i++) {
$num++;
$num1 = (2 * $num);
$result = 10 - $num1;
echo "When n=${num}; 10-2n = 10-2x $num1 = 10 - $num1 = $result <br>"; }} ?>
<?php function Sequence2() {
$num = 0;
$result = 0;
for($i = 0; $i < 9; $i++) {
$num++;
$num1 = (4 * $num);
$result = $num1 + 3;
echo "When n=${num}; 4n+3 = 4 x $num + 3 = $num1 + 3 = $result <br>"; }}; ?>
<?php function Sequence3() {
$num = 0;
$result = 0;
for($i = 0; $i < 9; $i++) {
$num++;
$num1 = ($num* $num);
$result = $num1 - 2;
echo "When n=${num}; n*n-2 = $num x $num - 2 = $num1 - 2 = $result <br>"; }}; ?>
<?php function Sequence4() {
$num = 0;
$result = 0;
for($i = 0; $i < 9; $i++) {
$a = 3;
$r = 2;
$num++;
$num1 = $a * pow($r, $num -1);
$result = $num1 * 2;
echo "When n=${num}; $num1 x 2 = $result <br>"; }} ?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Sequence Tester</title>
<link rel="stylesheet" type="text/css" href="q2.css">
</head>
<body>
<div class="header">
<header><h1>Sequence Tester</h1></header>
</div>
<!--Create divs to hold each button click-->
<div class="seq1">
<h3>You selected button 1</h3>
<p><?php echo Sequence1(); ?></p>
</div>
<div class="seq2">
<h3>You selected button 2</h3>
<p><?php echo Sequence2(); ?></p>
</div>
<div class="seq3">
<h3>You selected button 3</h3>
<p><?php Sequence3(); ?></p>
</div>
<div class="seq4">
<h3>You selected button 4</h3>
<p><?php Sequence4(); ?></p>
</div>
<div class="home">
<a href="q2_index.html">Back to Homepage</a>
</div>
</body>
</html>
ありがとうございました。それは完璧に動作しました。追加の「容器」は取り除かなければならなかった。各ボタンをクリックするたびに1つのコンテナしか必要ありません。最後の部分は、出力がDOMのヘッダー領域にプッシュされている理由を理解することです。 – allendks45
@ allendks45関数は、if/elseループ内で右上に呼び出されました。私の更新された答えを見てください:) – Saan
私が望んでいた方法を出力するために.cssと遊ぶ必要がありました。あなたのソリューションは、堅実で素晴らしい仕事と感謝です! – allendks45