2012-06-08 77 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在結果/輸出頁面中的文本/行/段之間如果SONGNAME的movieName爲空值,那麼結果/輸出的movieName我不應該在那裏放置那些特定的文本/行/段。

例如


ABC宋XYZ電影的流行歌曲。 The ABC歌曲XYZ電影由PQR導演執導。


現在你可以看到在上面的段落中有兩個句子。我想把功能的第一句話,只有當SONGNAME和字段值的movieName是空的,則

  • 應該顯示的第一句話是否和字段值SONGNAME的movieName是空的或不是,即ABC歌曲是XYZ電影的流行歌曲。如果字段值爲SongNameMovieName是空的,那麼它們可以在它們之間留下空格,我知道它可以通過這個函數完成echo $ _POST [「SongName」];

BUT

  • 如果SONGNAME的movieName字段值是空的,即XYZ電影的ABC樂曲由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「a sentence」。$ _ POST ['foo']。「帶有中間的東西。 }'這對我有效。謝謝我想要相同的。 – atif

0

您可以通過三種方法做到這一點。

  1.  

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

    if(!empty($_POST['value1'])) 
    { 
        //... 
    } 
    
  3. 和簡單的方式

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

我有時使用第三種方式,當我與表單提交混淆,但當然第一個和第二個更優雅!