2012-06-08 6 views
4

Я создаю форму, где я использую функцию $ _POST php.

Вот как выглядит моя форма.

form.php

<h1>Songs Movies Form</h1> 
<hr /> 

<form action="songs-movies.php" method="post"> 

Song Name: 
Enter Song Name: <input type="text" name="SongName" size="25" /> 

Enter Movie Name: <input type="text" name="MovieName" size="25" /> 

<input type="submit" value="Submit" name="submit" /> 

</form> 

<br /> 
<a href="/forms/">Back to Forms</a> 
<hr /> 

Теперь я хочу, чтобы отобразить результат SongName и MovieName, поэтому я использовал эхо $ _POST [ "SongName"]; и echo $ _POST ["MovieName"];, который отлично генерирует результат.

Теперь я хочу, чтобы положить эти значения SongName и MovieName между текстом/линией/парой в странице вывода результатов/и если значение SongName или MovieName пусто, то результат/вывод не должен отображать этот конкретный текст/строку/пара, где я поместил эти функции.

, например.


ABC Song является популярной Песня XYZ Movie. The ABC Song из XYZ Movie является управляющим директором PQR.


Теперь вы можете видеть, что в приведенном выше параграфе есть два предложения. Я хочу поставить функцию для первого предложения только тогда, когда значение полого SongName и MovieName пустует затем

  • Он должен показывать первое предложение ли поле значения SongName и MovieName пуст или нет. ABC Song - популярная песня фильма XYZ. Если значения поля SongName и MovieName пустые, то он может оставить пробел между ними, и я знаю, что это можно сделать с помощью этой функции echo $ _POST ["SongName"];.

НО

  • Он не должен отображать первое предложение строку, если значения полей из SongName и MovieName пустые т.е. АВС песня XYZ Movie направляется директором PQR.
+0

Вы можете проверить, установлен ли '$ _POST ['key']' с 'isset ($ _ POST ['key'])', а затем делать все, что вам нравится. – Leri

ответ

11

Я думаю, что вы ищете что-то вроде:

if(!empty($_POST['foo'])) { 
    echo "a sentence".$_POST['foo']." with something in the middle."; 
} 

Это будет проверить, что значение не является пустым, но пустой означает много вещей в PHP, так что вы, возможно, потребуется более конкретно. Например, вы можете проверить простой, если его набор:

if(isset($_POST['foo'])) { 
    echo "a sentence".$_POST['foo']." with something in the middle."; 
} 
+0

Я уже пробовал 'if (isset ($ _ POST ['foo'])) {', но он не работал. – atif

+0

'if (! Empty ($ _ POST ['foo'])) {' Кажется, работает то, что я хотел. – atif

+0

Просто проверив, вы заменили foo своим фактическим именем переменной да? –

2

Вы действительно смутили меня последними 2-3 предложениями.
То, что вы хотите сделать, может быть выполнено с использованием if, elseif и других структур управления.

if ($_POST['MovieName'] AND $_POST['SongName']) 
{ 
    //code 
} 
elseif ($_POST['MovieName']) 
{ 
    //code 
} 
elseif ($_POST['SongName']) 
{ 
    //code 
} 
else 
{ 
    //code 
} 
+1

'empty()' более безопасен, чем вычисление как логическое, поскольку неявный 'isset() 'предотвращает повышение' E_NOTICE', если переменная полностью не определена. – DaveRandom

+0

'if (! Empty ($ _ POST ['foo'])) { echo" предложение ". $ _ POST ['foo']." С чем-то посередине. "; } 'Это сработало для меня. Спасибо, я хотел того же. – atif

0

Вы можете сделать это тремя способами.

  1.  

    if(isset($_POST['value1'])) 
    { 
        //... 
    } 
    
  2.  

    if(!empty($_POST['value1'])) 
    { 
        //... 
    } 
    
  3. и простой способ

    if($_POST('value1')=="") 
    { 
        .... 
    } 
    

Я иногда использую третий способ, когда меня путают с отправкой формы, но, конечно, первая и вторая более элегантные!

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