Функция Isset для кнопок в php-коде

97
7

Как я могу сделать форму, чтобы не запускать PHP-код непосредственно при выполнении database.php. Я могу установить условие if, if isset then run.. но в форме нет ничего, кроме кнопки show. Есть ли способ проверить, установлена ли кнопка 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>

спросил(а) 2014-12-01T12:19:00+03:00 5 лет, 9 месяцев назад
1
Решение
81

попробуй это..

<?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>

ответил(а) 2014-12-01T12:24:00+03:00 5 лет, 9 месяцев назад
40

Добавьте скрытый ввод в свой HTML внутри <form> следующим образом:

 <input type="hidden" name="action" value="asdf" />

Затем на вашем PHP вы можете проверить:


if (isset($_POST['action']) && $_POST['action'] === 'asdf') {
// Something
} else {
// Something else
}

Используйте это, чтобы разветкить вашу логику кода, хотя, если она будет очень длинной, я бы рекомендовал использовать несколько файлов.

ответил(а) 2014-12-01T12:25:00+03:00 5 лет, 9 месяцев назад
41

Дайте название своей кнопке отправки. например btnsubmit, чем условие проверки if (isset ($ _ POST ['btnsubmit'])). Он должен работать, за исключением того, что с вашим кодом все очень хорошо.

ответил(а) 2014-12-01T12:23:00+03:00 5 лет, 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема