htmlを勉強中です。二次方程式の公式を解くコードを書く必要があります。HTML に php コードを埋め込んでみましたが、空白の出力が得られます。ユーザー値 a、b、c を取得し、条件付きの回答を表示するにはどうすればよいですか?
3 に答える
これは、何をする必要があるかの簡単な例です。最初に HTML フォームを作成します。
<form method="post" action="index.php">
<input type="text" name="a" value="Enter 'a'" />
<input type="text" name="b" value="Enter 'b'" />
<input type="text" name="c" value="Enter 'c'" />
<input type="submit" name='calc' value="Calculate" />
</form>
あなたのフォームがあります。今計算:
<?php
if (isset($_POST['calc'])) //Check if the form is submitted
{
//assign variables
$a = $_POST['a'];
$b = $_POST['b'];
$c = $_POST['c'];
//after assigning variables you can calculate your equation
$d = $b * $b - (4 * $a * $c);
$x1 = (-$b + sqrt($d)) / (2 * $a);
$x2 = (-$b - sqrt($d)) / (2 * $a);
echo "x<sub>1</sub> = {$x1} and x<sub>2</sub> = {$x2}";
} else {
//here you can put your HTML form
}
?>
さらにチェックを行う必要がありますが、前に述べたように、これは単純な例です。
編集: ソースから学ぶ、公式 php サイト: http://php.net/manual/en/tutorial.forms.php
1.必要なフィールドを含むフォームを作成します。<form method='post' ....>...</form>
2.ユーザーはフォームを送信し、投稿されたデータ ( $_POST
) を取得して二次方程式の式に従って操作する PHP コードを記述します。
3.Echo
結果。
私はより小さな例を持っています。
このファイルは、フォームからそれ自体にデータを送信します。何かを送信するとき - 条件の結果
$_SERVER['REQUEST_METHOD']=='POST'
本当です。true の場合 - 「if」ブロック内のサーバー プロセス コード。フォームから送信されたデータを 2 つの変数に代入し、それらを加算して「$sum」変数に格納します。結果が表示されます。
<html>
<body>
<form method="POST">
<p>
A: <br />
<input name="number_a" type="text"></input>
</p>
<p>B: <br />
<input name="number_b" type="text"></input>
</p>
<p>
<input type="submit"/>
</p>
</form>
<?php
if ($_SERVER['REQUEST_METHOD']=='POST') // process "if block", if form was sumbmitted
{
$a = $_POST['number_a'] ; // get first number form data sent by form to that file itself
$b = $_POST['number_b'] ; // get second number form data sent by form to that file itself
$sum = $a + $b; // calculate something
echo "A+B=" . $sum; // print this to html source, use "." (dot) for append text to another text/variable
}
?>
</body>
</html>
これをテスト/使用するにはPHPサーバーが必要です! PHP ファイルは、ページを作成する Web サーバーによって処理される必要があります。ディスクから php ファイルを開くことはできません。さらに説明が必要な場合は、コメントで質問してください。