如何在执行database.php时使表单不直接运行php代码。我可以设置if isset then run..
的if子句,但除了show
按钮之外,表单中没有任何内容。有没有办法测试是否设置了显示按钮?按钮的isset
是多少?
下面是代码
database.php
<?php
require 'core.inc.php';
require 'conn.inc.php';
if (isset($_SESSION['user_id']) && !empty($_SESSION['user_id']))
{
$query= "SELECT * FROM Properties";
$query_run=mysql_query($query);
if ($num=mysql_num_rows($query_run))
{
echo $num, " results found <br>";
while ($query_row= mysql_fetch_assoc($query_run))
{
echo "Found";
}
}
}
?>
<html>
<div >
<form action='<?php echo $current_file;?>' method='POST'>
<input type="submit" value="Show">
</form>
</div>
</html>
答案 0 :(得分:3)
试试这个..
<?php
require 'core.inc.php';
require 'conn.inc.php';
if (isset($_POST['submit'])) {
if (isset($_SESSION['user_id']) && !empty($_SESSION['user_id']))
{
$query= "SELECT * FROM Properties";
$query_run=mysql_query($query);
if ($num=mysql_num_rows($query_run))
{
echo $num, " results found <br>";
while ($query_row= mysql_fetch_assoc($query_run))
echo "Found";
}
}
}
?>
<html>
<div>
<form action='<?=$_SERVER['PHP_SELF'] ?>' method='POST'>
<input type="submit" name="submit" value="Show">
</form>
</div>
</html>
答案 1 :(得分:0)
为您的提交按钮命名。例如btnsubmit比检查条件if(isset($ _ POST ['btnsubmit']))。它必须工作,除了你的代码一切都很好。
答案 2 :(得分:0)
在<form>
内为您的HTML添加隐藏的输入,如下所示:
<input type="hidden" name="action" value="asdf" />
然后在PHP中,您可以查看:
if (isset($_POST['action']) && $_POST['action'] === 'asdf') {
// Something
} else {
// Something else
}
使用它来分支您的代码逻辑,但如果它变得很长,我建议使用多个文件。