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,037

HOME > PHP > PHP Forum > ผมติดปันหาเรื่อง SESSION กับ If Else อะครับรบกวนพี่ ๆ ที่ครับ



 

ผมติดปันหาเรื่อง SESSION กับ If Else อะครับรบกวนพี่ ๆ ที่ครับ

 



Topic : 112551



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



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




ผมควรจะ If else ยังไงดีครับ ในกรณีนี้ คือ และสร้าง session ยังไงครับ



page 1.php

- มี checkbox อยู่ 7 อัน คือ ข้อ1-7 เมื่อ chk เสร็จบันทึกข้อมูลลงหน้า 1save.php

page 2.1.php

- เป็นแบบสอบถาม มีการบันทึกค่า value ลง db ไปหน้า page 2.1save.php

page 2.2.php
- เป็นแบบสอบถาม มีการบันทึกค่า value ลง db ไปหน้า page 2.2save.php

page 2.3.php
- เป็นแบบสอบถาม มีการบันทึกค่า value ลง db ไปหน้า page 2.3save.php

2.4.php ถึง page ที่ 2.7.php จะเป็นแบบนี้ครับ

***ในหน้าที่ 1.php ครับ ข้อที่ 1 เมื่อมีการ check จะต้องไม่แสดงหน้าที่ 2.1 ครับ ให้ข้ามไปหน้า 2.2 เลย

- และเช่นเดียวกันกับ ข้อที่ 2-7 เมื่อมีการ checkbox ที่ข้อไหนจะต้องไม่แสดงหน้านั้นคับ


ผมจะต้อง สร้าง session ยังไง และ If else ยังไงดีครับ หรือควรจะทำ page even.php แยก แล้วมา check ที่ page นี้ page เดียวครับ



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-11-14 08:56:50 By : hanakobz112 View : 842 Reply : 9
 

 

No. 1



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

สมาชิกที่ใส่เสื้อไทยครีเอท

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

อธิบายสั้นๆ ยาก หน่อย เกรงว่าจะตอบไม่ครบ

คำถามเข้าใจยากนิดนึง ลองเซฟรูปแต่ละเพจ มาดู จะได้เข้าใจง่ายๆ คับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-14 09:05:38 By : pjgunner.com
 


 

No. 2



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



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


page 1.php

อันไหนติ๊ก checkbox ให้ SESSION เป็น 1 ไม่ติ๊กก็ให้เป็น 0 ก็ได้ครับ ง่ายๆ
$SESSION["var"]["1"] = value;

page 2.1.php - page 2.7.php

แต่ละหน้าก็เช็คไปว่า $SESSION["var"]["1"] เท่ากับ 1 มั้ย ไม่เท่ากับก็ Redirect ไป

ผมเข้าใจถูกเปล่าหว่า
https://www.thaicreate.com/php/php-session.html
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-14 09:22:30 By : armdbz
 

 

No. 3



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



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


****เมื่อ คลิ๊กที่ Checkbox ที่ 1 หน้าที่ 2.1 จะต้องไม่ show ครับ ให้ข้ามไปทำหน้าที่ 2.2.php เลยครับ

****เมื่อ คลิ๊กที่ Checkbox ที่ 2 หน้าที่ 2.2 จะต้องไม่ show ครับ ให้ไปเริ่มที่หน้า 2.1.php และข้ามไป 2.3.php เลยครับ

(เนื่องจากเราเลือก Service ที่ไม่ได้ใช้งาน)



อันนี้คือหน้า แรก 1.php ข้อที่ 1-7 เป็น service ใหญ่จะมีหน้า แยกย่อย อีก 7 หน้าครับ คือหน้านี้ เมื่อ

ผู้ใช้งาน คลิ๊ก Service ที่ไม่ได้ใช้งาน ก็จะไม่ show หน้าย่อยของแต่ละข้อครับ


1

แล้วก้อ save ครับ 1save.php

2


ส่วนอันนี้คือหน้า ย่อยของแต่ละข้อครับ

หน้าที่ 2.1.php

3

save หน้าที่ 2.1save.php

4

และก็หัวขอที่ 2.2 - 2.7 ตามลำดับครับ จะเป็นแบบนี้หมดครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-14 09:25:03 By : hanakobz112
 


 

No. 4



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



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


คุณ armdbz น่าจะใช้นะครับ

แต่ผม อ่อนเรื่อง If else กับ Session มากครับบ T^T

ผมจะต้อง เอาไป check ที่ File เดวกันหรือยังไงครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-14 09:27:52 By : hanakobz112
 


 

No. 5



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



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


แต่ละหน้ามันมีหน้า save ของแต่ละอันมาด้วยอะครับ

ผมก้อเลยไม่รุ้จาข้ามหน้ายังไงดี

รบกวนพี่ ๆ code มาไห้ดูเป็นตัวอย่าง ง่าย ๆ สัก กระเบื้อง หน่อยครับบบ

ขอบพระคุนมากๆครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-14 09:38:15 By : hanakobz112
 


 

No. 6



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



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


html ตัวส่ง
Code (PHP)
<form action="ตัวรับและส่งต่อ.php" >
for chkbox1<input type="chedkbox" name="for_chkbox1" value="1" > >
<button>Save</button>
</form>



php ตัวรับ และ ส่งต่อ
Code (PHP)
<?php
session_start(); $_SESSION['old_request']=$_REQUEST;
do_somethaig();
header('location: ตัวแสดงผล.php');
?>



ตัวแสดงผล.php
Code (PHP)
<?php
session_start();
$old_request=$_SESSION['old_request'];
?>
<input type="chedkbox" name="for_chkbox1" <?=(isset( $_SESSION['for_chkbox1']) ? 'checked' : '')?> >

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-14 09:39:16 By : Chaidhanan
 


 

No. 7



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

สมาชิกที่ใส่เสื้อไทยครีเอท

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

ดูไปดูมาผมก็ยังไม่ค่อยเข้าใจ

ว่ามันแยกย่อย กี่อันกี่ระดับ อันไหนไม่ต้องแยก

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

ควรบันทึกทีเดียว ตอนหน้าสุดท้ายหรือไม่


ประวัติการแก้ไข
2014-11-14 09:44:55
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-14 09:41:56 By : pjgunner.com
 


 

No. 8



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



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


**แยกย่อยเฉพาะข้อที่ 1-7 ในหน้าที่ 1.php ครับ**

ข้อที่ 1 ของหน้าที่ 1.php หน้าที่ย่อยมาคือ 2.1.php
ข้อที่ 2 ของหน้าที่ 2.php หน้าที่ย่อยมาคือ 2.2.php
ข้อที่ 3 ของหน้าที่ 3.php หน้าที่ย่อยมาคือ 2.3.php
ข้อที่ 4 ของหน้าที่ 4.php หน้าที่ย่อยมาคือ 2.4.php
ข้อที่ 5 ของหน้าที่ 5.php หน้าที่ย่อยมาคือ 2.5.php
ข้อที่ 6 ของหน้าที่ 6.php หน้าที่ย่อยมาคือ 2.6.php
ข้อที่ 7 ของหน้าที่ 7.php หน้าที่ย่อยมาคือ 2.7.php

งั้นผมควรที่จะบันทึกทีเดียวหน้าสุดท้ายเลยหรอครับบ ตอนผมทำไม่มีคน ไกด์ไลน์ + กับความรุ้อันต่ำต้อย T^T
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-14 09:56:55 By : hanakobz112
 


 

No. 9



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

สมาชิกที่ใส่เสื้อไทยครีเอท

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

คือจริงๆ ผมก็มีวิธี แต่มันแอ็ดวานซ์ไปหน่อย เกรงว่าคุณจะไม่เข้าใจ

ที่ผมถามนั้น คือผมมองว่าแบบสองถามพวกนี้ ต้องนำไปใช้วิเคราะห์ในภายหลัง หากมีบางคนทำได้สอง สามหน้า ข้อมูลก็ไม่ครบใช่ไหม?

มีวิธีเพิ่มคือ เราสามารถตัดข้อมูลที่ไม่ครบ ไม่เอามาคำนวณด้วย ก็ได้ หรือจำเอาไปคำนวณด้วยก็ได้แต่เอาเฉพาะข้อมูลที่มี

แน่นอนว่าคุณจะใช้วิธีเดิมของคุณ คุณต้องลองผิดลองถูกเอาเองครับ ต้องฝึก if else
และใช้ session บันทึกว่าหน้าไหนที่ไม่ได้ติ๊กไว้ และบันทึกว่า หน้าไหนทำไปแล้วบ้าง เช่น

1save.php
	$unuse = '';
	$unuse .= empty($_POST['cb1']) ? '' : '1,';
	$unuse .= empty($_POST['cb2']) ? '' : '2,';
	$unuse .= empty($_POST['cb3']) ? '' : '3,';
	$unuse .= empty($_POST['cb4']) ? '' : '4,';
	$unuse .= empty($_POST['cb5']) ? '' : '5,';
	$unuse .= empty($_POST['cb6']) ? '' : '6,';
	$unuse .= empty($_POST['cb7']) ? '' : '7,';
	$unuse_services = explode(',', $unuse); //เก็บข้อมูลเฉพาะที่ได้ต๊ิกไว้ (ไม่ใช้งาน)

คราวนี้จะได้ ตัวบริการที่ไม่ได้ใช้บริการ ส่วนที่ติ๊กไว้

สมมติจะเก็บไว้ในเซสชั่นก็
$_SESSION['unuse_services'] = $unuse_services;

พอจะตรวจว่าควรไปหน้าไหนต่อ ตรงนี้ป่าวที่เป็นปัญหา จากข้อความ
****เมื่อ คลิ๊กที่ Checkbox ที่ 1 หน้าที่ 2.1 จะต้องไม่ show ครับ ให้ข้ามไปทำหน้าที่ 2.2.php เลยครับ

****เมื่อ คลิ๊กที่ Checkbox ที่ 2 หน้าที่ 2.2 จะต้องไม่ show ครับ ให้ไปเริ่มที่หน้า 2.1.php และข้ามไป 2.3.php เลยครับ


Code (PHP)
	$goto = '2.1.php';
	if (in_array(1, $unuse_services)) // เมื่อติ๊กอันแรก
		$goto = '2.2.php';
	elseif (in_array(2, $unuse_services)) // เมื่อติ๊กอันที่ 2
		$goto = '2.1';
	elseif (in_array(1, $unuse_services) && in_array(2, $unuse_services)) // เมื่อติ๊กทั้ง สองอันแรก
		$goto = 'xxx';

	header('location: '.$goto);



ประวัติการแก้ไข
2014-11-14 11:21:40
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-14 11:20:08 By : pjgunner.com
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ผมติดปันหาเรื่อง SESSION กับ If Else อะครับรบกวนพี่ ๆ ที่ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 อัตราราคา คลิกที่นี่