สอบถามหน้าแสดงผลขึ้น error

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
Thanapoom1514
PHP VIP Members
PHP VIP Members
โพสต์: 4329
ลงทะเบียนเมื่อ: 04/07/2022 9:46 am

สอบถามหน้าแสดงผลขึ้น error

โพสต์ที่ยังไม่ได้อ่าน โดย Thanapoom1514 »

ผมทำการกรอกข้อมูลในลงไปคำนวณแบบที่ 1 กว้าง*ยาว ไม่กดบันทึก ให้ไปหน้าแสดงผล มันก็ขึ้นแจ้ง error ผมไม่เข้าใจคืออะไร
Fatal error: Uncaught Error: Call to a member function is_ajax() on float in E:\xampp\htdocs\miniproject\phpBB3\phpbb\session.php:1663 Stack trace: #0 E:\xampp\htdocs\miniproject\phpBB3\includes\functions.php(3803): phpbb\session->update_session_infos() #1 E:\xampp\htdocs\miniproject\phpBB3\planting_tool.php(573): page_header('', false) #2 {main} thrown in E:\xampp\htdocs\miniproject\phpBB3\phpbb\session.php on line 1663
php รับค่า

โค้ด: เลือกทั้งหมด

// ส่วนรับค่าต่าง ๆ
$action = $request->variable('action', '');
$ip = $request->server('SERVER_ADDR', '');
$save_area= $request->variable('save_area',0);
$save = $request->variable('save','');
$id = $request->variable('id','');
$id_admin = $request->variable('id_admin','');
$edit = $request->variable('edit','');

// ส่วนรับค่าจัดการประเภทพืช
$plant_type = $request->variable('plant_type', '', true);
$plant_spacing = number_format($request->variable('plant_spacing', 0.00), 2);
$name = $request->variable('name', '', true);

//ส่วนรับค่าโปรแกรม
$calculate_area = $request->variable('calculate_area', '');
$width_area = number_format($request->variable('width_area', 0.00), 2);
$length_area = number_format($request->variable('length_area', 0.00), 2);
$unit_area_1 = $request->variable('unit_area_1','',true);
$unit_area_2 = $request->variable('unit_area_2','',true);
$plant_type = $request->variable('plant_type','',true);
php ส่งค่าไปให้แสดงผล

โค้ด: เลือกทั้งหมด

if($calculate_area == 1 && $save_area == 0){
    
          //คำนวณ
          switch($unit_area_1){
            case "m^2" : $request = find_area($width_area, $length_area);
                break;
            case "kg^2" : $request = 0.000001 * find_area($width_area, $length_area);
                break;
            case "ha^2" : $request = 0.0001 * find_area($width_area, $length_area);
                break;
            case "dam^2" : $request = 0.01  * find_area($width_area, $length_area);
                break;
            case "dm^2" : $request = 100 * find_area($width_area, $length_area);
                break;
            case "cm^2" : $request = 10000 * find_area($width_area, $length_area);
                break;
            case "mm^2" : $request = 1000000 * find_area($width_area, $length_area);
                break;
            case "SQ. WAH" : $request = 0.25 * find_area($width_area, $length_area);
                break;
            case "yd^2" : $request = 1.196 * find_area($width_area, $length_area);
                break;
            case "Rai" : $request = 0.000625 * find_area($width_area, $length_area);
                break;
            case "Ngan" : $request = 0.0025 * find_area($width_area, $length_area);
                break;
            case "yd" : $request = 1.21 * find_area($width_area, $length_area);
                 break;

        }
        
        $sql_array_plant = array(
            'id' => $plant_type,
        );
        $sql_plant = 'SELECT *
        FROM ' . 'tools_plant_type' . ' 
        WHERE ' . $db->sql_build_array('SELECT', $sql_array_plant);
    
        $result = $db->sql_query($sql_plant);
        $row = $db->sql_fetchrow($result);
        

        $unit_m2 = $user->lang['UNIT_SQUARE_METER'];

        $template->assign_vars(
            array(
                'N' => $name,
                'BEFORE_TOTAL' => $width_area * $length_area,
                'BEFORE_UNIT' => $unit_m2,
                'AFTER_TOTAL' => $request,
                'AFTER_UNIT' => $unit_area_2,
                'PLANT_TYPE' => $row['plant_type'],
                'PLANT_SPACING' => $row['plant_spacing'],
                'TOTAL_PLANT' => $row['plant_spacing'] * $request,
                'PLANT_CREATE_DATE' => $user->format_date(time()),
            ));
            
            $template->assign_vars(array(
                'ACTION' => 'show_admin' ,
            ));

            $page_title = $user->lang['CALCULATION_RESULT_AREA'];
            $template->assign_block_vars('navlinks', array(
                'FORUM_NAME' => $page_title,
                
            ));
            //ตัวกำหนดส่งไฟล์ไปหน้าไหน
            $template->set_filenames(array(
                'body' => 'result_area.html')
            );
        
    }
:gfb:
flook
PHP VIP Members
PHP VIP Members
โพสต์: 3751
ลงทะเบียนเมื่อ: 06/06/2022 9:43 am

Re: สอบถามหน้าแสดงผลขึ้น error

โพสต์ที่ยังไม่ได้อ่าน โดย flook »

Thanapoom1514 เขียน: 11/08/2022 10:30 am ผมทำการกรอกข้อมูลในลงไปคำนวณแบบที่ 1 กว้าง*ยาว ไม่กดบันทึก ให้ไปหน้าแสดงผล มันก็ขึ้นแจ้ง error ผมไม่เข้าใจคืออะไร
Fatal error: Uncaught Error: Call to a member function is_ajax() on float in E:\xampp\htdocs\miniproject\phpBB3\phpbb\session.php:1663 Stack trace: #0 E:\xampp\htdocs\miniproject\phpBB3\includes\functions.php(3803): phpbb\session->update_session_infos() #1 E:\xampp\htdocs\miniproject\phpBB3\planting_tool.php(573): page_header('', false) #2 {main} thrown in E:\xampp\htdocs\miniproject\phpBB3\phpbb\session.php on line 1663
php รับค่า

โค้ด: เลือกทั้งหมด

// ส่วนรับค่าต่าง ๆ
$action = $request->variable('action', '');
$ip = $request->server('SERVER_ADDR', '');
$save_area= $request->variable('save_area',0);
$save = $request->variable('save','');
$id = $request->variable('id','');
$id_admin = $request->variable('id_admin','');
$edit = $request->variable('edit','');

// ส่วนรับค่าจัดการประเภทพืช
$plant_type = $request->variable('plant_type', '', true);
$plant_spacing = number_format($request->variable('plant_spacing', 0.00), 2);
$name = $request->variable('name', '', true);

//ส่วนรับค่าโปรแกรม
$calculate_area = $request->variable('calculate_area', '');
$width_area = number_format($request->variable('width_area', 0.00), 2);
$length_area = number_format($request->variable('length_area', 0.00), 2);
$unit_area_1 = $request->variable('unit_area_1','',true);
$unit_area_2 = $request->variable('unit_area_2','',true);
$plant_type = $request->variable('plant_type','',true);
php ส่งค่าไปให้แสดงผล

โค้ด: เลือกทั้งหมด

if($calculate_area == 1 && $save_area == 0){
    
          //คำนวณ
          switch($unit_area_1){
            case "m^2" : $request = find_area($width_area, $length_area);
                break;
            case "kg^2" : $request = 0.000001 * find_area($width_area, $length_area);
                break;
            case "ha^2" : $request = 0.0001 * find_area($width_area, $length_area);
                break;
            case "dam^2" : $request = 0.01  * find_area($width_area, $length_area);
                break;
            case "dm^2" : $request = 100 * find_area($width_area, $length_area);
                break;
            case "cm^2" : $request = 10000 * find_area($width_area, $length_area);
                break;
            case "mm^2" : $request = 1000000 * find_area($width_area, $length_area);
                break;
            case "SQ. WAH" : $request = 0.25 * find_area($width_area, $length_area);
                break;
            case "yd^2" : $request = 1.196 * find_area($width_area, $length_area);
                break;
            case "Rai" : $request = 0.000625 * find_area($width_area, $length_area);
                break;
            case "Ngan" : $request = 0.0025 * find_area($width_area, $length_area);
                break;
            case "yd" : $request = 1.21 * find_area($width_area, $length_area);
                 break;

        }
        
        $sql_array_plant = array(
            'id' => $plant_type,
        );
        $sql_plant = 'SELECT *
        FROM ' . 'tools_plant_type' . ' 
        WHERE ' . $db->sql_build_array('SELECT', $sql_array_plant);
    
        $result = $db->sql_query($sql_plant);
        $row = $db->sql_fetchrow($result);
        

        $unit_m2 = $user->lang['UNIT_SQUARE_METER'];

        $template->assign_vars(
            array(
                'N' => $name,
                'BEFORE_TOTAL' => $width_area * $length_area,
                'BEFORE_UNIT' => $unit_m2,
                'AFTER_TOTAL' => $request,
                'AFTER_UNIT' => $unit_area_2,
                'PLANT_TYPE' => $row['plant_type'],
                'PLANT_SPACING' => $row['plant_spacing'],
                'TOTAL_PLANT' => $row['plant_spacing'] * $request,
                'PLANT_CREATE_DATE' => $user->format_date(time()),
            ));
            
            $template->assign_vars(array(
                'ACTION' => 'show_admin' ,
            ));

            $page_title = $user->lang['CALCULATION_RESULT_AREA'];
            $template->assign_block_vars('navlinks', array(
                'FORUM_NAME' => $page_title,
                
            ));
            //ตัวกำหนดส่งไฟล์ไปหน้าไหน
            $template->set_filenames(array(
                'body' => 'result_area.html')
            );
        
    }
ขอดู code เต็มๆ ทั้งหน้า html และ php ครับ
ภาพประจำตัวสมาชิก
Thanapoom1514
PHP VIP Members
PHP VIP Members
โพสต์: 4329
ลงทะเบียนเมื่อ: 04/07/2022 9:46 am

Re: สอบถามหน้าแสดงผลขึ้น error

โพสต์ที่ยังไม่ได้อ่าน โดย Thanapoom1514 »

โค้ดส่วนที่กรอกคำนวนครับ
html

โค้ด: เลือกทั้งหมด

 <form id="ucp" name="form1" method="post" action="{U_AREA_FROM}"
                onSubmit="JavaScript:return fncSubmit();">
                <input type="hidden" name="action" value="save">
                <input type="hidden" name="save" value="area">
                <div class="panel" id="main-menu">
                    <div class="inner">
                        <h2> {L_NAME_PROGRAM_AREA} </h2>
                        
                                <div class="flex-container-groud">
                                    <center>
                                    <div class="grid-container-center">
                                        <div class="flex-container">
                                            <span class="input-groud">{L_USERNAME_PROGRAM_AREA} </span>
                                    
                                        <!-- IF S_REGISTERED_USER -->
                                        <input type="text" class="input-groud-complete" placeholder="{USER_LOGIN}"
                                        name="name" size="20" maxlength="100" style="width: 57%; margin-left: 15%;"  value="{USER_LOGIN}">
                                    <!-- ELSE -->
                                        <input type="text" class="input-groud-complete" placeholder="{L_USERNAME_AREA}"
                                            name="name" size="20" maxlength="100" style="width: 57%; margin-left: 15%;" value="">
                                            <!-- ENDIF -->
                                        </div>
                                    </div>
                                    
                                    <div class="grid-container-center">
                                        <div class="flex-container"> 
                                            <input type="radio" name="calculate_area" value="1" onclick="if(this.checked){this.form.width_area.disabled=false; this.form.length_area.disabled=false; this.form.total_area.disabled=true; this.form.unit_area_2.disabled=true; this.form.calculate_area_2.checked=false;}" 
                                            style="padding: 6px 12px;" checked="checked"> <label class="input-groud">{L_CALCULATE_AREA_WIDTH}</label>
                                            <input id="saralym" type="number" class="input-groud-complete" style="text-align:right;  width: 20%;
                                            margin-right: 6.5%; margin-left: 18%;  " placeholder="0.0" min="1" step="0.01" name="width_area"  maxlength="100" value="" >
                                            * 
                                            <label class="input-groud">{L_CALCULATE_AREA_LENGTH}</label>
                                            <input id="saralym" type="number" class="input-groud-complete" style="text-align:right;  width: 20%; " placeholder="0.0"step="0.01" min="1" name="length_area"  maxlength="100" value="" >
                                            
                                        </div>
                                    </div>

                                    <div class="grid-container-center">
                                        <div class="flex-container">
                                            <span class="input-groud">{L_CONVERTED_AREA_UNIT}</span>
                                                    <select name="unit_area_1" id="" style=" margin-left: 7%;  width: 57%;">
                                                        <option value="m^2">{L_UNIT_SQUARE_METER}</option>
                                                        <option value="kg^2">{L_UNIT_SQUARE_KILOMETER}</option>
                                                        <option value="ha^2">{L_UNIT_SQUARE_HECTOMER}</option>
                                                        <option value="dam^2">{L_UNIT_SQUARE_DECAMETER}</option>
                                                        <option value="dm^2">{L_UNIT_SQUARE_DECIMETER}</option>
                                                        <option value="cm^2">{L_UNIT_SQUARE_CENTIMETER}</option>
                                                        <option value="mm^2">{L_UNIT_SQUARE_MILLIMETER}</option>
                                                        <option value="SQ. WAH">{L_UNIT_SQAURE_WA}</option>
                                                        <option value="yd^2">{L_UNIT_SQAURE_YARD}</option>
                                                        <option value="m">{L_UNIT_MATER}</option>
                                                        <option value="WAH">{L_UNIT_WA}</option>
                                                        <option value="Rai">{L_UNIT_RAI}</option>
                                                        <option value="Ngan">{L_UNIT_NGAN}</option>
                                                        <option value="yd">{L_UNIT_YARD}</option>
                                                    </select>
                                        </div>
                                    </div>
                                    <div class="grid-container-center">   
                                        <div class="flex-container">
                                            <input type="radio" name="calculate_area" value="2" style="padding: 6px 12px;" onclick="if(this.checked){this.form.width_area.disabled=true; this.form.length_area.disabled=true; this.form.total_area.disabled=false; this.form.unit_area_2.disabled=false;this.form.calculate_area_1.checked=false;}">
                                            <label class="input-groud" >{L_CALCULATE_AREA_TOTAL_AREA}</label>
                                            <input id="saralym" type="number" class="input-groud-complete" placeholder="0.0" min="1" step="0.01" style="text-align:right;  width: 20%; margin-left: 8%;" name="total_area" size="10" maxlength="100" value="" disabled="disabled">
                                                <select name="unit_area_2" disabled="disabled" style="width: 36.5%;">
                                                    <option value="m^2">{L_UNIT_SQUARE_METER}</option>
                                                    <option value="kg^2">{L_UNIT_SQUARE_KILOMETER}</option>
                                                    <option value="ha^2">{L_UNIT_SQUARE_HECTOMER}</option>
                                                    <option value="dam^2">{L_UNIT_SQUARE_DECAMETER}</option>
                                                    <option value="dm^2">{L_UNIT_SQUARE_DECIMETER}</option>
                                                    <option value="cm^2">{L_UNIT_SQUARE_CENTIMETER}</option>
                                                    <option value="mm^2">{L_UNIT_SQUARE_MILLIMETER}</option>
                                                    <option value="SQ. WAH">{L_UNIT_SQAURE_WA}</option>
                                                    <option value="yd^2">{L_UNIT_SQAURE_YARD}</option>
                                                    <option value="Rai">{L_UNIT_RAI}</option>
                                                    <option value="Ngan">{L_UNIT_NGAN}</option>
                                                    <option value="yd">{L_UNIT_YARD}</option>
                                                </select>
                                        </div>
                                    </div>
                                    <div class="grid-container-center">
                                        <div class="flex-container">
                                            <span class="input-groud">{L_PLANT_TYPE}</span>
                                            <select name="plant_type" style=" margin-left: 15%; width: 57%;">
                                           <!-- BEGIN loop_plant -->
                                                <option value="{loop_plant.VAR1}">{loop_plant.VAR2}</option>
                                                
                                             <!-- END loop_plant -->   
                                            </select>
                                        </div>
                                    </div>
                                    <div class="grid-container-center">
                                        <div class="flex-container">
                                            <label style="padding: 6px 3px;">{L_SAVE_DATA_AREA} </label>
                                            <label class="switch switch-left-right" style="margin-left: 15%;">
                                                <input class="switch-input" type="checkbox"  name="save_area"
                                                    value="1"  checked/>
                                                <span class="switch-label" data-on="{L_SWITCH_LABEL_YES}" data-off="{L_SWITCH_LABEL_NO}"></span>
                                                <span class="switch-handle"></span>
                                            </label>
                                        </div>
                                    </div>
                                </center>
                                        <div>
                                            <center>
                                                <!-- IF !S_REGISTERED_USER -->
                                                <div class="g-recaptcha" data-sitekey="6LdxSkYUAAAAAIj9KvyXh_zZhVpy79nnWmphVF-p">
                                                </div>
                                                <h5>{L_EXAMINE_AREA}</h5>
                                                  <!-- ENDIF -->
                
                                              
                                            </center>
                                            <center> <br> <input  class="linkback" type="submit" name="submit" value=" {L_CALCULATE_AREA} " class="button1" style="background: #55a630;"> &nbsp;

                                                <input class="linkback" type="reset" name="submit" value=" {L_CLEAR_AREA} " class="button1" style="background: #ec971f;"> 
                                            <!-- IF USER_LOGIN &&  S_REGISTERED_USER-->
                                                <a href="./planting_tool.php?action=admin" style="margin-left: 10px;">{L_PLANT_SPECIES_MANAGEMENT}</a>
                                            <!-- ENDIF -->
                                            </center>
                                        <center> <h4 style="margin-top:1.5vh;  float: center;">{VERSION}</h4></center>
                
                                        </div>
                                </div>
                            


                               


                    </div>
                </div>
            </form>
php

โค้ด: เลือกทั้งหมด

if($action == "save" ){

    if($save == "area"){
            //คำนวณแบบที่ 1 และsave
        if($calculate_area == "1" && $save_area != 0){
            
            //คำนวณ
            switch($unit_area_1){
                case "m^2" : $request = find_area($width_area, $length_area);
                    break;
                case "kg^2" : $request = 0.000001 * find_area($width_area, $length_area);
                    break;
                case "ha^2" : $request = 0.0001 * find_area($width_area, $length_area);
                    break;
                case "dam^2" : $request = 0.01  * find_area($width_area, $length_area);
                    break;
                case "dm^2" : $request = 100 * find_area($width_area, $length_area);
                    break;
                case "cm^2" : $request = 10000 * find_area($width_area, $length_area);
                    break;
                case "mm^2" : $request = 1000000 * find_area($width_area, $length_area);
                    break;
                case "SQ. WAH" : $request = 0.25 * find_area($width_area, $length_area);
                    break;
                case "yd^2" : $request = 1.196 * find_area($width_area, $length_area);
                    break;
                case "Rai" : $request = 0.000625 * find_area($width_area, $length_area);
                    break;
                case "Ngan" : $request = 0.0025 * find_area($width_area, $length_area);
                    break;
                case "yd" : $request = 1.21 * find_area($width_area, $length_area);
                     break;

            }

            

            $unit_m2 = $user->lang['UNIT_SQUARE_METER'];
            $sql_arr = array(
                'area_user_name' => $name,
                'area_before_total' => find_area($width_area, $length_area),
                'area_before_unit' => $unit_m2,
                'area_after_total' => $request,
                'area_after_unit' => $unit_area_2,
                'area_plant_type' => $plant_type,
                'area_plant_spacing' => 10,
                'area_total_plant' => 10 * $request,
                'area_ underscore_create_date' => time(),
                'area_user_ip' => $ip,
            );
        
        
        $sql = 'INSERT INTO ' . 'tools_planting_area_calculator' . ' ' . $db->sql_build_array('INSERT', $sql_arr);
        echo $sql ; 

        $template->assign_vars(array(
            'ACTION' => $action ,
        ));
        
        $page_title = $user->lang['CALCULATION_RESULT_AREA'];
        $template->assign_block_vars('navlinks', array(
            'FORUM_NAME' => $page_title,
            
        ));
        //ตัวกำหนดส่งไฟล์ไปหน้าไหน
        $template->set_filenames(array(
            'body' => 'result_area.html')
        );
            //คำนวณแบบที่1 ไม่save
    } else if($calculate_area == 1 && $save_area == 0){
    
          //คำนวณ
          switch($unit_area_1){
            case "m^2" : $request = find_area($width_area, $length_area);
                break;
            case "kg^2" : $request = 0.000001 * find_area($width_area, $length_area);
                break;
            case "ha^2" : $request = 0.0001 * find_area($width_area, $length_area);
                break;
            case "dam^2" : $request = 0.01  * find_area($width_area, $length_area);
                break;
            case "dm^2" : $request = 100 * find_area($width_area, $length_area);
                break;
            case "cm^2" : $request = 10000 * find_area($width_area, $length_area);
                break;
            case "mm^2" : $request = 1000000 * find_area($width_area, $length_area);
                break;
            case "SQ. WAH" : $request = 0.25 * find_area($width_area, $length_area);
                break;
            case "yd^2" : $request = 1.196 * find_area($width_area, $length_area);
                break;
            case "Rai" : $request = 0.000625 * find_area($width_area, $length_area);
                break;
            case "Ngan" : $request = 0.0025 * find_area($width_area, $length_area);
                break;
            case "yd" : $request = 1.21 * find_area($width_area, $length_area);
                 break;

        }
        
        $sql_array_plant = array(
            'id' => $plant_type,
        );
        $sql_plant = 'SELECT *
        FROM ' . 'tools_plant_type' . ' 
        WHERE ' . $db->sql_build_array('SELECT', $sql_array_plant);
    
        $result = $db->sql_query($sql_plant);
        $row = $db->sql_fetchrow($result);
        

        $unit_m2 = $user->lang['UNIT_SQUARE_METER'];

        $template->assign_vars(
            array(
                'N' => $name,
                'BEFORE_TOTAL' => $width_area * $length_area,
                'BEFORE_UNIT' => $unit_m2,
                'AFTER_TOTAL' => $request,
                'AFTER_UNIT' => $unit_area_2,
                'PLANT_TYPE' => $row['plant_type'],
                'PLANT_SPACING' => $row['plant_spacing'],
                'TOTAL_PLANT' => $row['plant_spacing'] * $request,
                'PLANT_CREATE_DATE' => $user->format_date(time()),
            ));
            
            $template->assign_vars(array(
                'ACTION' => 'show_admin' ,
            ));

            $page_title = $user->lang['CALCULATION_RESULT_AREA'];
            $template->assign_block_vars('navlinks', array(
                'FORUM_NAME' => $page_title,
                
            ));
            //ตัวกำหนดส่งไฟล์ไปหน้าไหน
            $template->set_filenames(array(
                'body' => 'result_area.html')
            );
        
    }



    }else if($save == "area_admin" && $save_area != 0){
        $template->assign_vars(
            array(
                'PLANT_TYPE' => $plant_type,
                'PLANT_SPACING' => $plant_spacing,
                'PLANT_CREATE_DATE' => $user->format_date(time())
            )
        );
        $sql_num = 'SELECT COUNT(*) AS num_row
        FROM ' . 'tools_plant_type' . ' 
        ';
        $result_num = $db->sql_query($sql_num);
        $count = (int) $db->sql_fetchfield('num_row');
        
        $sql_arr = array(
            
            'plant_type' => $plant_type,
            'plant_spacing' => $plant_spacing,
            'plant_create_date' => time(),
            'plant_user_ip' => $ip,
        );
        $sql = 'INSERT INTO ' . 'tools_plant_type' . ' ' . $db->sql_build_array('INSERT', $sql_arr);
        $db->sql_query($sql); 
       

        $template->set_filenames(array(
            'body' => 'result_area.html',
            'U_VIEW_FORUM' => append_sid('dowry_from.' . $phpEx . '?action=show_admin'),)
        );
      
        
       
    } else if($save == "area_admin" && $save_area == 0){
        $template->assign_vars(
            array(
                'PLANT_TYPE' => $plant_type,
                'PLANT_SPACING' => $plant_spacing,
                'PLANT_CREATE_DATE' => $user->format_date(time()),
            ));
            
            $page_title = $user->lang['DESCRIPSION_AREA'];
             $template->assign_block_vars('navlinks', array(
            'FORUM_NAME' => $page_title,
            ));
            
        
            $template->set_filenames(array(
                'body' => 'result_area.html',
                'U_VIEW_FORUM' => append_sid('planting_tool.' . $phpEx . '?action=show_admin'),)
            );
            

    } else{
        $template->set_filenames(array(
            'body' => 'tools_planting_area_calculator.html',
            
        ));
    } 
}
:gfb:
flook
PHP VIP Members
PHP VIP Members
โพสต์: 3751
ลงทะเบียนเมื่อ: 06/06/2022 9:43 am

Re: สอบถามหน้าแสดงผลขึ้น error

โพสต์ที่ยังไม่ได้อ่าน โดย flook »

Thanapoom1514 เขียน: 11/08/2022 10:38 am โค้ดส่วนที่กรอกคำนวนครับ
html

โค้ด: เลือกทั้งหมด

 <form id="ucp" name="form1" method="post" action="{U_AREA_FROM}"
                onSubmit="JavaScript:return fncSubmit();">
                <input type="hidden" name="action" value="save">
                <input type="hidden" name="save" value="area">
                <div class="panel" id="main-menu">
                    <div class="inner">
                        <h2> {L_NAME_PROGRAM_AREA} </h2>
                        
                                <div class="flex-container-groud">
                                    <center>
                                    <div class="grid-container-center">
                                        <div class="flex-container">
                                            <span class="input-groud">{L_USERNAME_PROGRAM_AREA} </span>
                                    
                                        <!-- IF S_REGISTERED_USER -->
                                        <input type="text" class="input-groud-complete" placeholder="{USER_LOGIN}"
                                        name="name" size="20" maxlength="100" style="width: 57%; margin-left: 15%;"  value="{USER_LOGIN}">
                                    <!-- ELSE -->
                                        <input type="text" class="input-groud-complete" placeholder="{L_USERNAME_AREA}"
                                            name="name" size="20" maxlength="100" style="width: 57%; margin-left: 15%;" value="">
                                            <!-- ENDIF -->
                                        </div>
                                    </div>
                                    
                                    <div class="grid-container-center">
                                        <div class="flex-container"> 
                                            <input type="radio" name="calculate_area" value="1" onclick="if(this.checked){this.form.width_area.disabled=false; this.form.length_area.disabled=false; this.form.total_area.disabled=true; this.form.unit_area_2.disabled=true; this.form.calculate_area_2.checked=false;}" 
                                            style="padding: 6px 12px;" checked="checked"> <label class="input-groud">{L_CALCULATE_AREA_WIDTH}</label>
                                            <input id="saralym" type="number" class="input-groud-complete" style="text-align:right;  width: 20%;
                                            margin-right: 6.5%; margin-left: 18%;  " placeholder="0.0" min="1" step="0.01" name="width_area"  maxlength="100" value="" >
                                            * 
                                            <label class="input-groud">{L_CALCULATE_AREA_LENGTH}</label>
                                            <input id="saralym" type="number" class="input-groud-complete" style="text-align:right;  width: 20%; " placeholder="0.0"step="0.01" min="1" name="length_area"  maxlength="100" value="" >
                                            
                                        </div>
                                    </div>

                                    <div class="grid-container-center">
                                        <div class="flex-container">
                                            <span class="input-groud">{L_CONVERTED_AREA_UNIT}</span>
                                                    <select name="unit_area_1" id="" style=" margin-left: 7%;  width: 57%;">
                                                        <option value="m^2">{L_UNIT_SQUARE_METER}</option>
                                                        <option value="kg^2">{L_UNIT_SQUARE_KILOMETER}</option>
                                                        <option value="ha^2">{L_UNIT_SQUARE_HECTOMER}</option>
                                                        <option value="dam^2">{L_UNIT_SQUARE_DECAMETER}</option>
                                                        <option value="dm^2">{L_UNIT_SQUARE_DECIMETER}</option>
                                                        <option value="cm^2">{L_UNIT_SQUARE_CENTIMETER}</option>
                                                        <option value="mm^2">{L_UNIT_SQUARE_MILLIMETER}</option>
                                                        <option value="SQ. WAH">{L_UNIT_SQAURE_WA}</option>
                                                        <option value="yd^2">{L_UNIT_SQAURE_YARD}</option>
                                                        <option value="m">{L_UNIT_MATER}</option>
                                                        <option value="WAH">{L_UNIT_WA}</option>
                                                        <option value="Rai">{L_UNIT_RAI}</option>
                                                        <option value="Ngan">{L_UNIT_NGAN}</option>
                                                        <option value="yd">{L_UNIT_YARD}</option>
                                                    </select>
                                        </div>
                                    </div>
                                    <div class="grid-container-center">   
                                        <div class="flex-container">
                                            <input type="radio" name="calculate_area" value="2" style="padding: 6px 12px;" onclick="if(this.checked){this.form.width_area.disabled=true; this.form.length_area.disabled=true; this.form.total_area.disabled=false; this.form.unit_area_2.disabled=false;this.form.calculate_area_1.checked=false;}">
                                            <label class="input-groud" >{L_CALCULATE_AREA_TOTAL_AREA}</label>
                                            <input id="saralym" type="number" class="input-groud-complete" placeholder="0.0" min="1" step="0.01" style="text-align:right;  width: 20%; margin-left: 8%;" name="total_area" size="10" maxlength="100" value="" disabled="disabled">
                                                <select name="unit_area_2" disabled="disabled" style="width: 36.5%;">
                                                    <option value="m^2">{L_UNIT_SQUARE_METER}</option>
                                                    <option value="kg^2">{L_UNIT_SQUARE_KILOMETER}</option>
                                                    <option value="ha^2">{L_UNIT_SQUARE_HECTOMER}</option>
                                                    <option value="dam^2">{L_UNIT_SQUARE_DECAMETER}</option>
                                                    <option value="dm^2">{L_UNIT_SQUARE_DECIMETER}</option>
                                                    <option value="cm^2">{L_UNIT_SQUARE_CENTIMETER}</option>
                                                    <option value="mm^2">{L_UNIT_SQUARE_MILLIMETER}</option>
                                                    <option value="SQ. WAH">{L_UNIT_SQAURE_WA}</option>
                                                    <option value="yd^2">{L_UNIT_SQAURE_YARD}</option>
                                                    <option value="Rai">{L_UNIT_RAI}</option>
                                                    <option value="Ngan">{L_UNIT_NGAN}</option>
                                                    <option value="yd">{L_UNIT_YARD}</option>
                                                </select>
                                        </div>
                                    </div>
                                    <div class="grid-container-center">
                                        <div class="flex-container">
                                            <span class="input-groud">{L_PLANT_TYPE}</span>
                                            <select name="plant_type" style=" margin-left: 15%; width: 57%;">
                                           <!-- BEGIN loop_plant -->
                                                <option value="{loop_plant.VAR1}">{loop_plant.VAR2}</option>
                                                
                                             <!-- END loop_plant -->   
                                            </select>
                                        </div>
                                    </div>
                                    <div class="grid-container-center">
                                        <div class="flex-container">
                                            <label style="padding: 6px 3px;">{L_SAVE_DATA_AREA} </label>
                                            <label class="switch switch-left-right" style="margin-left: 15%;">
                                                <input class="switch-input" type="checkbox"  name="save_area"
                                                    value="1"  checked/>
                                                <span class="switch-label" data-on="{L_SWITCH_LABEL_YES}" data-off="{L_SWITCH_LABEL_NO}"></span>
                                                <span class="switch-handle"></span>
                                            </label>
                                        </div>
                                    </div>
                                </center>
                                        <div>
                                            <center>
                                                <!-- IF !S_REGISTERED_USER -->
                                                <div class="g-recaptcha" data-sitekey="6LdxSkYUAAAAAIj9KvyXh_zZhVpy79nnWmphVF-p">
                                                </div>
                                                <h5>{L_EXAMINE_AREA}</h5>
                                                  <!-- ENDIF -->
                
                                              
                                            </center>
                                            <center> <br> <input  class="linkback" type="submit" name="submit" value=" {L_CALCULATE_AREA} " class="button1" style="background: #55a630;"> &nbsp;

                                                <input class="linkback" type="reset" name="submit" value=" {L_CLEAR_AREA} " class="button1" style="background: #ec971f;"> 
                                            <!-- IF USER_LOGIN &&  S_REGISTERED_USER-->
                                                <a href="./planting_tool.php?action=admin" style="margin-left: 10px;">{L_PLANT_SPECIES_MANAGEMENT}</a>
                                            <!-- ENDIF -->
                                            </center>
                                        <center> <h4 style="margin-top:1.5vh;  float: center;">{VERSION}</h4></center>
                
                                        </div>
                                </div>
                            


                               


                    </div>
                </div>
            </form>
php

โค้ด: เลือกทั้งหมด

if($action == "save" ){

    if($save == "area"){
            //คำนวณแบบที่ 1 และsave
        if($calculate_area == "1" && $save_area != 0){
            
            //คำนวณ
            switch($unit_area_1){
                case "m^2" : $request = find_area($width_area, $length_area);
                    break;
                case "kg^2" : $request = 0.000001 * find_area($width_area, $length_area);
                    break;
                case "ha^2" : $request = 0.0001 * find_area($width_area, $length_area);
                    break;
                case "dam^2" : $request = 0.01  * find_area($width_area, $length_area);
                    break;
                case "dm^2" : $request = 100 * find_area($width_area, $length_area);
                    break;
                case "cm^2" : $request = 10000 * find_area($width_area, $length_area);
                    break;
                case "mm^2" : $request = 1000000 * find_area($width_area, $length_area);
                    break;
                case "SQ. WAH" : $request = 0.25 * find_area($width_area, $length_area);
                    break;
                case "yd^2" : $request = 1.196 * find_area($width_area, $length_area);
                    break;
                case "Rai" : $request = 0.000625 * find_area($width_area, $length_area);
                    break;
                case "Ngan" : $request = 0.0025 * find_area($width_area, $length_area);
                    break;
                case "yd" : $request = 1.21 * find_area($width_area, $length_area);
                     break;

            }

            

            $unit_m2 = $user->lang['UNIT_SQUARE_METER'];
            $sql_arr = array(
                'area_user_name' => $name,
                'area_before_total' => find_area($width_area, $length_area),
                'area_before_unit' => $unit_m2,
                'area_after_total' => $request,
                'area_after_unit' => $unit_area_2,
                'area_plant_type' => $plant_type,
                'area_plant_spacing' => 10,
                'area_total_plant' => 10 * $request,
                'area_ underscore_create_date' => time(),
                'area_user_ip' => $ip,
            );
        
        
        $sql = 'INSERT INTO ' . 'tools_planting_area_calculator' . ' ' . $db->sql_build_array('INSERT', $sql_arr);
        echo $sql ; 

        $template->assign_vars(array(
            'ACTION' => $action ,
        ));
        
        $page_title = $user->lang['CALCULATION_RESULT_AREA'];
        $template->assign_block_vars('navlinks', array(
            'FORUM_NAME' => $page_title,
            
        ));
        //ตัวกำหนดส่งไฟล์ไปหน้าไหน
        $template->set_filenames(array(
            'body' => 'result_area.html')
        );
            //คำนวณแบบที่1 ไม่save
    } else if($calculate_area == 1 && $save_area == 0){
    
          //คำนวณ
          switch($unit_area_1){
            case "m^2" : $request = find_area($width_area, $length_area);
                break;
            case "kg^2" : $request = 0.000001 * find_area($width_area, $length_area);
                break;
            case "ha^2" : $request = 0.0001 * find_area($width_area, $length_area);
                break;
            case "dam^2" : $request = 0.01  * find_area($width_area, $length_area);
                break;
            case "dm^2" : $request = 100 * find_area($width_area, $length_area);
                break;
            case "cm^2" : $request = 10000 * find_area($width_area, $length_area);
                break;
            case "mm^2" : $request = 1000000 * find_area($width_area, $length_area);
                break;
            case "SQ. WAH" : $request = 0.25 * find_area($width_area, $length_area);
                break;
            case "yd^2" : $request = 1.196 * find_area($width_area, $length_area);
                break;
            case "Rai" : $request = 0.000625 * find_area($width_area, $length_area);
                break;
            case "Ngan" : $request = 0.0025 * find_area($width_area, $length_area);
                break;
            case "yd" : $request = 1.21 * find_area($width_area, $length_area);
                 break;

        }
        
        $sql_array_plant = array(
            'id' => $plant_type,
        );
        $sql_plant = 'SELECT *
        FROM ' . 'tools_plant_type' . ' 
        WHERE ' . $db->sql_build_array('SELECT', $sql_array_plant);
    
        $result = $db->sql_query($sql_plant);
        $row = $db->sql_fetchrow($result);
        

        $unit_m2 = $user->lang['UNIT_SQUARE_METER'];

        $template->assign_vars(
            array(
                'N' => $name,
                'BEFORE_TOTAL' => $width_area * $length_area,
                'BEFORE_UNIT' => $unit_m2,
                'AFTER_TOTAL' => $request,
                'AFTER_UNIT' => $unit_area_2,
                'PLANT_TYPE' => $row['plant_type'],
                'PLANT_SPACING' => $row['plant_spacing'],
                'TOTAL_PLANT' => $row['plant_spacing'] * $request,
                'PLANT_CREATE_DATE' => $user->format_date(time()),
            ));
            
            $template->assign_vars(array(
                'ACTION' => 'show_admin' ,
            ));

            $page_title = $user->lang['CALCULATION_RESULT_AREA'];
            $template->assign_block_vars('navlinks', array(
                'FORUM_NAME' => $page_title,
                
            ));
            //ตัวกำหนดส่งไฟล์ไปหน้าไหน
            $template->set_filenames(array(
                'body' => 'result_area.html')
            );
        
    }



    }else if($save == "area_admin" && $save_area != 0){
        $template->assign_vars(
            array(
                'PLANT_TYPE' => $plant_type,
                'PLANT_SPACING' => $plant_spacing,
                'PLANT_CREATE_DATE' => $user->format_date(time())
            )
        );
        $sql_num = 'SELECT COUNT(*) AS num_row
        FROM ' . 'tools_plant_type' . ' 
        ';
        $result_num = $db->sql_query($sql_num);
        $count = (int) $db->sql_fetchfield('num_row');
        
        $sql_arr = array(
            
            'plant_type' => $plant_type,
            'plant_spacing' => $plant_spacing,
            'plant_create_date' => time(),
            'plant_user_ip' => $ip,
        );
        $sql = 'INSERT INTO ' . 'tools_plant_type' . ' ' . $db->sql_build_array('INSERT', $sql_arr);
        $db->sql_query($sql); 
       

        $template->set_filenames(array(
            'body' => 'result_area.html',
            'U_VIEW_FORUM' => append_sid('dowry_from.' . $phpEx . '?action=show_admin'),)
        );
      
        
       
    } else if($save == "area_admin" && $save_area == 0){
        $template->assign_vars(
            array(
                'PLANT_TYPE' => $plant_type,
                'PLANT_SPACING' => $plant_spacing,
                'PLANT_CREATE_DATE' => $user->format_date(time()),
            ));
            
            $page_title = $user->lang['DESCRIPSION_AREA'];
             $template->assign_block_vars('navlinks', array(
            'FORUM_NAME' => $page_title,
            ));
            
        
            $template->set_filenames(array(
                'body' => 'result_area.html',
                'U_VIEW_FORUM' => append_sid('planting_tool.' . $phpEx . '?action=show_admin'),)
            );
            

    } else{
        $template->set_filenames(array(
            'body' => 'tools_planting_area_calculator.html',
            
        ));
    } 
}
ลองเช็ค เงื่อนไข ของทั้ง if และ switch ดู ครับว่าผิดช่วงบันทัดไหน โดยใช้การ exit() code ไว้เป็นช่วงๆ
ภาพประจำตัวสมาชิก
Thanapoom1514
PHP VIP Members
PHP VIP Members
โพสต์: 4329
ลงทะเบียนเมื่อ: 04/07/2022 9:46 am

Re: สอบถามหน้าแสดงผลขึ้น error

โพสต์ที่ยังไม่ได้อ่าน โดย Thanapoom1514 »

ได้แล้วครับ ผมแก้ด้วยจัด if-else ใหม่ครับ
php

โค้ด: เลือกทั้งหมด

//ส่วนบันทึกข้อมูล
if($action == "save" && $save == "area" ){
            //คำนวณแบบที่ 1 และsave
        if($calculate_area == "1" && $save_area != 0){
            
            //คำนวณ
            switch($unit_area_1){
                case "m^2" : $r_area = find_area($width_area, $length_area);
                    break;
                case "kg^2" : $r_area = 0.000001 * find_area($width_area, $length_area);
                    break;
                case "ha^2" : $r_area = 0.0001 * find_area($width_area, $length_area);
                    break;
                case "dam^2" : $r_area = 0.01  * find_area($width_area, $length_area);
                    break;
                case "dm^2" : $r_area = 100 * find_area($width_area, $length_area);
                    break;
                case "cm^2" : $r_area = 10000 * find_area($width_area, $length_area);
                    break;
                case "mm^2" : $r_area = 1000000 * find_area($width_area, $length_area);
                    break;
                case "SQ. WAH" : $r_area = 0.25 * find_area($width_area, $length_area);
                    break;
                case "yd^2" : $r_area = 1.196 * find_area($width_area, $length_area);
                    break;
                case "Rai" : $r_area = 0.000625 * find_area($width_area, $length_area);
                    break;
                case "Ngan" : $r_area = 0.0025 * find_area($width_area, $length_area);
                    break;
                case "yd" : $r_area = 1.21 * find_area($width_area, $length_area);
                    break;

            } 
            $r= find_area($width_area,  $length_area);
            $unit_m2 = $user->lang['UNIT_SQUARE_METER'];

            $template->assign_vars(
                array(
                    'N' => $name,
                    'BEFORE_TOTAL' => $r,
                    'BEFORE_UNIT' => $unit_m2,
                    'AFTER_TOTAL' => $r_area,
                    'AFTER_UNIT' => $unit_area_2,
                    'PLANT_TYPE' =>$plant_type,
                    'PLANT_SPACING' => number_format($row['plant_spacing'], 2 ),
                    'TOTAL_PLANT' => $row['plant_spacing'] * $r_area,
                    'PLANT_CREATE_DATE' => $user->format_date(time()),
                ));

                $sql_array_plant = array(
                    'id' => $plant_type,
                );
                $sql_plant = 'SELECT *
                FROM ' . 'tools_plant_type' . ' 
                WHERE id ='.$plant_type;
            
                $result = $db->sql_query($sql_plant);
                $row = $db->sql_fetchrow($result);


            $sql_arr = array(
                'area_user_name' => $name,
                'area_before_total' => $r,
                'area_before_unit' => $unit_m2,
                'area_after_total' => $r_area,
                'area_after_unit' => $unit_area_2,
                'area_plant_type' => $plant_type,
                'area_plant_spacing' => $row['plant_spacing'],
                'area_total_plant' => $row['plant_spacing'] * $r_area,
                'area_ underscore_create_date' => time(),
                'area_user_ip' => $ip,
            );
        
        
        $sql = 'INSERT INTO ' . 'tools_planting_area_calculator' . ' ' . $db->sql_build_array('INSERT', $sql_arr);
       

        $template->assign_vars(array(
            'ACTION' => $action ,
        ));
        
        $page_title = $user->lang['CALCULATION_RESULT_AREA'];
        $template->assign_block_vars('navlinks', array(
            'FORUM_NAME' => $page_title,
            
        ));
        //ตัวกำหนดส่งไฟล์ไปหน้าไหน
        $template->set_filenames(array(
            'body' => 'result_area.html')
        );
            //คำนวณแบบที่1 ไม่save
    } else if($calculate_area == 1 && $save_area == 0){
                    //คำนวณ
                    switch($unit_area_1){
                        case "m^2" : $r_area = find_area($width_area, $length_area);
                            break;
                        case "kg^2" : $r_area = 0.000001 * find_area($width_area, $length_area);
                            break;
                        case "ha^2" : $r_area = 0.0001 * find_area($width_area, $length_area);
                            break;
                        case "dam^2" : $r_area = 0.01  * find_area($width_area, $length_area);
                            break;
                        case "dm^2" : $r_area = 100 * find_area($width_area, $length_area);
                            break;
                        case "cm^2" : $r_area = 10000 * find_area($width_area, $length_area);
                            break;
                        case "mm^2" : $r_area = 1000000 * find_area($width_area, $length_area);
                            break;
                        case "SQ. WAH" : $r_area = 0.25 * find_area($width_area, $length_area);
                            break;
                        case "yd^2" : $r_area = 1.196 * find_area($width_area, $length_area);
                            break;
                        case "Rai" : $r_area = 0.000625 * find_area($width_area, $length_area);
                            break;
                        case "Ngan" : $r_area = 0.0025 * find_area($width_area, $length_area);
                            break;
                        case "yd" : $r_area = 1.21 * find_area($width_area, $length_area);
                            break;

                    } 

                   $r= find_area($width_area,  $length_area);

                    $sql_array_plant = array(
                        'id' => $plant_type,
                    );
                    $sql_plant = 'SELECT *
                    FROM ' . 'tools_plant_type' . ' 
                    WHERE id ='.$plant_type;
                
                    $result = $db->sql_query($sql_plant);
                    $row = $db->sql_fetchrow($result);
                    

                    $unit_m2 = $user->lang['UNIT_SQUARE_METER'];

                    $template->assign_vars(
                        array(
                            'N' => $name,
                            'BEFORE_TOTAL' => $r,
                            'BEFORE_UNIT' => $unit_m2,
                            'AFTER_TOTAL' => $r_area,
                            'AFTER_UNIT' => $unit_area_2,
                            'PLANT_TYPE' => $plant_type,
                            'PLANT_SPACING' => number_format($row['plant_spacing'], 2 ),
                            'TOTAL_PLANT' => $row['plant_spacing'] * $r_area,
                            'PLANT_CREATE_DATE' => $user->format_date(time()),
                        ));
                        
                        $template->set_filenames(array(
                            'body' => 'result_area.html',
                            'U_VIEW_FORUM' => append_sid('planting_tool.' . $phpEx . '?action=show'),)
                        );
        
                        $template->assign_vars(array(
                            'ACTION' => 'show' ,
                        ));

                        $page_title = $user->lang['CALCULATION_RESULT_AREA'];
                        $template->assign_block_vars('navlinks', array(
                            'FORUM_NAME' => $page_title,
                            
                        ));
                        //ตัวกำหนดส่งไฟล์ไปหน้าไหน
                       
    } 
}
:gfb:
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 114