PHP - สอบทราบเรื่องการกดอนุมัติยืนยันในอีเมล์ แล้วให้เก็บค่า ผู้ที่กดอนุมัติในอีเมล์ด้วยครับ ทำไงครับ
ผมว่าเรื่อง Code ไม่น่าจะเท่าไหร่นะครับ (น่าจะ) แค่ insert update ไปตามเรื่อง
ที่สำคัญคือ วิธีการทำงานของเราครับ จากที่ว่ามา คือ "ต้องการ เก็บค่า ผู้ที่ทำการยืนยันในอีเมล์ "
ดังนั้น โค้ดที่ update statusของอีเมล์นั้น เราก็สร้างตาราง log หรือสร้างฟิวล์ในตารางอีเมล์นั้นเพิ่ม เพื่อเก็บ ชื่อ-ไอดี ของผู้ที่กดบันทึกก็น่าจะได้แล้วนะ
สรุปก็คือ นอกจากจะอัพเดท statusของอีเมล์ให้เป็นยืนยันแล้ว ก็อัพเดท ชื่อผู้กดยืนยัน (ก็คือผู้จัดการท่านนั้น) ลงไปด้วยเลย
ผมเข้าใจผิดยังไงบอกด้วยนะครับ
Date :
2015-11-24 16:21:22
By :
benzsara
ขออธิบายเพิ่มครับ
table ชือ User มี field
id------------name---------------status
1................user1...................employee
2................manager1.............manager
3................manager2.............manager
4................manager3.............manager
เมื่อ user1 ได้ทำการ Login เข้าระบบแล้ว
จากนั้น เข้าไปที่ รายการ เพื่อจะส่งอีเมล์ ไปถึง ผู้จัดการ โดยการกดปุ่ม
สมมุติ รายการนั้น ชื่อ Data เพื่อ user1 กดส่งอีเมลแล้ว
จากนั้น รอให้ผุ้จัดการ ( manager1 ) เพื่อ กด ยืนยันอนุมัติในอีเมล์เลย
กรณีนี้ ผุ้จัดการ ( manager1 ) ไม่จำเป็นต้องเข้ามาระบบ เพียงแค่ กด ยืนยันอนุมัติในอีเมล์ ที่ user1 ได้ส่งมา
แค่ต้องการ ทำไง ถึงจะสามารถ เก็บค่า id ของผู้ที่กดยืนยัน ได้ครับ
( สมมุติ manager 1 เปนคน กด ยืนยัน ก็เอา ค่า ID = 2 มาบันทึกใน ฐานข้อมูล หรือ manager2 กดยืนยัน ก้เอาค่า ID = 3 มาบันทึก )
แต่ปัญหาตอนนี้คือ เราจะเกบค่าไง ดี จะทำเปน session , cookie ก้ไม่ได้ เพราะมันไม่ได้ กดยืนยันใน ระบบ อะ มันยีนยันในอีเมล์ เลย
โดยที่ไม่ต้องเข้ามาในระบบ
Date :
2015-11-24 16:39:10
By :
yokvoice
ส่งลิงค์ ?id=2 ไปในลิงค์ที่ส่งหาผู้จัดการเลย กดมาก็มาลิงค์ พร้อม id ละ จบ
Date :
2015-11-24 17:46:28
By :
progamer2000
ปกติที่เห็นอีเมลยืนยัน จะมีรหัสที่อ่านไม่รู้เรื่องส่งมาด้วย ซึ่งจะใช้ยืนยันว่าเป็นรายการไหน
เช่นตารางที่ยกตัวอย่าง ก็เพิ่มฟิลด์เพื่ออ้างอิงคีย์ที่ลิงค์กลับมาจากอีเมล
d-------------name------------------status-----------------email_key
1................user1...................employee................xyz002
2................manager1.............manager................xyz005
3................manager2.............manager................xpe001
4................manager3.............manager................iup022
หลังจากนั้นก็เขียนหน้า approve.php เอาไว้อ่านค่าที่ลิงค์มาจากอีเมล
http://www.youtdomain.com/approve.php?public_key=xyz005
เราก็เอาค่าที่เคยส่งไปในอีเมล แล้วลิงค์กลับมา ไป SELECT ดูว่ารายการไหน ส่งให้ใครก็คนนั้นแหละครับยืนยัน
Code (PHP)
SELECT * FROM your_table WHERE email_key = '$_GET[public_key]'
Date :
2015-11-24 17:49:32
By :
{Cyberman}
Load balance : Server 01