Как я могу принять или удалить ожидающую почту?

На этот раз я очень разочарован. Я потратил весь свой день, и я не мог помочь. Вот проблема:

I need accept or delete the pending jobs. If I accept, only then it will publish on my site. Please look at the image.enter image description here

Здесь я пытаюсь использовать этот код для решения этого вопроса. Во-первых, если кто-то отправляет новое задание, я передаю скрытое значение = 0 в соответствии с заданием.

<input type="hidden" name="pending" value=0/>

Затем я храню его в своей базе данных.

INSERT INTO job (Pending) VALUES ('$_POST[pending]');

Затем я перехожу на страницу с изображением (вверху), чтобы принять или удалить.

echo "ACCEPT Or ";
echo "DELETE";

После принятия столбца Pending будет заменен на 0 на 1 и, следовательно, он будет опубликован. Или удалив время, задание будет просто удалено из базы данных.

$accept=$_GET['accept'];
if($accept==1){
mysql_query("UPDATE job SET Pending='$accept'
WHERE ID='5'");
}
else{
mysql_query("DELETE FROM job WHERE ID='5'");
}

В таблице «job» я использую основной столбец автоматического увеличения с идентификатором. Я положил 5 для ID. Таким образом, этот код будет работать только для ожидающего задания, значение которого равно 5. Поэтому моя проблема здесь. Как я могу чередовать это 5 с динамической переменной?

ДЛЯ БОЛЬШЕ ПОМОЩИ ЗДЕСЬ ЯВЛЯЕТСЯ КОДЕКС СТРАНИЦЫ «ОЖИДАНИЯ РАБОТЫ»;

$result1 = mysql_query("SELECT * FROM job ORDER BY ID DESC");
while($row1 = mysql_fetch_array($result1))
{
 $id=$row1['ID'];
 $cat=$row1['Category'];
 $title=$row1['Title'];
 $type=$row1['Type'];
 $desp=$row1['Description'];
 $salary=$row1['Salary'];
 $day=$row1['Day'];
 $month=$row1['Month'];
 $year=$row1['Year'];
 $info=$row1['Contact'];
 $pending=$row1['Pending'];

 $now = time();
 $last_date = strtotime("$year-$month-$day");
 $datediff = $last_date - $now;
 $day_left=ceil($datediff/(60*60*24));
 if($day_left>=0&&$pending==0){
echo "<div class=cat>Job field: $cat
</div>"; echo "<div class=yel2>"; echo "This is a $type time job and we are looking for $title. $desp
"; if ($salary!=0) echo "Salary: $salary
"; echo "Contact info: $info
Last date: $day-$month-$year"; if($day_left==0) echo "
Today is the last day to apply
"; else echo "
$day_left day(s) left
"; echo "ACCEPT Or "; echo "DELETE";
0
добавлено
Просмотры: 1
de
почему вы не храните и не читаете в div $ id?
добавлено автор mtariq, источник
Просто передайте id как переменную url на страницу принятия?
добавлено автор Michael, источник
ПРЕДУПРЕЖДЕНИЕ! В коде содержится уязвимость внедрения SQL - вы передавая необработанный, нефильтрованный, неутвержденный пользовательский ввод непосредственно в строку SQL. SQL-инъекция очень проста в настройке . Рассмотрим переход на PDO или mysqli , поэтому вы можете использовать подготовленные операторы с параметризованными запросами .
добавлено автор Charles, источник

1 ответы

Просто передайте идентификатор вместе с адресом accept.

echo "ACCEPT Or ";

Вы можете захватить идентификатор внутри скрипта accept.php, используя

$post_id = $_GET['id'];

Код потребует незначительных изменений

$accept = intval($_GET['accept']);//safe against sql-injections
$post_id = intval($_GET['id']);
if($accept==1){
mysql_query("UPDATE job SET Pending='$accept'
WHERE ID='$post_id'");
}
else{
mysql_query("DELETE FROM job WHERE ID='$post_id'");
}
2
добавлено
Отличное решение. Я собираюсь попробовать это. Я сообщу, если мне удастся.
добавлено автор Shahriar Kabir, источник
Я очень благодарен вам. Ты такой полезный человек Майкл. :)
добавлено автор Shahriar Kabir, источник