2016-07-21 6 views
-2

これは私のPHPファイルで、データベースにデータを挿入します。
入力したpmob_numberが10桁未満であることを検証してからデータベースに格納する必要があります。あなたは、サーバー側の検証にstrlen()を使用することができますフォーム入力桁数の確認の検証

<?php 
$servername = "localhost"; 
     $username = "root"; 
     $password = ""; 
     $conn = mysqli_connect ($servername , $username , $password) or die("unable to connect to host"); 
     $sql = mysqli_select_db ($conn,'vcet') or die("unable to connect to database"); 




//code to insert into db... 
$user_name=$_POST['user_name']; 
$roll_number=$_POST['roll_number']; 
$user_batch=$_POST['user_batch']; 
$user_from=$_POST['user_from']; 
$user_year=$_POST['user_year']; 
$user_level=$_POST['user_level']; 
$F_name=$_POST['F_name']; 
$m_name=$_POST['m_name']; 
$g_name=$_POST['g_name']; 
$mob_number=$_POST['mob_number']; 
$addressline1=$_POST['addressline1']; 
$addressline2=$_POST['addressline2']; 
$city=$_POST['city']; 
$pmob_number=$_POST['pmob_number']; 


    $msg=""; 

    $number_valid=$_POST['pmob_number']; 

    if(strlen($number_valid)!=10){ 
     $msg='<span class="error">The number you enteres was not 10 digit long</span>'; 

    }else 
    { 
     echo"valid"; 
    } 



$land_number=$_POST['land_number']; 
$cutoff=$_POST['cutoff']; 
$dept=$_POST['dept']; 
$medium = $_POST['medium']; 
$locality=$_POST['locality']; 
$intrest=$_POST['intrest']; 
$scholar=$_POST['scholar']; 
$income=$_POST['income']; 
$user_caste=$_POST['user_caste']; 
$user_admit=$_POST['user_admit']; 
$user_stay=$_POST['user_stay']; 







$user_info = "INSERT INTO studentinfo"." (user_name,roll_number,user_batch,user_from,user_year,user_level,F_name,m_name,g _name,mob_number,addressline1,addressline2,city,pmob_number,land_number,cutoff,d ept,medium,locality,intrest,scholar,income,user_caste,user_admit, user_stay)". "VALUES ('$user_name', '$roll_number','$user_batch','$user_from','$user_year','$user_level','$F_name','$m_name','$g_name','$mob_number','$addressline1','$addressline2','$city','$pmob_number','$land_number','$cutoff','$dept','$medium','$locality','$intrest','$scholar','$income','$user_caste','$user_admit','$user_stay')"; 
if (!mysqli_query($conn,$user_info)) { die('Error: ' . mysqli_error($conn)); } echo "Your information was added to the database."; 
mysqli_close($conn); 
?> 
+0

@NitinDhomse私たちは常にクライアント側の検証に頼っているとは限りません。ユーザーはクライアント側のスクリプトを迂回してPOST要求を送信することがあります。 –

+0

で行う必要があり –

+0

@nitinの検証は、サーバー側で実行する必要があります。ユーザーの入力を信頼しないでください。 –

答えて

1

EDIT:これはトリックを行う必要があります

$num_length = strlen((string)$pmob_number); 
if($num_length == 10) { 

    $user_info = "INSERT INTO studentinfo"." (user_name,roll_number,user_batch,user_from,user_year,user_level,F_name,m_name,g _name,mob_number,addressline1,addressline2,city,pmob_number,land_number,cutoff,d ept,medium,locality,intrest,scholar,income,user_caste,user_admit, user_stay)". "VALUES ('$user_name', '$roll_number','$user_batch','$user_from','$user_year','$user_level','$F_name','$m_name','$g_name','$mob_number','$addressline1','$addressline2','$city','$pmob_number','$land_number','$cutoff','$dept','$medium','$locality','$intrest','$scholar','$income','$user_caste','$user_admit','$user_stay')"; 
    if (!mysqli_query($conn,$user_info)) { 
     die('Error: ' . mysqli_error($conn)); 
    } 

    echo "Your information was added to the database."; 

    mysqli_close($conn); 

} else { 
    $msg='<span class="error">The number you enteres was not 10 digit long</span>'; 

} 
検証は、クライアント側(ジャバスクリプト/ jqueryの)
+0

彼は本質的に同じロジックを持っています!彼の問題に何か他のものがあります – Matt

+0

私は残念ですが、それでもpmob_numberの桁数を確認せずに直接保存しています。 –

+0

@RajCrkあなたの質問に言及する必要があります。 –

関連する問題