2015-03-10 4 views
0

Итак, у меня есть эта страница, где есть цены и прочее. Но в конце вы можете дать скидку в виде процента.Показать текст, если POST не пуст

Этот процент затем отправляется POST на новую страницу. А вот мне нужно, чтобы показать что-то вроде «вы давали скидку в размере 50%.

Но если нет скидка не предоставляется и процент поле пустым в POST, то он не должен отображаться текст.

Прямо сейчас я получил что-то вроде этого

$procent .= $_POST['percent_discount']; 



$text .= 'You have recived a discountf of'; 

$test = $text . $procent; 

Но это не отображает текст ни на что. Любую идею о том, как получить его, чтобы показывать только текст и процент, если процент отправляется в POST?

+3

Используйте 'isset()' или 'empty()' или тернарный оператор. –

+0

* Mornin 'Ralph * Еще один прекрасный вторник по соседству, а @ Фред-и-? –

+0

* Морнин Сэм! * - Да, конечно! @JayBlanchard - * Это вторник?! * –

ответ

1

Вы хотите использовать функцию empty(), чтобы увидеть, если i т был установлен, или вы можете также использовать Исеть()

if (empty($_POST)) 
     //do your no post thing 
else 
     //do your post thing 

//using isset 
if (isset($_POST['percent_discount']) 
     //post is set 
else 
     //post is not set 
4

Вы можете использовать isset() для проверки значения. Как так:

if(isset($_POST['percent_discount'])){ 
    // do something if its set here 
}else{ 
    // do something if its not set 
} 

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

$myString = (isset($_POST['percent_discount']) ? "You received " .$_POST['percent_discount'] . "!" : "We don't like you. No discount for you!"); 

и т.д ...

Надеется, что это помогает!

+1

При условии тройной, приятной работы. – Zarathuztra

+0

Мне очень нравится короткая версия, которую вы получили. это то, что мне нужно, потому что я могу отображать результат, вызывая переменную (ее в mPDF), но с этим, она все еще отображает «Вы получили!». если никакая скидка не дает какой-либо идеи? –

+0

Попробуйте заменить isset() на! Empty() – LokiSinclair

0

Используйте инструкцию if, чтобы проверить, пусто ли ваше поле для сообщения, прежде чем добавлять текст к вашему выводу.

if(!empty($_POST['percent_discount'])) { 
    $text .= 'You have recived a discountf of' . $procent; 
} 

Это будет работать, если всегда существует завершающее поле, если есть вероятность того, что поле не может иногда быть установлено на все, что вы можете добавить еще один чек, используя isset

if(isset($_POST['percent_discount']) && !empty($_POST['percent_discount'])) { 
    $text .= 'You have recived a discountf of' . $procent; 
} 

Надежда, что помогает

Dan

0
$procent = isset($_POST['percent_discount'])? $_POST['percent_discount'] : 0; 
+1

Хотя этот фрагмент кода может решить вопрос, [включая пояснения] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин вашего предложения кода. – Bono

0

Вы должны поставить условия, когда напечатать текст или Когда не

, например

if(isset($_POST['percent_discount'])) 
{ 
    echo 'This is text, it\'ll be shown if the discount is given.'; 
} 

Используя условия, он будет показывать только текст, когда предоставляется скидка.

Надеюсь, это поможет :)

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