2014-02-12 3 views
0

У меня возникают проблемы с тем, чтобы этот оператор if работал правильно. Я не хочу, чтобы поле POST «reference_nr» содержало пустое значение или числовое значение. Это мой код:PHP SQL Разрешить пустое или числовое поле ввода

if(!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$_POST['faktura_email'])|| 
    !is_numeric($_POST['skadesnummer'])|| 
    !is_numeric($_POST['faktura_aar'])|| 
    (strlen($_POST['faktura_aar']) > 4)|| 
    !is_numeric($_POST['faktura_nr'])|| 
    (strlen($_POST['faktura_nr']) > 3)|| 
    !is_numeric($_POST['debitor'])|| 
    !is_numeric($_POST['reference_nr'])){ 

     print "Query fail"; 

    } else { 

     print "Query success"; 

    } 

Надеюсь, вы поймете мой вопрос. Имейте хороший день :)

ответ

0

вы вы хотите, чтобы быть числовым is_numeric() делает работу, если вы хотите его пустым Исеть() делает это так:

if(is_numeric($_POST['reference_nr']) || isset($_POST['reference_nr'])){ 
    echo "referece_nr is numeric or empty"; 
}else{ 
    echo "it's not "; 
} 
+0

Спасибо, человек, который сработал правильно :) –

+0

вы очень приветствуете;) – ImadOS

0

Вы должны проверить, установлены ли параметры перед тем, как вы попытаетесь получить к ним доступ. Вы можете использовать

if(isset($_POST['param_name'])) 
    $val = $_POST['param_name']; 
else 
    $val = null; 

Затем выполните любую другую проверку данных по переменным.

+0

я уже сделал, но я только разместил если еще заявление :) –

 Смежные вопросы

  • Нет связанных вопросов^_^