2016-03-29 63 views
0

我已經在頂部提供了預標籤,以便我可以看到什麼值正在進行,當我點擊ragister按鈕時,所有值都是正確的,除了業餘愛好,因爲它給予「在「爲什麼這樣,請讓我知道,我是新來的PHP,請儘可能詳細地解釋我。問題在業餘愛好,因爲無法使用PHP獲取選定的值

<?php 

$error_array = array(); 
$fname = $lname = $email = $dob = $Mchecked = $Fchecked = $hobbies =""; 

if(isset($_POST["sbt_save"])) 
{ 
echo '<pre>'; print_r($_POST); echo "</pre>"; 
    if($_POST['fname']=="") 
    {   
     $err ="Please Enter your first name"."<br>"; 
     array_push($error_array,$err); 
    } 
    else 
    { 
     $fname = test_input($_POST['fname']); 
    } 

    if($_POST['lname']=="") 
    { 
     $err ="Please Enter your last name"."<br>"; 
     array_push($error_array,$err); 
    } 
    else 
    { 
     $lname = test_input($_POST["lname"]); 
    } 

    if($_POST['email']=="") 
    {  
     $err ="Please Enter your email"."<br>"; 
     array_push($error_array,$err); 
    } 
    else 
    { 
     $email = test_input($_POST["email"]); 
    } 

    if($_POST['dob']=="") 
    { 
     $err ="Please Enter your date of birth"."<br>"; 
     array_push($error_array,$err); 
    } 
    else 
    { 
     $dob = test_input($_POST["dob"]); 
    } 

    if(!isset($_POST["gender"])) 
    { 
     $err ="Please select gender"."<br>"; 
     array_push($error_array,$err); 
    } 
    else 
    { 
     $gender = $_POST["gender"]; 
     if ($gender == "Male") 
     { 
      $Mchecked = "checked"; 
     } 
     else if ($gender == "Female") 
     { 
      $Fchecked = "checked"; 
     } 
    } 

    if(!isset($_POST['hobbies'])) 
    { 
     $err ="Please Enter your hobbies"."<br>"; 
     array_push($error_array,$err); 
    } 
    else 
    { 
     $hobbies = test_input($_POST['hobbies']); 
    } 

} 


function test_input($data) 
{ 
    $data = trim($data); 
    $data = stripslashes($data); 
    $data = htmlspecialchars($data); 
    return $data; 
} 


?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Ragistration Form</title> 
<link rel="stylesheet" type="text/css" href="ragistration_form.css"> 
<script src="jquery-2.2.1.min.js"></script> 
<script> 
/* 
$(document).ready(function(event) 
{  

    $(".sbt_button").click(function(event) 
    {   
     var error_arr = [];    
     var email_value = $("#email").val();      
     var position_of_at = email_value.indexOf('@');   
     var position_of_dot = email_value.lastIndexOf('.'); 



     if($("#fname").val() == null || $("#fname").val() == "") 
     { 
      var err = "First Name"; 
      error_arr.push(err); 
     } 

     if($("#lname").val() == null || $("#lname").val() == "") 
     { 
      var err = "Last Name "; 
      error_arr.push(err); 
     } 
     if(position_of_at == -1 || position_of_dot == -1 || (position_of_at + 2) >= position_of_dot) 
     { 
      var err = "Email "; 
      error_arr.push(err); 
     } 

     if($("#dob").val() == null || $("#dob").val() == "") 
     { 
      var err = "Date of Birth "; 
      error_arr.push(err); 
     } 

     if(!$("input[type='radio']").is(":checked")) 
     { 
      var err = "Gender "; 
      error_arr.push(err); 
     } 

     if(!$("input[type='checkbox']").is(":checked")) 
     { 
      var err = "Hobbies "; 
      error_arr.push(err); 
     } 


     if(error_arr.length !=0) 
     { 
      event.preventDefault(); 
      alert(error_arr); 
     }   
    }); 
}); 
*/ 
</script> 
</head> 
<body> 
<form class="form" name="myForm" action="" method="post"> 
<table> 
<tr> 
<p class="heading">Ragistration Form</p> 
</tr> 

<?php 
if($error_array !="") 
{ 
    foreach($error_array as $value) 
    { 
     echo "<tr><td> ". $value. "</td></tr>"; 
    } 
} 
?> 

<tr> 
<td class="field_Name">First Name :<b style="color:red">*</b></td> 
<td><input type="text" name="fname" id="fname" class="inputfield_Name" /></td> 
</tr> 
<tr> 
<td class="field_Name">Last Name :<b style="color:red">*</b></td> 
<td><input type="text" name="lname" id="lname" class="inputfield_Name" /></td> 
</tr> 
<tr> 
<td class="field_Name">Email :<b style="color:red">*</b></td> 
<td><input type="text" name="email" id="email" class="inputfield_Name" /></td> 
</tr> 
<tr> 
<td class="field_Name">Date of Birth :<b style="color:red">*</b></td> 
<td><input type="date" name="dob" id="dob" class="inputfield_Name" /></td> 
</tr> 
<tr> 
<td class="field_Name">Gender :<b style="color:red">*</b></td> 
<td><input type="radio" name="gender" value="Male"class="inputfield_Name" <?php echo $Mchecked;?>/>Male 
    <input type="radio" name="gender" value="Female" <?php echo $Fchecked;?> />Female</td> 
</tr> 
<tr> 
<td class="field_Name">About Yourself :</td> 
<td><textarea name="abt" class="inputfield_Name"$></textarea></td> 
</tr> 
<tr> 
<td class="field_Name">Hobbies :<b style="color:red">*</b></td> 
<td><input name="hobbies" type="checkbox" id="hobbies" class="inputfield_Name" />Cricket 
    <input name="hobbies" type="checkbox" />Singing 
    <input name="hobbies" type="checkbox" />Travling</td> 
<tr> 
<td></td> 
<td> 
    <input name="hobbies" type="checkbox" class="inputfield_Name"/>Writing 
    <input name="hobbies" type="checkbox" />Teaching 
    <input name="hobbies" type="checkbox" />Driving 
</td> 
</tr> 
<tr> 
<td> 
</td> 
<td><input type="submit" value="Ragister" name="sbt_save" class="sbt_button"/></td> 
</td> 
</tr> 
</table> 
</form> 
</body> 
</html> 

回答

2

您需要添加值屬性的複選框元素:

<tr> 
<td class="field_Name">Hobbies :<b style="color:red">*</b></td> 
<td><input name="hobbies" value="cricket" type="checkbox" id="hobbies" class="inputfield_Name" />Cricket 
    <input name="hobbies" value="singing" type="checkbox" />Singing 
    <input name="hobbies" value="travelling" type="checkbox" />Travling</td> 
<tr> 
<td></td> 
<td> 
    <input name="hobbies" value="writing" type="checkbox" class="inputfield_Name"/>Writing 
    <input name="hobbies" value="teaching" type="checkbox" />Teaching 
    <input name="hobbies" value="driving" type="checkbox" />Driving 
</td> 
</tr> 
+0

感謝名單,@Jamkelvl ......還有一兩件事是有沒有其他簡單的方法驗證在「性別」作爲我」米無法理解這....在我的代碼 – Shanky

+0

此鏈接顯示一個類似於你的形式和討論驗證。也許這會有所幫助。 [PHP表單驗證](http://www.w3schools.com/php/php_form_validation.asp) – lovermanthing

+0

您是否試圖驗證性別單選按鈕是否已被選中?如果是這樣,它看起來像你試圖從jQuery推到一個PHP數組,這是不可能的。 PHP是服務器端語言,jQuery是客戶端。如果你想覆蓋那些沒有啓用javascript的用戶,你只需要用jQuery或者PHP或者兩者都進行驗證。 –

相關問題