以前にphpを使用したことがありますが、この問題に遭遇したことはありません....
独自の値を渡すラジオボタンがあります。フォームが送信されたときに、渡された値がコード内の if ステートメントの条件と一致することを確認しました。ただし、そのパスは実行されません。
たとえば、city ラジオ ボタンが選択されている場合、city に関する if 条件は実行されません。if ステートメントの前に echo ステートメントを配置してデバッグしましたが、if ステートメントの値と一致するため、実行されない理由について混乱しています。
誰かが助けてくれたらありがたいです...私はかなり困惑しています。
html は次のとおりです。
<html>
<head>
<title>Lab 5</title>
<link rel='stylesheet' href='SearchForm.css' type='text/css' media='all' />
</head>
<body>
<p>You may use % as a wildcard character in your search.</p>
<form method='POST' action='index.php?type=search'>
<input type='text' name='search_param' value='' />
<input type='radio' name='search-type' value='City' id='city' />
<label for='city'>City</label>
<input type='radio' name='search-type' value='Country' id='country' />
<label for='country'>Country</label>
<input type='radio' name='search-type' value='Language' id='language' />
<label for='language'>Language</label>
<br /><br />
<input type='submit' name='submit' value='Search' />
</form>
<p>Or, <a href='index.php?type=insert'>perform an insertion.</a></p>
</body>
</html>
そしてphp:
<?php
include 'connect.php';
$table = $_POST['search-type'];
$search = $_POST['search_param'];
if($table != NULL)
{
echo '<table>';
if($table == 'City')
{
$query = "SELECT * FROM city WHERE name ILIKE $1 ORDER BY name;";
$stmt = pg_prepare($connection, "city", $query);
$result = pg_execute($connection, "city", array($search));
while($row = pg_fetch_assoc($result))
{
cityTable($row);
}
echo '</table>';
}
}
else
{
echo 'Please select a table to query!';
}
ご覧のとおり$search
、if 条件から変数を削除して、投稿に直接移動しました。
私がエコーしたとき$search
、それは「都市」をもたらすので.....助けてください!