สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network
Moderator: mindphp, ผู้ดูแลกระดาน
-
Tookta
- PHP Super Hero Member
- โพสต์: 641
- ลงทะเบียนเมื่อ: 12/12/2022 9:12 am
โพสต์ที่ยังไม่ได้อ่าน
โดย Tookta »
ในฟอร์มมีปุ่ม submit 2 ปุ่มค่ะ
ปุ่มทั้ง 2 ปุ่มทำงานเหมือนกันคือ ประมวลผล นับคำ
- recap_3.PNG (20.96 KiB) Viewed 605 times
ปุ่ม ประมวลผลและบันทึก ประมวลผลและบันทึกข้อมูลลงฐานข้อมูล ส่วนนี้ทำงานได้ปกติ
ปุ่ม ประมวณผล ต้องการใช้ทำการประมวลผลอย่างเดียว แต่ไม่บันทึกลง ฐานข้อมูล
โค้ด: เลือกทั้งหมด
<input type="submit" name="submit" class="btn btn-success" value="<?php echo $lang_process1; ?>">
<input type="submit" name="submit" class="btn btn-success" value="<?php echo $lang_process2; ?>">
มีวิธีไหนในการเช็ค หรือการแยกการทำงานบ้างคะ ขอบคุณค่ะ
-
tsukasaz
- PHP VIP Members
- โพสต์: 21988
- ลงทะเบียนเมื่อ: 18/04/2012 9:39 am
โพสต์ที่ยังไม่ได้อ่าน
โดย tsukasaz »
ใช้ javascript ไปดักที่ปุ่มได้ครับ อาจจะตั้ง input แบบเป็น hidden มา
โค้ด: เลือกทั้งหมด
<input type="hidden" name="save_history" value="0">
เวลาที่คลิกปุ่ม submit แบบบันทึกด้วย ก็ให้ javascript มาปรับ value เป็น 1 เราก็มาเช็คจากค่านี้ที่ส่งไปกับ form ได้
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)
-
Tookta
- PHP Super Hero Member
- โพสต์: 641
- ลงทะเบียนเมื่อ: 12/12/2022 9:12 am
โพสต์ที่ยังไม่ได้อ่าน
โดย Tookta »
สามารถทำได้แล้วค่ะ ใช้วิธีนี้ค่ะ
notsave_forshow คือ id ของปุ่มประมวลผล (ไม่บันทึก)
โค้ด: เลือกทั้งหมด
<script>
document.getElementById("notsave_forshow").addEventListener("click", function(event){
event.preventDefault();//ไม่ต้องทำตามสคิปก่อนหน้า = ไม่ submit
const user = document.getElementById("cha_counter_username").value;
const detail_count = document.getElementById("cha_counter_detail").value;
const lang = '<?php echo $lang; ?>';
window.location = 'index.php?user='+user+'&detail='+detail_count+'&lang='+lang;
});
</script>
-
mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 41230
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
-
ติดต่อ:
โพสต์ที่ยังไม่ได้อ่าน
โดย mindphp »
getElementById มาจากไหนครับ ในตัวอย่างโค้ดไม่ได้กำหนด id ให้ input object ไว้
ปัญหานี้
เช็ค if ใน php ว่า user กดปุ่มไหนก็ได้แล้วครับ
ปัญหาตามตัวอย่างโค้ดที่ยกมาผิด เพราะตั้งชื่อปุ่ม ปุ่มชื่อซ้ำกัน และชื่อปุ่มไม่สื่อถึงหน้าที่มัน
ควรตั้งชื่อให้สอดคล้องกับ หน้าที่ของมัน
เปลี่ยนเป็น
อีกปุ่มเปลี่ยนเป็น
ใน php ดัง if เช่น
โค้ด: เลือกทั้งหมด
if($_POST['save']) {
// TOOD save
}
if($_POST['save_log']) {
// TOOD save & logs
}
แก้ปัญหาแบบนั้นจะทำได้ได้ปัญหาอื่นตามมา ถ้าส่งข้อมูลแบบ GET
ถ้า cha_counter_detail ข้อมูลเยอะๆ จะส่งไปไม่หมด
-
Tookta
- PHP Super Hero Member
- โพสต์: 641
- ลงทะเบียนเมื่อ: 12/12/2022 9:12 am
โพสต์ที่ยังไม่ได้อ่าน
โดย Tookta »
mindphp เขียน: ↑01/02/2023 3:16 pm
ปัญหานี้
เช็ค if ใน php ว่า user กดปุ่มไหนก็ได้แล้วครับ
ลองวิธีนี้ค่ะ
โค้ด: เลือกทั้งหมด
<input type="submit" name="notsave_forshow" class="btn btn-success" value="<?php echo $lang_process1; ?> " id="notsave_forshow">
<input type="submit" name="save_forshow" class="btn btn-success" value="<?php echo $lang_process2; ?>">
หน้า insert ข้อมูล
โค้ด: เลือกทั้งหมด
$save_forshow = !empty ($_POST['save_forshow']) ? $_POST['save_forshow'] : '';
if($save_forshow != ''){
$sql = "INSERT INTO tools_character_counter(cha_counter_username,cha_counter_detail,cha_counter_ip,cha_counter_date)
VALUES('$cha_counter_username','$cha_counter_detail','$cha_counter_ip',CURRENT_TIMESTAMP)";
$result = mysqli_query($conn , $sql) or die ("Error in query: $sql " . mysqli_error());
}
$results = isset($result) ? $result : '' ;
if($save_forshow != '' || $results ){
echo "<script type='text/javascript'>";
echo "window.location = 'index.php?user=".$cha_counter_username."&detail=".$cha_counter_detail."&lang=".$lang."';";
echo "</script>";
}
else{
echo "<script type='text/javascript'>";
echo "window.location = 'index.php'";
echo "</script>";
}
แต่ไม่สามารถทำได้ค่ะ พอกดแล้วเค้าเงื่อนไขของ else
โค้ด: เลือกทั้งหมด
else{
echo "<script type='text/javascript'>";
echo "window.location = 'index.php'";
echo "</script>";
ช่วยแนะนำเพิ่มเติมทีค่ะ
-
-
- 14 ตอบกลับ
- 2447 แสดง
-
โพสต์ล่าสุด โดย birdkritsna
03/10/2019 4:05 pm
-
-
- 3 ตอบกลับ
- 975 แสดง
-
โพสต์ล่าสุด โดย mindphp
07/03/2023 6:54 pm
-
-
- 1 ตอบกลับ
- 862 แสดง
-
โพสต์ล่าสุด โดย Thanavat_n
27/11/2023 12:02 pm
-
-
- 3 ตอบกลับ
- 732 แสดง
-
โพสต์ล่าสุด โดย chakrit
18/08/2022 10:44 am
-
-
- 2 ตอบกลับ
- 954 แสดง
-
โพสต์ล่าสุด โดย mindphp
14/09/2022 9:41 pm
-
-
- 1 ตอบกลับ
- 2094 แสดง
-
โพสต์ล่าสุด โดย tsukasaz
07/02/2017 2:13 pm
-
-
- 2 ตอบกลับ
- 1084 แสดง
-
โพสต์ล่าสุด โดย Thanavat_n
20/04/2023 3:44 pm
สมาชิกกำลังดูบอร์ดนี้: Bing [Bot] และบุคลทั่วไป 101