Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,028

HOME > PHP > PHP Forum > ปรึกษาเรื่อง Update ข้อมูล แจ้งเตือน undefined index update_Id ซึ่ง update_id เรียกใช้งานถูกครับ



 

ปรึกษาเรื่อง Update ข้อมูล แจ้งเตือน undefined index update_Id ซึ่ง update_id เรียกใช้งานถูกครับ

 



Topic : 136443



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์




ปรึกษาเรื่อง Update ข้อมูล แจ้งเตือน undefined index update_id ซึ่ง update_Id เรียกใช้งานถูกครับ

สิ่งที่เจอคือ
1. update ข้อมูลผ่าน แต่ข้อมูลไม่ถูก update ครับ
2. หลังแจ้ง update ข้อมูลเรียบร้อย จะขึ้น แจ้งเตือน undefined index update_id ตามมาครับ

ภาพที่ 1
bug6

Code (index.php ส่วนการ update_id)
<td>
     <div class="btn-group" role="group" aria-label="Basic mixed styles example">
           <a href="form-edit.php?update_id=<?php echo $row["Id"]; ?>" type="button" class="btn btn-danger text-white"><i class="far fa-edit"></i> 
           </a>
           <a type="button" class="btn btn-warning text-white"><i class="far fa-edit"></i> 
            </a>
      </div>
</td>


Code (form.php)
<form action="edit.php" method="POST">
                                <div class="card-body">
                                    <div class="row">
                                        <div class="col-md-6 px-1 px-md-5">

                                            <div class="form-group">
                                                <label for="computername">Computer Name</label>
                                                <input type="text" class="form-control" name="txt_Computername" value="<?php echo $Computername; ?>" required>
                                            </div>
                                            <div class="form-group">
                                                <label for="username">Username</label>
                                                <input type="text" class="form-control" name="txt_Username" value="<?php echo $Username; ?>" required>
                                            </div>
                                            <div class="form-group">
                                                <label for="manufacturer">Manufacturer</label>
                                                <input type="text" class="form-control" name="txt_Manufacturer" value="<?php echo $Manufacturer; ?>" required>
                                            </div>
                                            <div class="form-group">
                                                <label for="model">Model</label>
                                                <input type="text" class="form-control" name="txt_Model" value="<?php echo $Model; ?>" required>
                                            </div>

                                        </div>

                                        <div class="col-md-6 px-1 px-md-5">
                                            <div class="form-group">
                                                <label for="serialnumber">Serial Number</label>
                                                <input type="text" class="form-control" name="txt_SN" value="<?php echo $SN; ?>" required>
                                            </div>

                                            <div class="form-group">
                                                <label for="cpu">CPU</label>
                                                <input type="text" class="form-control" name="txt_CPU" value="<?php echo $CPU; ?>" required> 
                                             </div>

                                            <div class="form-group">
                                                <label for="os">OS</label>
                                                <input type="text" class="form-control" name="txt_OS" value="<?php echo $OS; ?>" required> 
                                            </div>

                                        </div>
                                    </div>
                                  <!--   <div class="card-footer">
                                    <button type="submit" name="btn_update" class="btn btn-primary btn-block mx-auto w-50" value="update">บันทึกข้อมูล</button>
                                    </div> -->
                                </div>
                                  <div class="card-footer">
                                    <button type="submit" name="btn_update" class="btn btn-primary btn-block mx-auto w-50" value="update">บันทึกข้อมูล</button>
                                    </div>
                            </form>


Code (edit.php เรียกใช้งานหน้า form.php)
<?php
require_once('../../../database/connection.php');

    $up = $_REQUEST['update_id'];

    if (isset($_REQUEST['update_id'])){

        $sql = "SELECT * FROM masterpc WHERE Id = $up; ";
        $result= $conn->query($sql);
        while ($row = $result->fetch_array(MYSQLI_ASSOC)){

            $Computername = $row["Computername"];
            $Username = $row["Username"];
            $Manufacturer = $row["Manufacturer"];
            $Model = $row["Model"];
            $SN = $row["SN"];
            $CPU = $row["CPU"];
            $OS = $row["OS"];


        }
        
    }


if (isset($_REQUEST['btn_update'])) {


    $Computername_up = $_REQUEST['txt_Computername'];
    $Username_up = $_REQUEST['txt_Username'];
    $Manufacturer_up = $_REQUEST['txt_Manufacturer'];
    $Model_up = $_REQUEST['txt_Model'];
    $SN_up = $_REQUEST['txt_SN'];
    $CPU_up = $_REQUEST['txt_CPU'];
    $OS_up = $_REQUEST['txt_OS'];

    $sqli = "UPDATE masterpc SET Computername='$Computername_up',Username='$Username_up',Manufacturer='$Manufacturer_up',Model='$Model_up',SN='$SN_up',CPU='$CPU_up',OS='$OS_up' WHERE Id = '$up'";
   
        if (mysqli_query($conn, $sqli)) {        
          echo "<script>alert('แก้ไขข้อมูลสำเร็จ...'); window.location ='index.php';</script>";
            
        } else {
            echo "Error: " . $sqli . "<br>" . mysqli_error($conn);
        }

        mysqli_close($conn);
    }

?>




Tag : PHP, MySQL









ประวัติการแก้ไข
2021-10-25 09:35:22
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2021-10-25 09:28:59 By : TeeTs View : 915 Reply : 49
 

 

No. 1



โพสกระทู้ ( 34 )
บทความ ( 0 )



สถานะออฟไลน์


Code (PHP)
                                  <!--   <div class="card-footer">

<input type="hidden" name="update_id" value="<?php echo //ใส่ ค่า ID; ?>">
                                    <button type="submit" name="btn_update" class="btn btn-primary btn-block mx-auto w-50" value="update">บันทึกข้อมูล</button>
                                    </div> -->
                                </div>
                                  <div class="card-footer">
                                    <button type="submit" name="btn_update" class="btn btn-primary btn-block mx-auto w-50" value="update">บันทึกข้อมูล</button>
                                    </div>
                            </form>








แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-25 14:11:57 By : sookurb
 


 

No. 2



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : sookurb เมื่อวันที่ 2021-10-25 14:11:57
รายละเอียดของการตอบ ::
ใช้แล้วไม่ได้ครับ ลอง2แบบครับ

Code (PHP)
1. value="<?php echo row["Id"]; ?>"
2. value="<?php echo $Id; ?>"



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-25 16:10:24 By : TeeTs
 

 

No. 3



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



สถานะออฟไลน์
Facebook Blogger

บรรทัดที่ 4 ของ edit.php

$up = $_REQUEST['update_id'];

ค่า update_id ไม่ได้ส่งมาด้วย

ถ้าใช้ form ก็ต้องมี input ที่มี name="update_id"
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-25 20:21:07 By : {Cyberman}
 


 

No. 4



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : {Cyberman} เมื่อวันที่ 2021-10-25 20:21:07
รายละเอียดของการตอบ ::
ปกติ ไม่เคยใส่ input ที่มี name="update_id" เพราะใช้ btn_update ไม่เคยเจอ error เลยครับ

ส่วน update_id ก็รับค่าถูกครับ ส่วนแก้ไขข้อมูล แต่พอแก้ไขเสร็จ ค่า update_id ไม่ได้ส่งมาครับ
form-edit.php?update_id=1

ทำตาม no.1 แล้วแต่ไม่ได้ครับ



ประวัติการแก้ไข
2021-10-25 23:29:58
2021-10-25 23:33:01
2021-10-25 23:33:27
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-25 23:19:04 By : TeeTs
 


 

No. 5



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 4 เขียนโดย : TeeTs เมื่อวันที่ 2021-10-25 23:19:04
รายละเอียดของการตอบ ::




ประวัติการแก้ไข
2021-10-25 23:30:16
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-25 23:29:33 By : TeeTs
 


 

No. 6



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



สถานะออฟไลน์
Facebook Blogger

ตอนนี้พูดถึงหน้า form เท่านั้นครับ
ลองค้นหา update_id ให้เจอครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-26 08:31:27 By : {Cyberman}
 


 

No. 7



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 6 เขียนโดย : {Cyberman} เมื่อวันที่ 2021-10-26 08:31:27
รายละเอียดของการตอบ ::
ใช้ถูกไหมครับ 2 แบบนี้
<input type="hidden" name="update_id" value="<?php echo row["Id"]; ?>">
หรือ
<input type="hidden" name="update_id" value="<?php echo $Id; ?>">

ลองทั้ง2แบบเจอ error แบบนี้ครับ ถ้าไม่ใช้ไม่ error
Fatal error: Uncaught Error: Call to a member function fetch_array() on bool in C:\xampp\htdocs\cmssystem\cmssystem\pages\admin\masterpc\edit.php:10 Stack trace: #0 {main} thrown in C:\xampp\htdocs\cmssystem\cmssystem\pages\admin\masterpc\edit.php on line 10

และ line 10 เป็น while ($row = $result->fetch_array(MYSQLI_ASSOC)) ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-26 09:34:06 By : TeeTs
 


 

No. 8



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


Code (form-edit.php)
<form action="edit.php" method="POST">
                                <div class="card-body">
                                    <div class="row">
                                        <div class="col-md-6 px-1 px-md-5">

                                            <div class="form-group">
                                                <label for="computername">Computer Name</label>
                                                <input type="text" class="form-control" name="txt_Computername"  value="<?php echo $Computername; ?>" required>
                                            </div>
                                            <div class="form-group">
                                                <label for="username">Username</label>
                                                <input type="text" class="form-control" name="txt_Username"  value="<?php echo $Username; ?>" required>
                                            </div>
                                            <div class="form-group">
                                                <label for="manufacturer">Manufacturer</label>
                                                <input type="text" class="form-control" name="txt_Manufacturer"  value="<?php echo $Manufacturer; ?>" required>
                                            </div>
                                            <div class="form-group">
                                                <label for="model">Model</label>
                                                <input type="text" class="form-control" name="txt_Model"  value="<?php echo $Model; ?>" required>
                                            </div>

                                        </div>

                                        <div class="col-md-6 px-1 px-md-5">
                                            <div class="form-group">
                                                <label for="serialnumber">Serial Number</label>
                                                <input type="text" class="form-control" name="txt_SN"  value="<?php echo $SN; ?>" required>
                                            </div>

                                            <div class="form-group">
                                                <label for="cpu">CPU</label>
                                                <input type="text" class="form-control" name="txt_CPU"  value="<?php echo $CPU; ?>" required> 
                                             </div>

                                            <div class="form-group">
                                                <label for="os">OS</label>
                                                <input type="text" class="form-control" name="txt_OS"  value="<?php echo $OS; ?>" required> 
                                            </div>

                                        </div>
                                    </div>
                                </div>
                                  <div class="card-footer">
                                  <!--   <input type="hidden" name="update_id" value="<?php echo row["Id"]; ?>">
                                    <input type="hidden" name="update_id" value="<?php echo $Id; ?>"> -->

                                    <button type="submit" name="btn_update" class="btn btn-primary btn-block mx-auto w-50" value="update">บันทึกข้อมูล</button>
                                    </div>
                            </form>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-26 09:37:17 By : TeeTs
 


 
Code
echo $_REQUEST['update_id'];


มีค่าหรือไม่?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-26 10:20:13 By : Guest
 


 

No. 10



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 9 เขียนโดย : Guest เมื่อวันที่ 2021-10-26 10:20:13
รายละเอียดของการตอบ ::
ค่า Id มาครับ

ภาพที่ 1
bug8

เวลาคลิกแก้ไข ไปยังหน้า form edit.php || form-edit.php?update_id=1 Id ก็มาครับ ผิดจุดไหนแล้วเนี้ย

Code (edit.php)
<?php
require_once('../../../database/connection.php');

    $up = $_REQUEST['update_id'];
    echo $_REQUEST['update_id'];

    if (isset($_REQUEST['update_id'])){

        $sql = "SELECT * FROM masterpc WHERE Id = $up; ";
        $result= $conn->query($sql);
        while ($row = $result->fetch_array(MYSQLI_ASSOC)){

            $Computername = $row["Computername"];
            $Username = $row["Username"];
            $Manufacturer = $row["Manufacturer"];
            $Model = $row["Model"];
            $SN = $row["SN"];
            $CPU = $row["CPU"];
            $OS = $row["OS"];


        }
        
    }


if (isset($_REQUEST['btn_update'])) {


    $Computername_up = $_REQUEST['txt_Computername'];
    $Username_up = $_REQUEST['txt_Username'];
    $Manufacturer_up = $_REQUEST['txt_Manufacturer'];
    $Model_up = $_REQUEST['txt_Model'];
    $SN_up = $_REQUEST['txt_SN'];
    $CPU_up = $_REQUEST['txt_CPU'];
    $OS_up = $_REQUEST['txt_OS'];

    $sqli = "UPDATE masterpc SET Computername='$Computername_up',Username='$Username_up',Manufacturer='$Manufacturer_up',Model='$Model_up',SN='$SN_up',CPU='$CPU_up',OS='$OS_up' WHERE Id = '$up'";
   
        if (mysqli_query($conn, $sqli)) {        
          echo "<script>alert('แก้ไขข้อมูลสำเร็จ...'); window.location ='index.php';</script>";
            
        } else {
            echo "Error: " . $sqli . "<br>" . mysqli_error($conn);
        }

        mysqli_close($conn);
    }

?>






ประวัติการแก้ไข
2021-10-26 19:27:20
2021-10-26 19:27:52
2021-10-26 19:33:50
2021-10-26 19:33:55
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-26 19:24:36 By : TeeTs
 


 
ตอบความคิดเห็นที่ : 10 เขียนโดย : TeeTs เมื่อวันที่ 2021-10-26 19:24:36
รายละเอียดของการตอบ ::
debug จังหวะที่บันทึกนะ
Code
if (isset($_REQUEST['btn_update'])) { echo $_REQUEST['update_id']; // statement }



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-27 07:55:56 By : Guest
 


 

No. 12



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


Code (PHP)
$result= $conn->query($sql);
if($result===false){
  print_r($conn->error);
}


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-27 09:41:29 By : Chaidhanan
 


 

No. 13



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 12 เขียนโดย : Chaidhanan เมื่อวันที่ 2021-10-27 09:41:29
รายละเอียดของการตอบ ::
ใช้แล้ว ยังไม่มี error อะไรออกมาครับ

ใช้ code นี้แล้วด้วยแต่ไม่เจอ error ครับ
Code (PHP)
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);




ประวัติการแก้ไข
2021-10-27 10:23:35
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-27 10:13:47 By : TeeTs
 


 
เอา
$_REQUEST['update_id'];
ไว้ใน if (isset()) {

Code (PHP)
<?php
require_once('../../../database/connection.php');

if (isset($_REQUEST['update_id'])) {
     $sql = "SELECT * FROM `masterpc` WHERE `Id` = '".$_REQUEST['update_id']."'";
     $result= $conn->query($sql);
     while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
          $Computername = $row["Computername"];
          $Username = $row["Username"];
          $Manufacturer = $row["Manufacturer"];
          $Model = $row["Model"];
          $SN = $row["SN"];
          $CPU = $row["CPU"];
          $OS = $row["OS"];
     }
}

if (isset($_REQUEST['btn_update'])) {
     $Computername_up = $_REQUEST['txt_Computername'];
     $Username_up = $_REQUEST['txt_Username'];
     $Manufacturer_up = $_REQUEST['txt_Manufacturer'];
     $Model_up = $_REQUEST['txt_Model'];
     $SN_up = $_REQUEST['txt_SN'];
     $CPU_up = $_REQUEST['txt_CPU'];
     $OS_up = $_REQUEST['txt_OS'];

     echo $sqli = "UPDATE `masterpc` SET 
          `Computername` = '{$Computername_up}',
          `Username` = '{$Username_up}',
          Manufacturer` = '{$Manufacturer_up}',
          `Model` = '{$Model_up}',
          `SN` = '{$SN_up}',
          `CPU` = '{$CPU_up}',
          `OS` = '{$OS_up}' 
     WHERE 
          `Id` = '".$_REQUEST['update_id'].'";
   
     if (mysqli_query($conn, $sqli)) {        
          echo "<script>alert('แก้ไขข้อมูลสำเร็จ...'); window.location ='index.php';</script>";
     } else {
          echo "Error: " . $sqli . "<br>" . mysqli_error($conn);
     }
     mysqli_close($conn);
}
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-27 10:29:26 By : Guest
 


 

No. 15



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 14 เขียนโดย : Guest เมื่อวันที่ 2021-10-27 10:29:26
รายละเอียดของการตอบ ::
ใช้แล้วครับ ยังไม่ได้ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-27 11:06:43 By : TeeTs
 


 

No. 16



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


<?php
echo 'past ', __LINE__, json_encode( ['rq'=>$_REQUEST, 'post'=>$_POST, 'get'=>$_GET]),'<br>';
ลองตรวจสอบ ข้อมูลที่มาก่อน ว่าถูกต้อง กับชนิดการ request ไหม

จริงๆ แล้ว จาก no 14 ถ้าลองทำก็ควรจะรู้ว่าอะไรเป็นอะไรแล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-27 11:10:11 By : Chaidhanan
 


 

No. 17



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 16 เขียนโดย : Chaidhanan เมื่อวันที่ 2021-10-27 11:10:11
รายละเอียดของการตอบ ::
ข้อมูลตอนนี้ คือ
-insert ผ่าน
-delete ผ่าน
-update ไม่ผ่านครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-27 15:13:41 By : TeeTs
 


 

No. 18



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


จาก No 16 ได้ข้อมูลยังไง สำหรับ หน้า Edit
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-27 17:13:05 By : Chaidhanan
 


 

No. 19



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 18 เขียนโดย : Chaidhanan เมื่อวันที่ 2021-10-27 17:13:05
รายละเอียดของการตอบ ::
เช็คข้อมูล เจอ id มาครับ แต่เวลา update id กลับมองไม่เห็น update id ครับ

จาก no.16 ได้ข้อมูลนี้ครับ
Code (PHP)
past 5{"rq":{"update_id":"8"},"post":[],"get":{"update_id":"8"}}


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-28 08:54:45 By : TeeTs
 


 

No. 20



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



สถานะออฟไลน์
Facebook Blogger

ตอบความคิดเห็นที่ : 7 เขียนโดย : TeeTs เมื่อวันที่ 2021-10-26 09:34:06

ขอดูค่าที่แสดงใน input หน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-28 23:03:21 By : {Cyberman}
 


 

No. 21



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


คห. 14 ให้ echo คำสั่ง UPDATE มาดู ทำไมไม่ทำตามล่ะครับ
ในนั้นมันมี echo อยู่ ทำแล้วก็จะเห็นเลยว่าคำสั่ง UPDATE เราถูกมั้ย?
ผล echo เป็นยังไงเอามาดู

แล้วถ้าจะให้ดี ที่แก้ไขล่าสุดเป็นยังไงเอาโค้ดมาลงด้วยครับ

สรุป
1. ทำตาม คห 14 เอาผล echo ของคำสั่ง UPDATE มาดู.
เบื้องต้นตรงนี้จะได้ตรวจสอบเองได้ด้วยว่าคำสั่ง sql UPDATE ถูกมั้ย

2. แล้วก็โค้ดที่แก้ไขล่าสุด

3. หน้าฟอร์มแก้ไขเป็นยังไง ถูกต้องมั้ย?

4. หลังจากกด submit แล้วได้อะไร? จากโค้ดมันควรจะได้ alert สำเร็จหรือ error ก็เอามาลงว่ามันได้อะไร


ประวัติการแก้ไข
2021-10-29 00:46:21
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-29 00:37:27 By : mr.v
 


 

No. 22



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 21 เขียนโดย : mr.v เมื่อวันที่ 2021-10-29 00:37:27
รายละเอียดของการตอบ ::
ตอบที่ no.15 แล้วครับ อาจตอบสั้นไป

2. แล้วก็โค้ดที่แก้ไขล่าสุด => อันนี้เดี๋ยวทำใหม่ครับ เพราะตอนแรกทำแล้วไม่ได้ ลบทิ้งแล้ว เลยทำใหม่หมดครับ

3. หน้าฟอร์มแก้ไขเป็นยังไง ถูกต้องมั้ย? => ฟอร์มถูกอยู่แล้ว อิงจาก ฟอร์ม insert เลย เพียงเปลี่ยนใน input ตรง value="echo........" และตรง btn name="........." และ ฟอร์ม method post

4. หลังจากกด submit แล้วได้อะไร? จากโค้ดมันควรจะได้ alert สำเร็จหรือ error ก็เอามาลงว่ามันได้อะไร => ไม่รู้จัก update_id ตาม code php ล่างครับ
Code (PHP)
//ทำแล้ว response กลับมา ไม่รู้จาก line พวกนี้ error เช่น

if (isset($_REQUEST['update_id']))

or 

WHERE `Id` = '".$_REQUEST['update_id']."'

or

 echo $sqli = "UPDATE `masterpc` SET 
          `Computername` = '{$Computername_up}',
          `Username` = '{$Username_up}',
          Manufacturer` = '{$Manufacturer_up}',
          `Model` = '{$Model_up}',
          `SN` = '{$SN_up}',
          `CPU` = '{$CPU_up}',
          `OS` = '{$OS_up}' 
     WHERE 
          `Id` = '".$_REQUEST['update_id'].'";

or
'{$Computername_up}'




ประวัติการแก้ไข
2021-10-29 09:09:06
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-29 08:59:40 By : TeeTs
 


 

No. 23



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 20 เขียนโดย : {Cyberman} เมื่อวันที่ 2021-10-28 23:03:21
รายละเอียดของการตอบ ::
ฟอร์ม ไม่ได้ใช้ input ตาม no.1 แต่คือลองแล้ว ค่า Id มาปกติครับ แค่ echo ดู Id ว่ามีมาหรือไม่

แต่จะใช้ <button type="submit" name="btn_update" class="btn btn-primary btn-block mx-auto w-50" value="update">บันทึกข้อมูล</button>
[/quote-no


ประวัติการแก้ไข
2021-10-29 09:14:17
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-29 09:13:17 By : TeeTs
 


 

No. 24



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


ถ้าทำตาม 14 คุณควรจะต้องได้ผลลัพธ์ เช่น
Quote:
UPDATE `masterpc` SET ...

อะไรแบบนี้ หรือ screenshot เอามาแปะให้ดู
ไม่ใช่แค่บอกว่าตอบสั้นไปอะไรของคุณ ซึ่งมันไม่ได้ช่วยให้ผู้จะเข้ามาช่วยตอบได้รู้ความคืบหน้าอะไรเลย
สรุปคือมันก็ยังวนอยู่ที่เดิมเพราะคุณไม่ได้ให้ความร่วมมืออะไรเท่าไหร่ คนจะช่วยก็เดาไปตรงนั้นมั้งตรงนี้มั้ง มันก็ไม่ตรงจุดสักที ทั้งที่ปัญหาก็ไม่น่าจะยากหรอก

ถ้าเดาจากภาพล่าสุดซึ่งไม่รู้นานแค่ไหนแล้วและยังเป็นล่าสุดของคุณหรือไม่ ก็เดาว่ามันมีปัญหาอยู่ที่หน้าสั่ง update (edit.php) เพราะหน้า form-edit.php น่าจะรับ id มาถูกและแสดงผลถูก การส่ง submit ไปหน้า update (edit.php) ก็น่าจะมี id ส่งไป แต่มันไม่เข้าตรงไหนนี่แหละ ใช่มั้ย?


ทำอย่างที่ผมแนะนำให้เป๊ะที่สุดนั่นแหละ ใครๆที่มาช่วยจะได้รู้ปัญหาได้ง่าย
คือเขาให้ทำอะไร คุณทำแล้ว ผลลัพธ์เป็นยังไง เอามาดู
แล้วก็เอาโค้ดล่าสุด หน้าที่เกี่ยวข้องทั้งหมด เช่นหน้าฟอร์มแก้ไข หน้าอัพเดท ณ ตรงนั้นมาดูด้วย เพื่อจะได้รู้ว่าล่าสุดโค้ดมันเป็นยังไงแล้วถึงยังไม่ได้สักทีครับ


ถ้าไม่ทำ ก็ไม่เป็นไร


ประวัติการแก้ไข
2021-10-29 10:52:34
2021-10-29 10:53:14
2021-10-29 10:56:14
2021-10-29 11:11:46
2021-10-29 11:22:20
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-29 10:51:15 By : mr.v
 


 

No. 25



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


จะเขียนย่อๆให้ไปเทียบเอานะ

Code (PHP) form-edit.php
<form action="edit.php" method="post">
    // form ใช้ของเดิม ข่างล่างคือต้องมี และตรวจให้ดีด้วยว่า[[ไม่มี]] html comment เช่น <!-- ... --> คลุมไว้
    // เนื่องจากหน้า form-edit.php รับค่า querystring ?update_id=nnn ดังนั้นค่านี้ถ้าจะใช้อ้างอิงในการอัพเดท มันจะต้องถูกส่งต่อ input ข้างล่างจะต้องมีแบบนี้
    <input type="hidden" name="update_id" value="<?php echo $_REQUEST['update_id']; ?>">
    // ปุ่ม submit
    <button type="submit" name="btn_update" value="update">Submit button, class ไปใส่เอาเองนะ</button>
</form>





หน้า form.php ก็เทียบ input ที่ต้องมีกับปุ่ม เอาให้แม่น แล้วหน้า edit.php ก็เอาผลลัพธ์ของโค้ดข้างล่างนี้มาดู
Code (PHP) edit.php
<?php
require_once('../../../database/connection.php');

$update_id = (isset($_REQUEST['update_id']) ? $_REQUEST['update_id'] : null);

if (!empty($update_id)){
    $sql = "SELECT * FROM masterpc WHERE Id = $update_id; ";
    $result= $conn->query($sql);
    while ($row = $result->fetch_array(MYSQLI_ASSOC)){
        $Computername = $row["Computername"];
        $Username = $row["Username"];
        $Manufacturer = $row["Manufacturer"];
        $Model = $row["Model"];
        $SN = $row["SN"];
        $CPU = $row["CPU"];
        $OS = $row["OS"];
    }
    echo 'ไชโย $update_id ไม่ว่างเปล่า! ' . $update_id . '<br>' . "\n";
} else {
    echo '$update_id ทำไมว่างเปล่าล่ะ?<br>' . "\n";
}

echo 'REQUEST:<pre>' . print_r($_REQUEST, true) . '</pre>';
echo 'GET:<pre>' . print_r($_GET, true) . '</pre>';
echo 'POST:<pre>' . print_r($_POST, true) . '</pre>';

// เอาแค่นี้ก่อน ทดลองแล้วได้ผลยังไง ลองเอามาดู จะได้เห็นกันว่ามันเดี้ยงตรงไหน ยังไม่ต้องสั่ง update อะไรทั้งนั้นนะครับ



ประวัติการแก้ไข
2021-10-29 11:21:06
2021-10-29 11:23:48
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-29 11:06:52 By : mr.v
 


 

No. 26



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 24 เขียนโดย : mr.v เมื่อวันที่ 2021-10-29 10:51:15
รายละเอียดของการตอบ ::
จริงๆแล้ว โปรแกรมบัก มันก็ไม่น่าใช้
เขียนโค้ดผิด มันก็ไม่น่าใช้
ที่บอกว่าไม่น่าใช้ เพราะผมรู้ดีว่า code ที่ใช้นี้ ผมใช้จากระบบเดิม ซึ่งมันไม่มีปัญหาเลยสักนิด

แค่หา update id ไม่เจอเท่านั้นเอง echo id ที่ <input type="hidden" name="update_id" value="<?php echo $_REQUEST['update_id']; ?>"> ค่าไอดียังเจอเลยครับ แต่ไม่ควรใช้ เพราะมันแค่เช็ค ว่ามี id มาไหม

จาก no.10 เห็นไหมครับ ค่า id 6

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-29 13:56:51 By : TeeTs
 


 

No. 27



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 25 เขียนโดย : mr.v เมื่อวันที่ 2021-10-29 11:06:52
รายละเอียดของการตอบ ::
ครับ เดี่ยวไปลองดูครับ ทดสอบก่อนครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-29 14:04:57 By : TeeTs
 


 

No. 28



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


ป้องกัน sql injection ด้วยนะครับ
Code (PHP)
$sqli='UPDATE masterpc SET Computername=?,Username=?,Manufacturer=?,Model=?,SN=?,CPU=?,OS=? WHERE Id = ?';
$stmt = $conn->prepare($sqli);
if($stmt->error>0){
  print_r([ $stmt->error, $sqli, $datas]); exit;
}
$stmt->bind_param('sssssssi', $Computername_up, $Username_up, $Manufacturer_up,$Model_up,$SN_up,$CPU_up,$OS_up, $up); // s = string i = integer
$stmt->execute();
if($stmt->error>0){
  print_r([ $stmt->error, $sqli, $Computername_up, $Username_up, $Manufacturer_up,$Model_up,$SN_up,$CPU_up,$OS_up, $up]); exit;
}


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-29 16:54:47 By : Chaidhanan
 


 
ตอบความคิดเห็นที่ : 22 เขียนโดย : TeeTs เมื่อวันที่ 2021-10-29 08:59:40
รายละเอียดของการตอบ ::
แสดงว่า $_REQUEST['update_id'] ไม่ได้ถูกส่งมาพร้อมกับ uri ของ Form submit

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-30 12:44:20 By : Guest
 


 

No. 30



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



สถานะออฟไลน์
Facebook Blogger

สรุปเคสนี้เดาว่าเกิดจากไม่มี INPUT ที่เก็บค่า id ที่ต้องการอัพเดต จึงไม่ได้ส่งค่าไปครับ

เช่น
<input type="hidden" name="update_id" value="<?php echo $_REQUEST['update_id']; ?>">
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-30 14:47:23 By : {Cyberman}
 


 

No. 31



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


Quote:
จาก No.14 ลองทำดูครับ ผิด syntax อะไรครับ


ภาพ
edit1 error

Code (edit.php)
<?php
require_once('../../../database/connection.php');

if (isset($_REQUEST['update_id'])) {
     $sql = "SELECT * FROM `masterpc` WHERE `Id` = '".$_REQUEST['update_id']."'";
     $result= $conn->query($sql);
     while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
          $Computername = $row["Computername"];
          $Username = $row["Username"];
          $Manufacturer = $row["Manufacturer"];
          $Model = $row["Model"];
          $SN = $row["SN"];
          $CPU = $row["CPU"];
          $OS = $row["OS"];
     }
}

if (isset($_REQUEST['btn_update'])) {
     $Computername_up = $_REQUEST['txt_Computername'];
     $Username_up = $_REQUEST['txt_Username'];
     $Manufacturer_up = $_REQUEST['txt_Manufacturer'];
     $Model_up = $_REQUEST['txt_Model'];
     $SN_up = $_REQUEST['txt_SN'];
     $CPU_up = $_REQUEST['txt_CPU'];
     $OS_up = $_REQUEST['txt_OS'];

     echo $sqli = "UPDATE `masterpc` SET 
          `Computername` = '{$Computername_up}',
          `Username` = '{$Username_up}',
          Manufacturer` = '{$Manufacturer_up}',
          `Model` = '{$Model_up}',
          `SN` = '{$SN_up}',
          `CPU` = '{$CPU_up}',
          `OS` = '{$OS_up}' 
     WHERE 
          `Id` = '".$_REQUEST['update_id'].'";
   
     if (mysqli_query($conn, $sqli)) {        
          echo "<script>alert('แก้ไขข้อมูลสำเร็จ...'); window.location ='index.php';</script>";
     } else {
          echo "Error: " . $sqli . "<br>" . mysqli_error($conn);
     }
     mysqli_close($conn);
}
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-31 18:10:43 By : TeeTs
 


 

No. 32



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 31 เขียนโดย : TeeTs เมื่อวันที่ 2021-10-31 18:10:43
รายละเอียดของการตอบ ::
บรรทัด 36 ในโค้ดข้างบนเปลี่ยนเป็น
Code (PHP)
`Id` = '".$_REQUEST['update_id']."'";




ประวัติการแก้ไข
2021-10-31 18:40:06
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-31 18:39:46 By : mr.v
 


 

No. 33



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 32 เขียนโดย : mr.v เมื่อวันที่ 2021-10-31 18:39:46
รายละเอียดของการตอบ ::
แก้บรรทัด 36 แล้วครับ

response หน้าขาว ไม่มีแสดง error ครับ
ภาพ
edit2 error

Code (edit.php)
<?php
require_once('../../../database/connection.php');

if (isset($_REQUEST['update_id'])) {
     $sql = "SELECT * FROM `masterpc` WHERE `Id` = '".$_REQUEST['update_id']."' ";
     $result= $conn->query($sql);
     while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
          $Computername = $row["Computername"];
          $Username = $row["Username"];
          $Manufacturer = $row["Manufacturer"];
          $Model = $row["Model"];
          $SN = $row["SN"];
          $CPU = $row["CPU"];
          $OS = $row["OS"];
     }
}

if (isset($_REQUEST['btn_update'])) {
     $Computername_up = $_REQUEST['txt_Computername'];
     $Username_up = $_REQUEST['txt_Username'];
     $Manufacturer_up = $_REQUEST['txt_Manufacturer'];
     $Model_up = $_REQUEST['txt_Model'];
     $SN_up = $_REQUEST['txt_SN'];
     $CPU_up = $_REQUEST['txt_CPU'];
     $OS_up = $_REQUEST['txt_OS'];

     echo $sqli = "UPDATE `masterpc` SET 
          `Computername` = '{$Computername_up}',
          `Username` = '{$Username_up}',
          Manufacturer` = '{$Manufacturer_up}',
          `Model` = '{$Model_up}',
          `SN` = '{$SN_up}',
          `CPU` = '{$CPU_up}',
          `OS` = '{$OS_up}' 
     WHERE 
          `Id` = '".$_REQUEST['update_id']."' ";
   
     if (mysqli_query($conn, $sqli)) {        
          echo "<script>alert('แก้ไขข้อมูลสำเร็จ...'); window.location ='index.php';</script>";
     } else {
          echo "Error: " . $sqli . "<br>" . mysqli_error($conn);
     }
     mysqli_close($conn);
}
?>


Code (form-edit.php)
<?php 
    
     require_once('../../../database/connection.php'); 
     require_once('edit.php'); 
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>แก้ไขข้อมูลทรัพย์สิน | CMS</title>
  <link rel="shortcut icon" type="image/x-icon" href="../../../assets/images/logo.png">
  <!-- stylesheet -->
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Kanit" >
  <link rel="stylesheet" href="../../../plugins/fontawesome-free/css/all.min.css">
  <link rel="stylesheet" href="../../../plugins/sweetalert2-theme-bootstrap-4/bootstrap-4.min.css">
  <link rel="stylesheet" href="../../../assets/css/adminlte.min.css">
  <link rel="stylesheet" href="../../../assets/css/style.css">
</head>
<body class="hold-transition sidebar-mini">
<div class="wrapper">
    <?php include_once('../includes/sidebar.php') ?>
    <div class="content-wrapper pt-3">
        <!-- Main content -->
        <div class="content">
            <div class="container-fluid">
                <div class="row">
                    <div class="col-12">
                        <div class="card shadow">
                            <div class="card-header border-0 pt-4">
                                <h4>
                                    <i class="fas fa-desktop"></i> 
                                    แก้ไขข้อมูลผู้ดูแล
                                </h4>
                                <a href="./" class="btn btn-info my-3 ">
                                    <i class="fas fa-list"></i>
                                    กลับหน้าหลัก
                                </a>
                            </div>
                            <form action="edit.php" method="POST">
                                <div class="card-body">
                                    <div class="row">
                                        <div class="col-md-6 px-1 px-md-5">

                                            <div class="form-group">
                                                <label for="Computername">Computer Name</label>
                                                <input type="text" class="form-control" name="txt_Computername" id="Computername" value="<?php echo $Computername; ?>" required>
                                            </div>
                                            <div class="form-group">
                                                <label for="Username">Username</label>
                                                <input type="text" class="form-control" name="txt_Username" id="Username" value="<?php echo $Username; ?>" required>
                                            </div>
                                            <div class="form-group">
                                                <label for="Manufacturer">Manufacturer</label>
                                                <input type="text" class="form-control" name="txt_Manufacturer" id="Manufacturer" value="<?php echo $Manufacturer; ?>" required>
                                            </div>
                                            <div class="form-group">
                                                <label for="Model">Model</label>
                                                <input type="text" class="form-control" name="txt_Model" id="Model" value="<?php echo $Model; ?>" required>
                                            </div>

                                        </div>

                                        <div class="col-md-6 px-1 px-md-5">
                                            <div class="form-group">
                                                <label for="Serialnumber">Serial Number</label>
                                                <input type="text" class="form-control" name="txt_SN" id="Serialnumber" value="<?php echo $SN; ?>" required>
                                            </div>

                                            <div class="form-group">
                                                <label for="CPU">CPU</label>
                                                <input type="text" class="form-control" name="txt_CPU" id="CPU" value="<?php echo $CPU; ?>" required> 
                                             </div>

                                            <div class="form-group">
                                                <label for="OS">OS</label>
                                                <input type="text" class="form-control" name="txt_OS" id="OS" value="<?php echo $OS; ?>" required> 
                                            </div>

                                        </div>
                                    </div>
                                </div>
                                  <div class="card-footer">
                                    <input type="hidden" name="update_id" value="<?php echo $_REQUEST['update_id']; ?>">
                                    <button type="submit" name="btn_update" class="btn btn-primary btn-block mx-auto w-50" value="update">บันทึกข้อมูล</button>
                                    </div>
                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
     <?php include_once('../includes/footer.php') ?>
</div>
<!-- SCRIPTS -->
<script src="../../../plugins/jquery/jquery.min.js"></script>
<script src="../../../plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="../../../plugins/sweetalert2/sweetalert2.min.js"></script>
<script src="../../../assets/js/adminlte.min.js"></script>


</body>
</html>


***code no.14 แก้ตามคำแนะนำแล้ว เจอหน้าขาว ไม่มี error ใดๆ เดี๋ยวผมเสริมจาก no.25 เอาทีละ step ยังไม่ต้องสั่ง update, no.28 ป้องกัน sql injection ครับ***

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-31 21:28:23 By : TeeTs
 


 

No. 34



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


ที่หน้าขาวเพราะว่าไม่เข้าเงื่อนไขนี้ ที่มันตรวจ $_REQUEST['btn_update']

ส่วน $_REQUEST['update_id'] คงจะมีแล้ว

ใส่โค้ดนี้ลงหน้า edit.php ที่รับค่าจากฟอร์ม บรรทัดบนๆก็ได้
แล้วเอาผลมาดู ผมว่าใช่

Code (PHP)
echo 'REQUEST:<pre>' . print_r($_REQUEST, true) . '</pre>';
echo 'GET:<pre>' . print_r($_GET, true) . '</pre>';
echo 'POST:<pre>' . print_r($_POST, true) . '</pre>';

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-31 21:35:11 By : mr.v
 


 

No. 35



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 34 เขียนโดย : mr.v เมื่อวันที่ 2021-10-31 21:35:11
รายละเอียดของการตอบ ::
ครับ ใส่ code ตามที่แนะนำแล้วนะครับ

response
Code (PHP)
REQUEST:
Array
(
    [update_id] => 1
)
GET:
Array
(
    [update_id] => 1
)
POST:
Array
(
)


Code (edit.php)
<?php
require_once('../../../database/connection.php');

if (isset($_REQUEST['update_id'])) {
     $sql = "SELECT * FROM `masterpc` WHERE `Id` = '".$_REQUEST['update_id']."' ";
     $result= $conn->query($sql);
     while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
          $Computername = $row["Computername"];
          $Username = $row["Username"];
          $Manufacturer = $row["Manufacturer"];
          $Model = $row["Model"];
          $SN = $row["SN"];
          $CPU = $row["CPU"];
          $OS = $row["OS"];
     }
}

     echo 'REQUEST:<pre>' . print_r($_REQUEST, true) . '</pre>';
     echo 'GET:<pre>' . print_r($_GET, true) . '</pre>';
     echo 'POST:<pre>' . print_r($_POST, true) . '</pre>';
     
if (isset($_REQUEST['btn_update'])) {
     $Computername_up = $_REQUEST['txt_Computername'];
     $Username_up = $_REQUEST['txt_Username'];
     $Manufacturer_up = $_REQUEST['txt_Manufacturer'];
     $Model_up = $_REQUEST['txt_Model'];
     $SN_up = $_REQUEST['txt_SN'];
     $CPU_up = $_REQUEST['txt_CPU'];
     $OS_up = $_REQUEST['txt_OS'];

     echo $sqli = "UPDATE `masterpc` SET 
          `Computername` = '{$Computername_up}',
          `Username` = '{$Username_up}',
          Manufacturer` = '{$Manufacturer_up}',
          `Model` = '{$Model_up}',
          `SN` = '{$SN_up}',
          `CPU` = '{$CPU_up}',
          `OS` = '{$OS_up}' 
     WHERE 
          `Id` = '".$_REQUEST['update_id']."' ";
   
     if (mysqli_query($conn, $sqli)) {        
          echo "<script>alert('แก้ไขข้อมูลสำเร็จ...'); window.location ='index.php';</script>";
     } else {
          echo "Error: " . $sqli . "<br>" . mysqli_error($conn);
     }
     mysqli_close($conn);
}
?>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-31 21:44:50 By : TeeTs
 


 

No. 36



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 35 เขียนโดย : TeeTs เมื่อวันที่ 2021-10-31 21:44:50
รายละเอียดของการตอบ ::
นั่นหมายความว่าค่า btn_update รวมทั้งค่าอื่นๆในฟอร์มไม่ได้ส่งมาด้วยเลย ทั้งที่ถ้าดูจากฟอร์ม คห 33 แล้วต้องส่งมาอย่างน้อย 2 ค่า คือ btn_update และ update_id

แล้วก็ค่า update_id ต้องส่งมาแบบ POST ไม่ใช่ GET

แสดงว่ามีการถูกลบล้างแปลงค่าในระหว่างการ submit มายังหน้า edit.php.
อาจจะเช่น JS ไปล้างค่ามัน
หรือคุณอาจจะใช้ฟอร์มอื่น submit มาแทน ไม่ใช่ form-edit.php ในคห. 33 เพราะผมลองเลาะเอา php ใน form-edit.php ออกหมดแล้ว กดส่งมันมาหมดครับ
ss

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-31 21:53:05 By : mr.v
 


 

No. 37



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


ถ้าตัวฟอร์มเป็นแบบในคห. 33 จริงๆ ให้ลองปิด Javascript หรือเอาออกให้หมดก่อน แล้วทดลองกรอกข้อมูลกด submit ดูใหม่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-31 21:54:58 By : mr.v
 


 

No. 38



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 36 เขียนโดย : mr.v เมื่อวันที่ 2021-10-31 21:53:05
รายละเอียดของการตอบ ::
ขออภัยครับ ได้ข้อมูลตาม no.36 แล้วครับ

แก้ไขๆ หน้า index.php ผมใส่ a href ผิดครับ

Code (PHP)
//ก่อน
<a href="edit.php?update_id=<?php echo $row["Id"]; ?>" type="button" class="btn btn-danger "><i class="far fa-edit"></i> 
</a>

//แก้เป็น 
<a href="form-edit.php?update_id=<?php echo $row["Id"]; ?>" type="button" class="btn btn-danger "><i class="far fa-edit"></i> 
</a>

//ข้อมูลมาครบครับ


Code (index.php)
<?php 
   
    require_once('../../../database/connection.php'); 
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>มาสเตอร์ พีซี | CMS</title>
  <link rel="shortcut icon" type="image/x-icon" href="../../../assets/images/logo.png">
  <!-- stylesheet -->
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Kanit" >
  <link rel="stylesheet" href="../../../plugins/fontawesome-free/css/all.min.css">
  <link rel="stylesheet" href="../../../plugins/sweetalert2-theme-bootstrap-4/bootstrap-4.min.css">
  <link rel="stylesheet" href="../../../assets/css/adminlte.min.css">
  <link rel="stylesheet" href="../../../assets/css/style.css">
  <!-- Datatables -->
  <link rel="stylesheet" href="../../../plugins/datatables-bs4/css/dataTables.bootstrap4.min.css">
  <link rel="stylesheet" href="../../../plugins/datatables-responsive/css/responsive.bootstrap4.min.css">
</head>
<body class="hold-transition sidebar-mini">
<div class="wrapper">
    <?php include_once('../includes/sidebar.php') ?>
    <div class="content-wrapper pt-3">
        <!-- Main content -->
        <div class="content">
            <div class="container-fluid">
                <div class="row">
                    <div class="col-12">
                        <div class="card shadow">
                            <div class="card-header border-0 pt-4">
                                <h4>
                                    <i class="fas fa-desktop"></i> 
                                    มาสเตอร์ พีซี
                                </h4>
                                <a href="form-create.php" class="btn btn-primary mt-3">
                                    <i class="fas fa-plus"></i>
                                    เพิ่มข้อมูล
                                </a>
                            </div>
                            <div class="card-body">
                              <!-- <div style="overflow-x:auto;"> -->
                                <div class="table-responsive">
                                <table  id="myTable" class="table table-striped table-hover">

                                   <thead>
                                    <tr>
                                      <th>ID</th>
                                      <th>Computername</th>
                                      <th>Username</th>
                                      <th>Manufacturer</th>
                                      <th>Model</th>
                                      <th>Serial Number</th>
                                      <th>CPU</th>
                                      <th>OS</th>
                                      <th>Action</th>

                                    </tr>
                                   </thead>

                                   <tbody>
                                    <?php

                                    $sql = "SELECT * FROM masterpc";

                                    $result = $conn->query($sql);
                                    while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
                                    ?>
                                      <!-- class="d-none text-left" style="font-size:8pt;"-->
                                      <tr>
                                        <td class="text-left"><?php echo $row["Id"]; ?></td>
                                        <td class="text-left"><?php echo $row["Computername"]; ?></td>
                                        <td class="text-left"><?php echo $row["Username"]; ?></td>
                                        <td class="text-left"><?php echo $row["Manufacturer"]; ?></td>
                                        <td class="text-left"><?php echo $row["Model"]; ?></td>
                                        <td class="text-left"><?php echo $row["SN"]; ?></td>
                                        <td class="text-left"><?php echo $row["CPU"]; ?></td>
                                        <td class="text-left"><?php echo $row["OS"]; ?></td>

                                        <td>
                                         <div class="btn-group" role="group" aria-label="Basic mixed styles example">
                                          <a href="form-edit.php?update_id=<?php echo $row["Id"]; ?>" type="button" class="btn btn-danger "><i class="far fa-edit"></i> 
                                          </a>
                                          <a href="delete.php?delete_id=<?php echo $row["Id"]; ?>" type="button" class="btn btn-warning text-white"><i class="fas fa-trash"></i> 
                                          </a>
                                        </div>
                                        </td>
                                      </tr>

                                        <?php } ?>
                                     </tbody>
                                </table>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
     <?php include_once('../includes/footer.php') ?>
</div>

<!-- scripts -->
<script src="../../../plugins/jquery/jquery.min.js"></script>
<script src="../../../plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="../../../plugins/sweetalert2/sweetalert2.min.js"></script>
<script src="../../../assets/js/adminlte.min.js"></script>

<!-- datatables -->
<script src="..././../plugins/datatables/jquery.dataTables.min.js"></script>
<script src="../../../plugins/datatables-bs4/js/dataTables.bootstrap4.min.js"></script>
<script src="../../../plugins/datatables-responsive/js/dataTables.responsive.min.js"></script>
<script src="../../../plugins/datatables-responsive/js/responsive.bootstrap4.min.js"></script>


</body>
</html>


Code (form-edit.php)
<?php 
    
     require_once('../../../database/connection.php'); 
     require_once('edit.php'); 
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>แก้ไขข้อมูลทรัพย์สิน | CMS</title>
  <link rel="shortcut icon" type="image/x-icon" href="../../../assets/images/logo.png">
  <!-- stylesheet -->
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Kanit" >
  <link rel="stylesheet" href="../../../plugins/fontawesome-free/css/all.min.css">
  <link rel="stylesheet" href="../../../plugins/sweetalert2-theme-bootstrap-4/bootstrap-4.min.css">
  <link rel="stylesheet" href="../../../assets/css/adminlte.min.css">
  <link rel="stylesheet" href="../../../assets/css/style.css">
</head>
<body class="hold-transition sidebar-mini">
<div class="wrapper">
    <?php include_once('../includes/sidebar.php') ?>
    <div class="content-wrapper pt-3">
        <!-- Main content -->
        <div class="content">
            <div class="container-fluid">
                <div class="row">
                    <div class="col-12">
                        <div class="card shadow">
                            <div class="card-header border-0 pt-4">
                                <h4>
                                    <i class="fas fa-desktop"></i> 
                                    แก้ไขข้อมูลผู้ดูแล
                                </h4>
                                <a href="./" class="btn btn-info my-3 ">
                                    <i class="fas fa-list"></i>
                                    กลับหน้าหลัก
                                </a>
                            </div>
                            <form action="edit.php" method="POST">
                                <div class="card-body">
                                    <div class="row">
                                        <div class="col-md-6 px-1 px-md-5">

                                            <div class="form-group">
                                                <label for="Computername">Computer Name</label>
                                                <input type="text" class="form-control" name="txt_Computername" id="Computername" value="<?php echo $Computername; ?>" required>
                                            </div>
                                            <div class="form-group">
                                                <label for="Username">Username</label>
                                                <input type="text" class="form-control" name="txt_Username" id="Username" value="<?php echo $Username; ?>" required>
                                            </div>
                                            <div class="form-group">
                                                <label for="Manufacturer">Manufacturer</label>
                                                <input type="text" class="form-control" name="txt_Manufacturer" id="Manufacturer" value="<?php echo $Manufacturer; ?>" required>
                                            </div>
                                            <div class="form-group">
                                                <label for="Model">Model</label>
                                                <input type="text" class="form-control" name="txt_Model" id="Model" value="<?php echo $Model; ?>" required>
                                            </div>

                                        </div>

                                        <div class="col-md-6 px-1 px-md-5">
                                            <div class="form-group">
                                                <label for="Serialnumber">Serial Number</label>
                                                <input type="text" class="form-control" name="txt_SN" id="Serialnumber" value="<?php echo $SN; ?>" required>
                                            </div>

                                            <div class="form-group">
                                                <label for="CPU">CPU</label>
                                                <input type="text" class="form-control" name="txt_CPU" id="CPU" value="<?php echo $CPU; ?>" required> 
                                             </div>

                                            <div class="form-group">
                                                <label for="OS">OS</label>
                                                <input type="text" class="form-control" name="txt_OS" id="OS" value="<?php echo $OS; ?>" required> 
                                            </div>

                                        </div>
                                    </div>
                                </div>
                                  <div class="card-footer">
                                    <input type="hidden" name="update_id" value="<?php echo $_REQUEST['update_id']; ?>">
                                    <button type="submit" name="btn_update" class="btn btn-primary btn-block mx-auto w-50" value="update">บันทึกข้อมูล</button>
                                    </div>
                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
     <?php include_once('../includes/footer.php') ?>
</div>
<!-- SCRIPTS -->
<script src="../../../plugins/jquery/jquery.min.js"></script>
<script src="../../../plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="../../../plugins/sweetalert2/sweetalert2.min.js"></script>
<script src="../../../assets/js/adminlte.min.js"></script>

</body>
</html>


Code (edit.php)
<?php
require_once('../../../database/connection.php');

if (isset($_REQUEST['update_id'])) {
     $sql = "SELECT * FROM `masterpc` WHERE `Id` = '".$_REQUEST['update_id']."' ";
     $result= $conn->query($sql);
     while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
          $Computername = $row["Computername"];
          $Username = $row["Username"];
          $Manufacturer = $row["Manufacturer"];
          $Model = $row["Model"];
          $SN = $row["SN"];
          $CPU = $row["CPU"];
          $OS = $row["OS"];
     }
}

     echo 'REQUEST:<pre>' . print_r($_REQUEST, true) . '</pre>';
     echo 'GET:<pre>' . print_r($_GET, true) . '</pre>';
     echo 'POST:<pre>' . print_r($_POST, true) . '</pre>';
     
if (isset($_REQUEST['btn_update'])) {
     $Computername_up = $_REQUEST['txt_Computername'];
     $Username_up = $_REQUEST['txt_Username'];
     $Manufacturer_up = $_REQUEST['txt_Manufacturer'];
     $Model_up = $_REQUEST['txt_Model'];
     $SN_up = $_REQUEST['txt_SN'];
     $CPU_up = $_REQUEST['txt_CPU'];
     $OS_up = $_REQUEST['txt_OS'];

     echo $sqli = "UPDATE `masterpc` SET 
          `Computername` = '{$Computername_up}',
          `Username` = '{$Username_up}',
          Manufacturer` = '{$Manufacturer_up}',
          `Model` = '{$Model_up}',
          `SN` = '{$SN_up}',
          `CPU` = '{$CPU_up}',
          `OS` = '{$OS_up}' 
     WHERE 
          `Id` = '".$_REQUEST['update_id']."' ";
   
     if (mysqli_query($conn, $sqli)) {        
          echo "<script>alert('แก้ไขข้อมูลสำเร็จ...'); window.location ='index.php';</script>";
     } else {
          echo "Error: " . $sqli . "<br>" . mysqli_error($conn);
     }
     mysqli_close($conn);
}
?>


Code (response)
REQUEST:
Array
(
    [txt_Computername] => DESKTOP-817QJU0
    [txt_Username] => DESKTOP-817QJU0ACER
    [txt_Manufacturer] => Acer1
    [txt_Model] => Aspire A315-21
    [txt_SN] => NXGNVST007732194697600
    [txt_CPU] => AMD A4-9120 RADEON R3, 4 COMPUTE CORES 2C+2G
    [txt_OS] => Microsoft Windows 10 Pro
    [update_id] => 1
    [btn_update] => update
)
GET:
Array
(
)
POST:
Array
(
    [txt_Computername] => DESKTOP-817QJU0
    [txt_Username] => DESKTOP-817QJU0ACER
    [txt_Manufacturer] => Acer1
    [txt_Model] => Aspire A315-21
    [txt_SN] => NXGNVST007732194697600
    [txt_CPU] => AMD A4-9120 RADEON R3, 4 COMPUTE CORES 2C+2G
    [txt_OS] => Microsoft Windows 10 Pro
    [update_id] => 1
    [btn_update] => update
)
UPDATE `masterpc` SET `Computername` = 'DESKTOP-817QJU0', `Username` = 'DESKTOP-817QJU0ACER', Manufacturer` = 'Acer1', `Model` = 'Aspire A315-21', `SN` = 'NXGNVST007732194697600', `CPU` = 'AMD A4-9120 RADEON R3, 4 COMPUTE CORES 2C+2G', `OS` = 'Microsoft Windows 10 Pro' WHERE `Id` = '1' Error: UPDATE `masterpc` SET `Computername` = 'DESKTOP-817QJU0', `Username` = 'DESKTOP-817QJU0ACER', Manufacturer` = 'Acer1', `Model` = 'Aspire A315-21', `SN` = 'NXGNVST007732194697600', `CPU` = 'AMD A4-9120 RADEON R3, 4 COMPUTE CORES 2C+2G', `OS` = 'Microsoft Windows 10 Pro' WHERE `Id` = '1'
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '` = 'Acer1', `Model` = 'Aspire A315-21', `SN` = 'NXGNVS...' at line 4


***error in your SQL syntax หน้า response ผิด syntax อะไรหรอครับ ผมเช็คแล้ว ตามที่ no.14 แนะนำมาครับ***



ประวัติการแก้ไข
2021-10-31 22:27:07
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-31 22:23:39 By : TeeTs
 


 

No. 39



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


เปิดปิด backtick (`) ไม่ครบตรง Manufacturer

ตรวจให้ดีครับว่ามันจะต้องมี `Manufacturer` = 'xxx'
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-31 22:41:56 By : mr.v
 


 

No. 40



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 39 เขียนโดย : mr.v เมื่อวันที่ 2021-10-31 22:41:56
รายละเอียดของการตอบ ::
ขอบคุณทุกคนๆมากครับ แก้ได้แล้วครับ

ผมถามเพิ่มเติมครับ สงสัยมานานแล้วครับ
1. ` ตัวนี้กดใช้ยังไงหรอครับ อยู่กับปุ่ม เปลี่ยนภาษา en,thai ผมกด2-3 รอบไม่ได้ครับ
2. $sql = "SELECT * FROM `masterpc` WHERE `Id` ใช้ตัวนี้ (`) และทำไมไม่ใช้ตัวนี้ (') และไม่ใช้ตัวนี้ (`) or (')คลุมได้ไหมครับ
3. ไม่ใช่ใช้แบบนี้หรอครับ $sql = "SELECT * FROM 'masterpc' WHERE 'Id'
4. `Computername` = '{$Computername_up}', ทำไมใช้ (`) และปกติใช้ตัวนี้ (') ไม่ใช่หรอครับ และ '{$Computername_up} ทำไมต้องใช้ {} คลุมหรอครับ
5. ตัวนี้ (`) ที่คลุมตั้งแต่ข้อที่ 1,2,4 สามารถเอาออกได้ไหมครับ ศึกษา SQL UPDATE Statement ไม่เจอตัวนี้ (`) เลยครับ ปกติเจอตัวนี้มากกว่าครับ (')

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-31 23:14:22 By : TeeTs
 


 

No. 41



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 40 เขียนโดย : TeeTs เมื่อวันที่ 2021-10-31 23:14:22
รายละเอียดของการตอบ ::
เห็นมั้ยว่าทำอย่างที่ผมบอกมันจะแก้ได้เร็ว และจะเสร็จไปนานแล้ว เพราะคนช่วยไม่ต้องเดาทุกครั้ง

1. ปุ่ม ` เรียกว่า back tick ถ้าเปลี่ยนภาษาโดยใช้ปุ่มนี้จะกดไม่ได้ ให้กด ALT+96 แต่ถ้าเปลี่ยนภาษาโดยใช้ปุ่มอื่น เช่น ALT+Shift หรือ [windows]+space แบบที่ผมใช้อยู่ จะกด backtick ได้เลย

2. backtick มีไว้คลุมชื่อฐานข้อมูล ชื่อตาราง ชื่อคอลัมน์ เพื่อบางกรณีชื่อคอลัมน์ไปตรงคำต้องห้าม ก็คลุมด้วย backtick มันจะทำงานได้ ไม่งั้นจะ error
ถ้าไม่มีอะไรตรงคำต้องห้ามจะไม่คลุม backtick ก็ได้ เช่น SELECT * FROM mytable จะได้เท่ากันกับ SELECT * FROM `mytable` แต่ผมจะแนะนำให้คลุมเพื่อแยกแยะให้ชัดเจนดูง่าย.
quote (') มีไว้เพื่อคลุมค่าที่เป็น string เช่น WHERE `column` = 'value'
ถ้าบางกรณีแบบนี้จะ error เช่น SELECT * FROM date เพราะคำว่า date เป็นคำสงวน 12 แต่ถ้าคลุมด้วย backtick มันจะทำงานได้ เช่น SELECT * FROM `date`

3. quote(') เอาไปคลุมชื่อตารางไม่ได้ ถ้าอยากลองก็ทดลองคำสั่งนั้นใน phpmyadmin แล้วดูว่ามัน error มั้ย? บางทีเรื่องอยากรู้อยากเห็นง่ายๆแบบนี้ทำได้ด้วยการทดลองเอาเอง และก็ควรหมั่นทดลองจะได้รู้แล้วสนุกด้วย.

Code (SQL)
SELECT * FROM 'rdb_posts'

Quote:
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''rdb_posts''


4. คำตอบอยู่ใน 2. ส่วนการคลุมด้วยปีกกา (curly bracket) เป็นภาษาของ PHP ใช้กับการกำหนด string ด้วย double quote เช่น $string = "My {$name}"; แต่ถ้ากำหนด string ด้วย single quote จะใช้ไม่ได้ เช่น $string = 'My {$name}'; อยากรู้ไปทดลองเอาเอง หมั่นทดลองทดสอบ.

5. อธิบายไปแล้วใน 2. ดูตัวอย่างเพิ่มเติม
https://dev.mysql.com/doc/refman/8.0/en/identifiers.html
https://mariadb.com/kb/en/identifier-names/

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-31 23:41:07 By : mr.v
 


 
ตอบความคิดเห็นที่ : 40 เขียนโดย : TeeTs เมื่อวันที่ 2021-10-31 23:14:22
รายละเอียดของการตอบ ::
backtick (`) หรือ เคาะเว้นวรรค หรือ ไม่เว้น
หรือ '{$Computername_up}' มันก็คือมาตรฐานการเขียนเช่นกัน
พอคุณเขียน javascript มันก็คล้ายๆกัน
มันเป็น Format, Code Style ในการเขียนให้อ่านง่ายเป็นระเบียบเรียบร้อย
ซึ่งมันเป็นข้อตกลงกันในทีม ส่วนใหญ่เรายึดตามมาตรฐานการเขียน (Code Standard)
ต่อจากนั้นคุณจะต้องรู้การ Refactoring, TDD
หรือรวมถึงการเลือกใช้ภาษาให้เหมาะกับงาน
ซึ่งต่อไปคุณต้องเรียน node, mongo, express, react, vue, angular, progressive web application, firebase etc,...


Code
เพราะนักพัฒนาไม่ได้สื่อสารแค่ภาษาเดียว

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-11-01 08:10:46 By : Guest
 


 

No. 43



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


Quote:
ขอบคุณทุกคนมากๆครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-11-01 08:18:55 By : TeeTs
 


 

No. 44



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 38 เขียนโดย : TeeTs เมื่อวันที่ 2021-10-31 22:23:39
รายละเอียดของการตอบ ::
... จากโค๊ดที่เห็น.....

flow control ไม่ถูกต้องนะครับ

ลองดูตัวอย่างนี้ดูครับ
Code (PHP)
// file:  form-edit.php
<?php 
$include_update_php = 'update_input.php'; // ชื่อไฟล์ที่ใช้ รับข้อมูลมา อัพเดท
$include_form_edit = 'update_form.php'; // ชื่อไฟล์แสดง html รับข้อมูล
if(isset($_POST['btn_update'])){
  include $update_php; // do update database
  header('location: link-file-ที่ต้องการ.php'); // ป้องกันการกด f5 ย้อนกลับ แล้วเกิดการ ทำงานซ้ำ
}elseif(isset($_GET['update_id'])){
  include $include_form_edit; // แสดง form อย่างเดียว
}else{
  header('location: link-file-เมื่อการเข้ามาผิดปกติ.php')
}


มันจะช่วยให้ทำงานเร็วขึ้น ไม่โหลดไฟล์ มาโดยไม่จำเป็น และการใช้ ตัวแปรในการ include ป้องกันการโหลดไฟล์ มาคอมไพล ล่วงหน้า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-11-01 13:25:34 By : Chaidhanan
 


 

No. 45



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 44 เขียนโดย : Chaidhanan เมื่อวันที่ 2021-11-01 13:25:34
รายละเอียดของการตอบ ::
code ส่วนนี้ทั้งหมดไว้บน form-edit.php ไหมครับ หรือไว้ในหน้า edit.php ครับ

ถ้าไว้หน้า form-edit.php ใช้แบบนี้ไหมครับ
Code (PHP)
<?php 
     require_once('../../../database/connection.php'); 
     //require_once('edit.php'); 

        $include_update_php = 'edit.php'; // ชื่อไฟล์ที่ใช้ รับข้อมูลมา อัพเดท
        $include_form_edit = 'update_form.php'; // บรรทัดนี้อยู่ใน form-edit.php แล้ว ผมไม่เข้าใจว่าทำไมต้องเรียกมาอีก

        if(isset($_POST['btn_update'])){
          include $update_php; // do update database และ $update_php เอาจากตัวแปรไหนครับ ถ้าไม่ผิดคือ $include_update_php หรือไม่ครับ
          header('location: index.php'); // ป้องกันการกด f5 ย้อนกลับ แล้วเกิดการ ทำงานซ้ำ
        }elseif(isset($_GET['update_id'])){
          include $include_form_edit; // แสดง form อย่างเดียว
        }else{
          header('location: index.php')
        }
?>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-11-01 15:46:12 By : TeeTs
 


 

No. 46



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


หลังจากปรับใช้ code ครับ ขึ้นแบบนี้ครับ
ภาพที่ 1
edit3 error

Code (form-edit.php)
<?php 
    
     require_once('../../../database/connection.php'); 
     // require_once('edit.php'); 

        $include_update_php = 'edit.php'; // ชื่อไฟล์ที่ใช้ รับข้อมูลมา อัพเดท
        $include_form_edit = 'update_form.php'; // บรรทัดนี้อยู่ใน form-edit.php แล้ว ผมไม่เข้าใจว่าทำไมต้องเรียกมาอีก

        if(isset($_POST['btn_update'])){
          include $include_update_php; // do update database และ $update_php เอาจากตัวแปรไหนครับ ถ้าไม่ผิดคือ $include_update_php หรือไม่ครับ
          header('location: index.php'); // ป้องกันการกด f5 ย้อนกลับ แล้วเกิดการ ทำงานซ้ำ
        }elseif(isset($_GET['update_id'])){
          include $include_form_edit; // แสดง form อย่างเดียว
        }else{
          header('location: index.php');
        }
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>แก้ไขข้อมูลทรัพย์สิน | CMS</title>
  <link rel="shortcut icon" type="image/x-icon" href="../../../assets/images/logo.png">
  <!-- stylesheet -->
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Kanit" >
  <link rel="stylesheet" href="../../../plugins/fontawesome-free/css/all.min.css">
  <link rel="stylesheet" href="../../../plugins/sweetalert2-theme-bootstrap-4/bootstrap-4.min.css">
  <link rel="stylesheet" href="../../../assets/css/adminlte.min.css">
  <link rel="stylesheet" href="../../../assets/css/style.css">
</head>
<body class="hold-transition sidebar-mini">
<div class="wrapper">
    <?php include_once('../includes/sidebar.php') ?>
    <div class="content-wrapper pt-3">
        <!-- Main content -->
        <div class="content">
            <div class="container-fluid">
                <div class="row">
                    <div class="col-12">
                        <div class="card shadow">
                            <div class="card-header border-0 pt-4">
                                <h4>
                                    <i class="fas fa-desktop"></i> 
                                    แก้ไขข้อมูลผู้ดูแล
                                </h4>
                                <a href="./" class="btn btn-info my-3 ">
                                    <i class="fas fa-list"></i>
                                    กลับหน้าหลัก
                                </a>
                            </div>
                            <form action="edit.php" method="POST">
                                <div class="card-body">
                                    <div class="row">
                                        <div class="col-md-6 px-1 px-md-5">

                                            <div class="form-group">
                                                <label for="Computername">Computer Name</label>
                                                <input type="text" class="form-control" name="txt_Computername" id="Computername" value="<?php echo $Computername; ?>" required>
                                            </div>
                                            <div class="form-group">
                                                <label for="Username">Username</label>
                                                <input type="text" class="form-control" name="txt_Username" id="Username" value="<?php echo $Username; ?>" required>
                                            </div>
                                            <div class="form-group">
                                                <label for="Manufacturer">Manufacturer</label>
                                                <input type="text" class="form-control" name="txt_Manufacturer" id="Manufacturer" value="<?php echo $Manufacturer; ?>" required>
                                            </div>
                                            <div class="form-group">
                                                <label for="Model">Model</label>
                                                <input type="text" class="form-control" name="txt_Model" id="Model" value="<?php echo $Model; ?>" required>
                                            </div>

                                        </div>

                                        <div class="col-md-6 px-1 px-md-5">
                                            <div class="form-group">
                                                <label for="Serialnumber">Serial Number</label>
                                                <input type="text" class="form-control" name="txt_SN" id="Serialnumber" value="<?php echo $SN; ?>" required>
                                            </div>

                                            <div class="form-group">
                                                <label for="CPU">CPU</label>
                                                <input type="text" class="form-control" name="txt_CPU" id="CPU" value="<?php echo $CPU; ?>" required> 
                                             </div>

                                            <div class="form-group">
                                                <label for="OS">OS</label>
                                                <input type="text" class="form-control" name="txt_OS" id="OS" value="<?php echo $OS; ?>" required> 
                                            </div>

                                        </div>
                                    </div>
                                </div>
                                  <div class="card-footer">
                                    <!-- <input type="hidden" name="update_id" value="<?php echo row["Id"]; ?>">
                                    <input type="hidden" name="update_id" value="<?php echo $Id; ?>"> -->
                                    <input type="hidden" name="update_id" value="<?php echo $_REQUEST['update_id']; ?>">
                                    <button type="submit" name="btn_update" class="btn btn-primary btn-block mx-auto w-50" value="update">บันทึกข้อมูล</button>
                                    </div>
                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
     <?php include_once('../includes/footer.php') ?>
</div>
<!-- SCRIPTS -->
<script src="../../../plugins/jquery/jquery.min.js"></script>
<script src="../../../plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="../../../plugins/sweetalert2/sweetalert2.min.js"></script>
<script src="../../../assets/js/adminlte.min.js"></script>



</body>
</html>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-11-01 15:53:43 By : TeeTs
 


 

No. 47



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


เจอปัญหา ในหน้า pages manager
พึ่งเปิดไปช่วงเช้าครับ
link นี้ครับ : https://www.thaicreate.com/php/forum/136451.html

ส่วนในโพสต์ที่ปรึกษานี้ เป็น pages masterpc ครับ ที่พึ่งแก้ได้ไปเมื่อวานครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-11-01 16:04:34 By : TeeTs
 


 

No. 48



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


Code (PHP)
<?php 
//------ update_form.php ----------------- ไฟล์ที่ 1
require_once('../../../database/connection.php'); 
$include_update_php = 'edit.php'; // ประกาศตัวแปรเก็บ ชื่อไฟล์ที่ใช้ รับข้อมูลมา อัพเดท โค๊ดสำหรับ อัพเดทไว้ในไฟล์นี้
$include_form_edit = 'up_form.php'; // ประกาศตัวแปรเก็บชื่อไฟล์ สำหรับ แสดง form โค๊ดสำหรับ แสดง form ไว้ในไฟล์นี้ 
// ตรวจสอบว่า มาจากฟอร์ม อัพเดทหรือไม่ 
if(isset($_POST['btn_update'])){ // ถ้าใช่ให้ include file ด้วยตัวแปรที่ประกาส
	include $include_update_php;
	header('location: index.php'); 
	// เมื่อทำงานเสร็จ redirect ไปยังไฟล์ที่ต้องการ ป้องกันการกด f5 ย้อนกลับ แล้วเกิดการ ทำงานซ้ำ
}elseif(isset($_GET['update_id'])){ // ถ้ามีตัวแประไอดี สำหรับแก้ไข
	// โหลดไฟล์ แสดงฟอร์ม แก้ไข
	include $include_form_edit; // แสดง form อย่างเดียว
}else{
	header('location: index.php')
}
// สิ้นสุดไฟล์ที่ตรงนี้ ไม่มี โค๊ดต่อจากนี้แล้ว


Code (PHP)
<?php
//---  edit.php ------------------------------ ไฟล์ที่ 2
//



Code (PHP)
<?php
//---- up_form.php ----------------- ไฟล์ที่ 3 
<!doctype html>
<html>
....
...

แยกไฟล์ แบบนี้ครับ
ปล. อันนี้เป็น แค่วิธีการ แยก / จัดสรรไฟล์ เป็นพื้นฐาน
จะได้ประโยชน์มากๆ เมื่อไฟล์มีขนาดใหญ่ กว่า 4096 byte( ขนาด 1 เซคเม้นต์ในการอ่าน harddisk แต่ละครั้ง ของ ระบบ buffer ntfs มาตรฐาน)
ถ้าไฟล์ ใหญ่พอที่สามารถอ่านได้ในครั้งเดียว ก็จะเร็วขึ้น


ประวัติการแก้ไข
2021-11-01 20:50:09
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-11-01 20:32:18 By : Chaidhanan
 


 

No. 49



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-11-02 17:59:51 By : TeeTs
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ปรึกษาเรื่อง Update ข้อมูล แจ้งเตือน undefined index update_Id ซึ่ง update_id เรียกใช้งานถูกครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่