PHP Çoklu koşulları

3 Cevap

Ben bu kolay utanç verici olduğunu biliyorum ama, bu hemen işe sözdizimi hataları elde tutmak, sadece bir form önceden dolgular açılan bir jquery kodu eklenmiş ve form alanını seçmek zaman varsayılan değeri temizleyecektir olamaz. Bir kullanıcı varsayılan değerini değiştirmeden formu gönderdiğinde eğer sonuç olsa, ben benim normal dize sanitations ek olarak varsa görmek gerekir

PHP Aşağıda bu parçasında ben $ fname 2 koşulları çalıştırmak için ama aşağıda, işe yaramayacak gereken biri lütfen yardımcı olabilir

$fname = 'first name';

if (trim($fname) == '') && ($fname != 'first name') {
    $err .= "error";
}else{
    $err .= "all good";
}


For karim79 this code below from your example, exactly like this gives me this error

Fatal Error: Can't use function return value in write context on line 5

<?PHP
$fname = '';

if(empty(trim($fname))) {
    echo "First name is empty";
}
?>

3 Cevap

$fname = 'first name';

if (trim($fname) == '' || $fname != 'first name') {
    $err .= "error";
} else {
    $err .= "all good";
}

Ben kullanmayı tercih strcmp olacaktır:

if (trim($fname) == '' || strcmp($fname,'first name') !== 0) {
    $err .= "error";
} else {
    $err .= "all good";
}

Adın durum önemli değilse, siz boş dize sınamak için strcasecmp instead. Also note you can use empty kullanmayı düşünmelisiniz:

$fname = '';
$fname = trim($fname);
if(empty($fname)) {
    echo "First name is empty";
} else {
    echo "Not empty";
}

Boş kullanırken, aşağıdaki dikkat (dan manual):

Note: empty() only checks variables as anything else will result in a parse error. In other words, the following will not work: empty(trim($name)).

$fname = 'first name';

if (trim($fname) == '' || $fname == 'first name') {
    $err .= "error";
}else{
    $err .= "all good";
}

PS: Ben seni dize boş veya standart değer ise ya bir hata yükseltmek istiyorum üstlendi. Buysa yanlış bana bildirin.

Ben herhangi bir şey için () boş kullanarak tavsiye ETMEM. Bazı zor getirisi 0 boş olduğunu söylüyorum dahil kalıplarını, ve bu nitelikteki şeyler vardır. Bu, ne yazık ki, PHP bir eksikliktir.

Bunun yerine, (aşağıdaki form mesajları varsayar) Bu algoritma deneyin:

<?php
    $err = array();
    // this is for sticklers..with E_STRICT on, PHP
    // complains about uninitialized indexes
    if( isset($_POST['name']) )
    {
       $name = trim($_POST['name']);
    }
    else
    {
       $name = '';
    }

    if( strlen($name) == 0 )
    {
      $err[] = "First name is required.";
    }

    // after validation is complete....
    if( count($err) > 0 )
    {
        echo "There are errors!";
        // probably something more elaborate here, like 
        // outputting an ordered list to display each error
        print_r($err);
    }
    else
    {
        echo "It's all good!";
    }
?>