2015-05-04 94 views
0

我的PHP知識有限,我需要更改表單中的字段 - 從強制到可選 - EMAIL FIELD將必填字段更改爲可選

下面是函數代碼:

function apostherapy_leads_form($options) { 

$defaults = array(
'id'   => 'frmLead' . rand(10, 99), 
'title'  => '', 
'msg_success' => 'תודה רבה', 
'msg_failure' => 'אירעה שגיאה. נא לנסות שוב. תודה', 
'url'   => 'http://leads.apostherapy.co.il/api/receiver.asp', 
'campaign'  => '', 
'source'  => get_bloginfo('name', 'display'), 
'url_success' => '', 
'url_failure' => '', 
'placeholders' => false, 
'with_join' => false, 
'ajax'   => true, 
'label_name' => 'שם מלא', 
'label_phone' => 'טלפון', 
'label_email' => 'אימייל', 
'label_join' => 'הנני מאשר קבלת חומר פרסומי מאפוסתרפיה', 
'label_send' => 'שלח', 
); 

$defaults['name'] = $defaults['id']; 
$options = !empty($options) ? array_merge($defaults, $options) : $defaults; 
ob_start(); 

if (!empty($options['title'])): ?><h2><?= $options['title'] ?></h2><?php endif; ?> 
<div class="leads<?php if ($options['ajax']): ?> ajax<?php endif; ?>"> 
<p class="success"><?= $options['msg_success'] ?></p> 
<p class="failure"><?= $options['msg_failure'] ?></p> 
<form id="<?= $options['id'] ?>" name="<?= $options['name'] ?>" action="<?= $options['url'] ?>" method="post"> 
    <input type="hidden" id="nCampaignID" name="nCampaignID" value="<?= $options['campaign'] ?>"> 
    <input type="hidden" id="sSource" name="sSource" value="<?= $options['source'] ?>"> 
    <?php if (!empty($options['url_success'])): ?><input type="hidden" id="sSuccessRedirURL" name="sSuccessRedirURL" value="<?= $options['url_success'] ?>"><?php endif; ?> 
    <?php if (!empty($options['url_failure'])): ?><input type="hidden" id="sFailedRedirURL" name="sFailedRedirURL" value="<?= $options['url_failure'] ?>"><?php endif; ?> 

    <p> 
    <?php if (!$options['placeholders']): ?><label for="sFullName"><?= $options['label_name'] ?></label><?php endif; ?> 

    <input name="sFullName"<?php if (!$options['placeholders']): ?> id="sFullName"<?php endif; ?> type="text" value="" maxlength="30"<?php if ($options['placeholders']): ?> placeholder="<?= $options['label_name'] ?><?php endif; ?>"> 
    </p> 
    <p> 
    <?php if (!$options['placeholders']): ?><label for="sPhone"><?= $options['label_phone'] ?></label><?php endif; ?> 
    <input name="sPhone"<?php if (!$options['placeholders']): ?> id="sPhone"<?php endif; ?> type="tel" value="" maxlength="11"<?php if ($options['placeholders']): ?> placeholder="<?= $options['label_phone'] ?><?php endif; ?>"> 
    </p> 
    <p> 
    <?php if (!$options['placeholders']): ?><label for="sEmail"><?= $options['label_email'] ?></label><?php endif; ?> 

    <input name="sEmail"<?php if (!$options['placeholders']): ?> id="sEmail"<?php endif; ?> type="email" value="" maxlength="50"<?php if ($options['placeholders']): ?> placeholder="<?= $options['label_email'] ?><?php endif; ?>"> 
    </p> 
    <p> 
    <input type="submit" class="clsButton" value="<?= $options['label_send'] ?>"> 
    <?php if ($options['with_join']): ?><label for="sComments" class="join-newsletter"><input type="checkbox"checked='checked' name="sComments"<?php if (!$options['placeholders']): ?> id="sComments"<?php endif; ?> value="הירשם לניוזלטר קבל עדכונים למייל"><span><?= $options['label_join'] ?></span></label><?php endif; ?> 
    </p> 
</form> 
</div> 
<?php 
return ob_get_clean(); 
} 
add_shortcode('leads_form', 'apostherapy_leads_form'); 

正如我所說的 - 我只是想電子郵件字段從強制改爲可選

我怎樣才能改變呢?

感謝

+2

該字段是必填字段? –

+0

也請包括處理html元素的代碼。那麼我們可以讓它成爲可選的。讓我們看看代碼 –

+0

嗨 - 我更新了我的問題,包括完整的功能 - 我希望它能幫助你 - 謝謝 – Yaron123

回答

-1

我假設它是因爲這是檢查提交的數據的PHP代碼,因爲沒有在這個HTML代碼是將其定義爲必填字段是強制性的。

因此,您需要向我們展示處理它的PHP。

這可能是這樣的:

if(!isset($_POST['sEmail'])){echo "error";} 

你只是刪除相關部分。

+0

你怎麼這麼確定? –

+0

我從來沒有說過,我確信它,我說「我假設」。我需要看看是什麼導致這個字段是強制性的,因爲它不是這個代碼,對嗎? –

+0

你不應該在這裏假設。 –