kết quả từ 1 tới 5 trên 5

Help kiểm tra dữ liệu trong input text PHP

  1. #1
    Ðến Từ
    TP. Hồ Chí Minh
    Thành Viên Thứ: 304165
    Giới tính: Nam
    Bài gửi
    70

    Unhappy Help kiểm tra dữ liệu trong input text PHP

    Mọi người giúp mình với , mình muốn cộng điểm tiềm năng vào Nội công và Ngoại công , nhưng nó lại bị loại gớ ngân , mình có 200 điểm tiềm năng mình nhập Nội Công 199 điểm và Ngoại Công là 199 điểm vậy mà nó công luôn 398 điểm , rồi điểm tiềm năng âm luôn -198 điểm luôn , ai giúp mình với khi nhập nó phải báo ko đủ điểm tiềm năng ko thể cộng tiếp .
    cảm ơn mọi người nhiều !!
    Quick reply to this message Trả lời       

  2. #2
    Ðến Từ
    Hà Nội
    Thành Viên Thứ: 358027
    Bài gửi
    1.716

    Reply: Help kiểm tra dữ liệu trong input text

    cái này có thể do code xử lý lúc bạn nhập form

    biến diem_noi_cong, diem_ngoai_cong bạn không thiết lập điều kiện

    diem_tiem_nang = diem_tiem_nang - (diem_noi_cong + diem_ngoai_cong) = 200 - (199 + 199) = -198

    đặt điều kiện kiểm tra trước khi submit form, không thỏa mãn không cho submit và đưa ra thông báo

    (0 =< diem_noi_cong, diem_ngoai_cong < diem_tiem_nang) && (diem_noi_cong + diem_ngoai_cong =< diem_tiem_nang)

  3. #3
    Ðến Từ
    TP. Hồ Chí Minh
    Thành Viên Thứ: 304165
    Giới tính: Nam
    Bài gửi
    70

    Reply: Help kiểm tra dữ liệu trong input text

    Bạn xem giúp mình với tks bạn nhiều.
    Code khung nhập Nội và Ngoại
    Mã:
    <div class="right_content_line">                            <div class="right_content_line1">
                                   Cường Lực</div>
                                <div class="right_content_line2">
                                    <input name="cuongluc" value="<?php echo $cuonglucz ?>" maxlength="6" id="cuongluc"  type="text">&nbsp;&nbsp;<? echo $st; ?>
                                </div>
                            </div>
                                <div class="right_dot"></div>
                                <div class="right_content_line">
                                <div class="right_content_line1">
                                    Nội Lực</div>
                                <div class="right_content_line2">
                                    <input name="noiluc" value="<?php echo $noilucz ?>" maxlength="6" id="noiluc"  type="text">&nbsp;&nbsp;<? echo $sp; ?>
                                </div>
                            </div>
    Code xữ lý
    //update Ngoại
    if($cuonglucz){
    $query = "select charname,str,points,charguid from tlbbdb.t_char where charguid='$charguid'";
    $sttchar=$row["charguid"];
    $tenchar=$row["charname"];
    if($cuonglucz<=$points){
    $query = "
    UPDATE t_char SET points = points - $cuonglucz WHERE charguid = $charguid ";
    $check = $tlbb_web->query($query);
    $query = " UPDATE t_char SET str = str + $cuonglucz WHERE charguid = $charguid ";
    $check = $tlbb_web->query($query);
    echo'<center><font color="red"><b>đã cộng thành công: <font color="blue">'.$cuonglucz.'</font></font><br /></center>';}
    else{
    echo'<center><font color="red"><b><br />bạn đã nhập <font color="blue">'.$cuonglucz.'</font> cường lực lớn hơn số points hiện có : <font color="blue">'.$points.'</font> point hãy nhập lại !</font>
    </center>';}}
    //update Nội
    if($noilucz){
    $query = "select charname,spr,points,charguid from tlbbdb.t_char where charguid='$charguid'"; {
    $sttchar=$row["charguid"];
    $tenchar=$row["charname"];
    if($noilucz<=$points){
    $query = "
    UPDATE t_char SET points = points - $noilucz WHERE charguid = $charguid ";
    $check = $tlbb_web->query($query);
    $query = " UPDATE t_char SET spr = spr + $noilucz WHERE charguid = $charguid ";
    $check = $tlbb_web->query($query);
    echo'<center><font color="red"><b>đã cộng thành công: <font color="blue">'.$noilucz.'</font></font><br /></center>';}
    else{
    echo'<center><font color="red"><b><br />bạn đã nhập <font color="blue">'.$noilucz.'</font> nội lực lớn hơn số points hiện có : <font color="blue">'.$points.'</font> point hãy nhập lại !</font></center>';}}}


  4. #4
    Ðến Từ
    Hà Nội
    Thành Viên Thứ: 358027
    Bài gửi
    1.716

    Reply: Help kiểm tra dữ liệu trong input text

    Code xử lí của bạn chỉ check

    $cuonglucz<=$points >> cộng điểm cường lực >> $noilucz<=$points >> cộng điểm nội lực

    nó cứ cộng điểm độc lập, không kiểm tra xem sau khi cộng điểm cường lực xong thì số points còn lại có đủ cộng điểm nôi lực không mà cứ cộng mà không cần kiểm tra

    code này còn có chỗ viêt lung tung không có tác dụng, lớp truy vấn $tlbb_web->query()

    $query = "select charname,str,points,charguid from tlbbdb.t_char where charguid='$charguid'";
    $sttchar=$row["charguid"];
    $tenchar=$row["charname"];


    Tạm sửa code xử lí như sau
    Mã:
    // kiem tra cuonglucz + noilucz khong vuot qua points
    if(($cuonglucz >= 0) && ($noilucz >= 0) && (($cuonglucz + $noilucz) <= points)){ // diem cong phu hop
    	// cong diem cuonglucz va noilucz
    	$query = "UPDATE t_char SET points = points - $cuonglucz - $noilucz, str = str + $cuonglucz, spr = spr + $noilucz WHERE charguid = '$charguid'";
    	$check = $tlbb_web->query($query);
    	
    	echo '<center><b><font color="red">bạn đã cộng thành công <font color="blue">'.$cuonglucz.' cường lực</font> và <font color="blue">'.$noilucz.' nội lực</font></font></b></center>';
    }else{ // diem cong khong phu hop
    	echo '<center><b><font color="red">bạn đã nhập <font color="blue">'.$cuonglucz.' cường lực</font> và <font color="blue">'.$noilucz.' nội lực</font>, điểm cộng nhập không thỏa mãn điều kiện: không âm và tổng điểm cộng không vượt quá số points hiện có (<font color="blue">'.points.' points</font>), hãy nhập lại!</font></b></center>';
    }

  5. 2 thành viên đã cảm ơn gunshot9x:


  6. #5
    Ðến Từ
    TP. Hồ Chí Minh
    Thành Viên Thứ: 304165
    Giới tính: Nam
    Bài gửi
    70

    Reply: Help kiểm tra dữ liệu trong input text

    tks bạn nhiều