php
  • validation
  • checkbox
  • radio-button
  • 2013-01-14 30 views 0 likes 
    0

    我已經準備好驗證號碼,電子郵件和消息等。如何驗證checkbuttons&radiobuttons

    我現在的問題是如何驗證無線電/檢查btn。

    這是我如何驗證等消息:

    // Validates msg 
    
    if (!isset($_POST[$field]) || empty($_POST['message'])) { 
        $error_msg .= " "; 
        $fieldStatusMessage = 'style="border:1px solid #F00"'; 
    } 
    else { 
        $fieldStatusEmail = ''; 
    } 
    

    將是有益的,如果有人可以解釋或告訴我。我認爲它與我現在正在做的事情非常接近?

    +0

    有幾種方式,這取決於你的複選和單選按鈕的值因爲你可以將它們作爲字符串或數字。此外,你的例子只驗證消息不是空的......沒有別的。取決於可能包含的惡意代碼的含義。 – diggersworld

    +0

    是的,我知道,我只是在檢查「如果不是空的」驗證,而不是在按鈕/收音機BT上的消息。 – M3o

    回答

    1

    你可以做類似下面

    例1

    PHP

    <?php 
        if($_Post[]) { 
         if($_POST['list'] == -1) 
           echo 'Please select one on the List'; 
         else { 
           ............ 
         } 
    } 
    ?> 
    

    HTML

    <form method="post"> 
    <select name="list"> 
         <option value="-1">Select One</option> 
         <option value="1">One</option> 
         <option value="2">Two</option> 
    </select> 
    <input type="submit" name="submit"> 
    </form> 
    

    例2

    HTML

    <form name="frm1" action="action.php" method="post"> 
        Active ? 
        <input type="radio" name="myrdo" value="Y" /> Yes 
        <input type="radio" name="myrdo" value="N" /> No 
        <br /> 
        Education: 
        <input type="checkbox" name="mychk" value="G" /> Graduate 
        <br /> 
        Country: 
        <select name="country"> 
         <option value="" selected="selected">Select</option> 
         <option value="1">USA</option> 
         <option value="2">UK</option> 
         <option value="3">Canada</option> 
        </select> 
        <br /> 
        <input type="submit" name="btnSubmit" value="Submit Form" /> 
    </form> 
    

    PHP

    if($_SERVER['REQUEST_METHOD'] == 'POST'){ 
        $error_msg = array(); 
        if(!isset($_POST['myrdo'])){ 
         $error_msg[] = "No radio buttons were checked."; 
        } 
        if(!isset($_POST['mychk'])){ 
         $error_msg[] = "Graguate was checked"; 
        } 
        if(!isset($_POST['country'])){ 
         $error_msg[] = "No country as selected."; 
        } 
    
        if(isset($error_msg) && count($error_msg) == 0){ 
         // do some form processing 
        } 
        else{ 
         // redirect to the form again. 
        } 
    } 
    

    Read more

    1

    對於一個複選框,如果用戶選中它,你將有一個$ _ POST [ 'checkboxName']等於 「上」。如果用戶取消選中它,$ _POST ['checkboxName']將不存在。

    對於一個單選按鈕,你將有一個$ _ POST [「radioName」]等於值選擇(HTML attribut值)

    +0

    聽起來很有希望,你能解釋一下嗎? – M3o

    0
    // if not checked consider FALSE 
    $checkbox = (empty($_POST['checkbox_name'])) ? FALSE : TRUE; 
    
    // if not selected consider FALSE otherwise use value from HTML. 
    $radio = (empty($_POST['radio_name'])) ? FALSE : $_POST['radio_name']; 
    
    相關問題