2012-10-23 3 views
0

У меня есть сайт, на котором пользователь-администратор просматривает строки счетов-фактур, которые были отправлены пользователями, когда они нажимают кнопку «Утвердить счет» из одной из этих строк, это займет их на странице ниже.Если вопрос о статусе с формой отправки php

После того, как пользователь-администратор одобряет этот счет-фактуру, он нажимает кнопку «да» и отправляет в нижней части страницы, которая вводит значение «AUDITED» под столбцом «npc_active» в этой строке. Затем он умножает количество и точки и вставляет общее количество в новую строку в «tally_points» (вместе с идентификатором пользователя и идентификатором продаж). Это все работает нормально, но ...

То, что я пытаюсь сделать, однако, является условием, при котором после проверки продажи он не может быть повторно проверен. т.е. «Этот счет-фактура был проверен», печать должна отображаться после подачи заявки, но она не работает.

Я близко, но не могу понять, в чем проблема. Код, в котором я думаю, что у меня проблема, ниже, полный код страницы находится внизу этого сообщения.

$str ='<form method="post" action="audit_invoice.php"> 
    <font style="font-size:11px;"> 
    <em>Is this invoice approved?<br />'; 
if($approved == "AUDITED") { 
    $str .='Please select carefully as this action cannot be undone.</em> 
    <em>Yes:</em><input type="radio" value="AUDITED" name="npc_active"> <em>No:</em> 
     <input type="radio" value=" " name="npc_active"> 
     <input type="submit" name="submit" value="Submit" /> 
     <input type="hidden" name="submitted" value="TRUE" /> 
    <input type="hidden" name="id" value="' . $id . '" /> 
     </font> 
     </form></tr>'; 
} 
else { 
    $str .='This invoice has been audited'; 
} 
echo $str; 

Если я поставил «==» перед «ПРОВЕРЕННЫМ» будет отображаться с эхом «Счет был проверяемым» в каждом случае, если я ставлю «=» перед «ПРОВЕРЕННЫМ» его будет отображаться кнопка «Да» и кнопка отправки в каждом экземпляре.

+0

особо код. Пожалуйста, разместите только соответствующий код, требующий понимания проблемы. – diEcho

+0

Святое дерьмо, я просто исправил пробелы, потому что блоки устранения неполадок становятся ** ВОЗМОЖНЫ **, когда вы их выстроились правильно. Если вы собираетесь опубликовать гору кода, позаботьтесь о себе и сначала исправьте оправдание. И используйте пробелы вместо вкладок в следующий раз. –

+0

К сожалению, из-за этого – AdamMc

ответ

2

@AdamMC Оператор = используется только при назначении данных.

Вы сравниваете данные, поэтому вы правильно при использовании ==

if($approved == "AUDITED") 

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

, если счет-фактура утверждается, что равнялось бы аудит, который затем вызвал бы его повторить «этот счет была проведена проверка»

Для StackOverflow пользователей: пожалуйста, не спускайте вниз, я не могу комментировать, потому что моя репутация не позволяет этого. Просто пытаюсь помочь

+0

Спасибо за ответ, переменная содержит это: $ approved = $ row [ 'npc_active']; , внутри этого столбца в базе данных будет либо слово AUDITED, либо пустое. – AdamMc

+1

Вы пробовали эхом, чтобы подтвердить, что он держит значение «AUDITED»? – Query

+0

Большое вам спасибо за помощь @TapThatApp! Это получилось пустым, но я понял, что переменная сидит не в том месте, я переместил ее под выражением SELECT вверх по странице, и это сработало. – AdamMc

Смежные вопросы