2010-01-03 62 views
0

我用下面的代碼添加值PHP停止傳遞null值TP MySQL的

$debdes = $_POST['debdes']; 
$debamt = $_POST['debamt']; 
$crdes = $_POST['crdes']; 
$cramt = $_POST['cramt']; 
$date = $_POST['date']; 
include_once ("db.php"); 

$ucbook = "INSERT INTO cbook(debdes,debamt,crdes,cramt,date) VALUES ('$debdes','$debamt','$crdes','$cramt','$date');"; 

現在我想,如果「debamt」充滿「debdes」不應該是空的,這樣如果「cramt」是填充然後按「提交」按鈕時,「crdes」不應該是空的,所以如果有人按下提交按鈕,它會顯示一條消息,首先填寫「debdes」。

回答

1
if(! empty($_POST['debdes']) && empty($_POST['debdes'])) 
    die('fill "debdes" first'); 

也是如此cramt和crdes。

+0

這幫助了我很多感謝 – 2010-01-04 16:58:11

3

你正在尋找的是一些基本的表單驗證:

$debdes = $_POST['debdes']; 
$debamt = $_POST['debamt']; 
$crdes = $_POST['crdes']; 
$cramt = $_POST['cramt']; 
$date = $_POST['date']; 
include_once ("db.php"); 

$errors = array(); 

// Check for error conditions 
if(!empty($debamt) && empty($debdes)) { 
    $errors[] = 'Fill also debdes'; 
} 

if(!empty($cramt) && empty($crdes)) { 
    $errors[] = 'Fill also crdes'; 
} 

// If no errors were found, execute the query 
if(count($errors) == 0) { 
    $ucbook = "INSERT INTO cbook(debdes,debamt,crdes,cramt,date) VALUES  ('$debdes','$debamt','$crdes','$cramt','$date');"; 
} else { 
    // If there are errors, display them: 
    echo implode('<br />', $errors); 
} 
1
$debdes = $_POST['debdes']; 
$debamt = $_POST['debamt']; 
$crdes = $_POST['crdes']; 
$cramt = $_POST['cramt']; 
$date = $_POST['date']; 

if (!empty($debamt) && empty($debdes)) { 
    show_error('debdes'); 
} 

if (!empty($cramt) && empty($crdes)) { 
    show_error('drdes'); 
} 

function show_error($string) { 
    echo "Value '$string' must be filled."; 
    exit; 
} 

include_once ("db.php"); 

$ucbook = "INSERT INTO cbook(debdes,debamt,crdes,cramt,date) 
      VALUES ('$debdes','$debamt','$crdes','$cramt','$date');"; 
2

在以前的形式本身,你可以有「提交」按鈕,觸發一個javascript函數如下: -

function validate(){ 
    var debamt=document.*form_name*.debamt.value; 
    var debdes=document.*form_name*.debdes.value; 
    var error_message; 
    if(debamt!=null && debdes==null){  
     error_message = 'Please fill debdes value first!!!'; 
    } 
    var cramt=document.*form_name*.cramt.value; 
    var crdes=document.*form_name*.crdes.value; 
    if(cramt!=null && crdes==null){  
     error_message = '\nPlease fill crdes value first!!!'; 
    } 
    alert(error_message); 
} 
+1

是的,但只除了服務器端檢查。永遠不要依靠客戶去做任何重要的事情。 – Rob 2010-01-03 14:34:02