''不是xsd:date(PHP)类型的有效值

时间:2016-01-04 18:52:17

标签: php

我有一个HTML表单,发布所有收集的信息(即当用户输入详细信息并点击提交时),它将发布到PHP脚本进行处理。问题是,当我没有为日期字段传递任何值时,我收到以下错误。

  

错误:''不是xsd:date

类型的有效值

如何让我的帖子接受字段的空值并成功提交?

Form.html

<form class="form-horizontal" action="CandidateCreationPage.php" method="post" enctype="multipart/form-data">
<table class="form-table">
 <tbody>
<tr>
 <td class="label-cell"><label>First Name <span class="required-input letters-only">*</span></label></td>
<td>
<input class="required-field letters-only" type="text" name="firstname" id="first-name" maxlength="25" />
 </td>
   </tr>
<tr>
<td class="label-cell"><label>Last Name <span class="required-input">*</span></label></td>
 <td>
 <input class="required-field letters-only" type="text" name="lastname" id="last-name" maxlength="30" />
 </td>
 </tr>
<tr>
<td class="label-cell"><label>How Did You Learn of This Opportunity? <span class="required-input">*</span></label></td>
<td>
 <select class="required-field" id="hear-this-opportunity" name="hearthisopportunity">
  <option value="">--None--</option>
<option value="Kijiji">Kijiji</option>

</select>
 </td>
 </tr>
  <tr>
<td class="label-cell"><label>Please Specify (If Applicable) <span id="please-specify-asterisk" class="required-input hide">*</span></label></td>
 <td>
<input class="letters-only" type="text" name="pleasespecify" id="please-specify" maxlength="50" />
 </td>
</tr>
 <tr>
 <td class="label-cell"><label>Status</label></td>
  <td>
<select id="status" name="status">
  <option value="">--None--</option>
<option value="Full-time">Full-time</option>     
 </select>
     </td>
    </tr>
  <tr>
 <td class="label-cell"><label>Have You Worked With Us Before?</label></td>
  <td>
<select id="worked-previously" name="workedpreviously">
 <option value="">--None--</option>
 <option value="Yes">Yes</option>
 <option value="No">No</option>
 </select>
 </td>
 </tr>
<tr>
<td class="label-cell"><label>When (If Applicable)</label></td>
<td>
<input type="text" name="workedpreviouslywhen" id="worked-previously-when" />
 </td>
</tr>
 <tr>
<td class="label-cell"><label>Available to Start</label></td>
 <td>
 <input type="text" name="availabletostart" id="available-to-start" />
</td>
</tr>
<tr>
 </form>
</body>
</html>

post.php中

if(isset($_POST['submit']))
{
try{
$fields = array (
'First_Name__c' => $_POST['firstname'],
'Last_Name__c' => $_POST['lastname'],
'Primary_contact_number__c'=>$_POST['primarycontactnumber'],
'Secondary_contact_number__c'=>$_POST['secondarycontactnumber'],
'Email__c'=> $_POST['email'],
'How_did_you_learn_of_this_Opportunity__c'=>$_POST['hearthisopportunity'],
'Please_Specify__c'=>$_POST['pleasespecify'],
'Status__c'=>$_POST['status'],
'Have_you_worked_with_us_before__c'=>$_POST['workedpreviously'],
'When__c'=>$_POST['workedpreviouslywhen'],
    'Available_to_start__c'=>$_POST['availabletostart'],);

1 个答案:

答案 0 :(得分:0)

作为替代方法您可以从第一个数组声明中删除date相关variables,然后您可以检查date变量是否为空并将其附加到{{1} } array。

fields

$fields = array ( 'First_Name__c' => $_POST['firstname'], 'Last_Name__c' => $_POST['lastname'], etc }数组$fields中移除,如:

variables

然后让我们检查,并将变量附加到数组中,如果它们不为空:

 ["When__c"]=> 
 ["Available_to_start__c"]