2013-02-14 71 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