我有一个数组,用图像填充表单。我想要做的是当你点击一个图像它执行一个查询,所以我设置了一个基本的测试代码,看看我是否可以让它工作。我的数组填充表单,但当我点击进入itemcheck页面以确定执行if语句失败时应该是true,我不知道为什么。
形式
<?php
$field = 0;
echo '<form action="itemcheck.php" method="post"> <table><tbody>';
mysql_connect("localhost", "root", "nathan") or
die("Could not connect: " . mysql_error());
mysql_select_db("game");
$result = mysql_query("SELECT item_id FROM user_item WHERE user_id = '".getStat('id')."' LIMIT 30");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
if ($field % 5 == 0) echo '<tr>';
echo '<td id="fog" valign="top" width="48">
<input type="image" src="img/items/'. intval($row["item_id"]). '.png" name="item'.$row["item_id"].'" >
';
if ($field % 5 == 4)
{
echo '</tr>';
$field = 0;
}
else
$field++;
}
mysql_free_result($result);
?>
</tr></table></form>
只是一个简单的检查
<?php
include 'includes/stats.php';
include 'includes/login-check.php'; <---session exists
if ($_POST['item2'])
{
echo'it appears to be working.';
} else {
echo 'failed';
}
?>
this should execute true because the output from the array is
<form blah blah blah>
<input type="image" src="img/items/2.png" name="item2" >
</form>
有关为何失败的任何想法?
答案 0 :(得分:1)
您可以提交包含type="image"
的表单,但不能携带任何数据。有关详细信息,请参阅this answer。
由于没有关联的$_POST
数据,if ($_POST['item2'])
失败。
答案 1 :(得分:0)
:
<button type="submit" name="submit">Submit</button>
或
<input type="submit" name="submit" value="Submit"/>
并在你的php中:
if(isset($_POST['submit'])) {
// do this
}
else {
//whatever
}