2013-02-14 74 views
-1

我遇到了這種簡單的PHP表單處理問題。如果語句檢查性別

我的變量是:

<?php 
$first = $_POST['first']; 
$last = $_POST['last']; 
$gender = $_POST['gender']; 
?> 

<?php 
if($_POST['submit'] == "submit") 
{ 
$errorMessage = " "; 
if(empty($_POST['$first'])) { 
    $errorMessage .= "<li>You forgot to enter your first name!</li>"; 
} 
if(empty($_POST['$last'])){ 
    $errorMessage .= "<li>You forgot to enter your last name!</li>"; 
} 
if(isset($_POST['$gender'] == 'Male')) 
    echo '<p><b>Hello, Mr ".$first."\\".$last." welcome to this weeks lesson on  PHP  programming!</b></p>'; 
}else { 
    echo '<p><b>Hello Ms. ".$first."\\".$last." welcome to this weeks lesson on PHP programming!</b></p>'; 
} 

?> 

我想檢查我的表單中選擇男性或女性用戶。無論他們選擇哪一個,我都需要與先生或女士以及他們的名字和姓氏重複發表聲明,歡迎參加本週的PHP編程課程。

我從收音機選擇拉$gender。我在第三條if語句中不斷收到錯誤。我真的可以用某人幫助這個。先謝謝你。

+1

只是個開始,'$ _ POST [「$第一」]'應該是'$ _ POST [「第一」]'等... – 2013-02-14 21:11:16

回答

3

你寫的:

if(isset($_POST['$gender'] == 'Male')) 

成爲:

if(isset(some_boolean_value)) 

這是一個錯誤,因爲isset()需要一個變量來檢查。你大概的意思是:

if(isset($_POST['gender']) && $_POST['gender'] == 'Male') 
+0

它實際上仍然說是有一個錯誤。嘆。我真的一直在努力。謝謝你的幫助,但你看到我做錯了什麼嗎? – 2013-02-14 21:14:53

+0

是的,安東尼指出你錯過了大括號。 – nickb 2013-02-14 21:15:14

+0

這是我得到if(isset($ _ POST ['$ gender'])&& $ gender =='Male'){ \t \t echo'

您好,先生「。$ first。」\\「。$持續。」歡迎參加本週的PHP編程課程!

'; \t} else { \t echo'

Hello女士「。$ first。」\\「。$ last。」歡迎參加本週的PHP編程課程!

'; \t} – 2013-02-14 21:16:27

0

你misssing一個{後 '男'))

if(isset($_POST['$gender'] == 'Male')) { 
echo '<p><b>Hello, Mr ".$first."\\".$last." welcome to this weeks lesson on  PHP   programming!</b></p>'; 
}else { 
echo '<p><b>Hello Ms. ".$first."\\".$last." welcome to this weeks lesson on PHP programming!</b></p>'; 
} 

嘗試這樣的事情

if(isset($_POST['gender'])){ 
if($_POST['gender'] == "male"){ 
    $gender= "Male"; 
}elseif($_POST['gender'] == "female"){ 
    $gender= "Female"; 
} 
if($gender== 'Male') { 
echo '<p><b>Hello, Mr ".$first."\\".$last." welcome to this weeks lesson on  PHP  programming!</b></p>'; 
}elseif($gender== 'Female') { 
echo '<p><b>Hello Ms. ".$first."\\".$last." welcome to this weeks lesson on PHP programming!</b></p>'; 
} 
}else { 
//no Gender set 
} 

,你也可以做這樣的,如果你喜歡

if(isset($_POST['gender'])){ 
if($_POST['gender'] == "male"){ 
    echo '<p><b>Hello, Mr ".$first."\\".$last." welcome to this weeks lesson on  PHP  programming!</b></p>'; 
}elseif($_POST['gender'] == "female"){ 
    echo '<p><b>Hello Ms. ".$first."\\".$last." welcome to this weeks lesson on PHP programming!</b></p>'; 
} 

}else { 
//no Gender set 
} 

你也可以回頭看看你的錯誤檢查

$errorMessage = " "; 

if(empty($first)) { 
$errorMessage .= "<li>You forgot to enter your first name!</li>"; 
} 
if(empty($last)) { 
$errorMessage .= "<li>You forgot to enter your last name!</li>"; 
} 
+0

好的,那麼我怎麼會回顯出如

的回覆消息?你好先生(如果他們是男性)$ first $ last,歡迎參加本週的PHP編程課

然後反之亦然如果$ gender是女?我感謝您的幫助。謝謝。 – 2013-02-15 00:37:14

+0

好的,所以我已經編輯我的答案給你一個你可以做的例子 – Anthony 2013-02-15 01:33:48

+0

非常感謝你安東尼。你給我幾個好主意。我會嘗試其中的一些,看看我想出了什麼。 – 2013-02-15 12:37:33