PHP Ionic Angularjs Phonegap AJAX Javascript CSS MySQL jQuery Forum

ขอคำแนะนำ เช็คว่าล็อคอิน หลังจากโพสต์ข้อความก่อน submit

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


โดย:  Wowowow IP: 110.168.227.xxx วันที่: 07-10-2014 เวลา: 16:42:35

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ


  • ( หรือ สามารถทำการ สมัครสมาชิก และล็อกอิน ด้วย ปุ่ม Log in with Facebook ด้านล่าง )
 ความคิดเห็นที่ 4
ขอบคุณมากครับ


โดย:  Wowowow IP: 171.96.244.xxx วันที่: 08-10-2014 เวลา: 23:27:47
 ความคิดเห็นที่ 3
ให้เป็นแนวทาง ลองเอาไฟล์ไปทำตาม และรัน และศึกษารูปแบบการทำงาน

มีทั้งหมด 4 ไฟล์ แบบง่าย

ไฟล์ comment.php

<?php session_start(); ?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Comment</title>
</head>
<body>

       <form action="comment.php" method="post">
           <textarea name="comment" id="comment" rows="5" cols="40"></textarea>
           <br>
           <?php if(!isset($_SESSION['mem_id'])){?>
           <button type="button" onclick="popup('popup.php','',400,200);">Coment</button>
           <?php }else{ ?>
           <button type="submit">Coment</button>
           <?php } ?>
       </form>
 
<!--  ถ้าสมมติ login อยู่ -->
 <?php if(isset($_SESSION['mem_id'])){?>
 <br><br>
 <a href="logout.php">log out</a>
 <?php } ?>
 
<script type="text/javascript">
    // เมื่อโหลดหน้านี้ 
window.onload = function(){
    if(localStorage.tempC){ // เช็คว่ามีการเก็บค่า ข้อมูล comment ไว้ใน localstorage หรือไม่
        document.getElementById('comment').value=localStorage.tempC;  // ถ้ามีเอาค่าไปแสดง
        localStorage.tempC=""; // ล้างค่าที่เก็บ
    }
}
// สรัาง popup window อย่างง่าย
function popup(url,name,windowWidth,windowHeight){    
	myleft=(screen.width)?(screen.width-windowWidth)/2:100;	
	mytop=(screen.height)?(screen.height-windowHeight)/2:100;	
	properties = "width="+windowWidth+",height="+windowHeight;
	properties +=",scrollbars=yes, top="+mytop+",left="+myleft;   
	window.open(url,name,properties);
}
</script>               
</body>
</html>


ไฟล์ popup.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Popup</title>
</head>
<body>
   
   <a href="javascript:opener_go('session.php');">Log in</a>
   <br>
   <a href="javascript:opener_go('session.php');">Register</a>
   <br><br>
   ตัวอย่าง ประยุกต์ใช้ ให้ทำลิ้งค์ไปหน้าอื่นตามต้องการ ในที่นี้สมมติให้ไปหน้าล็อกอิน และ
   และสมมติว่ามีตัวแปร session หลังล็อกอินแล้ว

<script type="text/javascript">
var temp_comment=""; // กำหนดตัวแปรสำหรับจะเก็บค่าจาก comment
temp_comment=window.opener.document.getElementById('comment').value; // ดึงค่ามาเก็บในตัวแปร
localStorage.tempC=temp_comment; // เก็บในตัวแปร localStorage ไว้ใช้งาน
function opener_go(url){ // ฟังก์ชั่น ไปไฟล์ในหน้า หลัก และปิดหน้า popup
    window.opener.location=url;   
    window.open('','_self');
    window.close();
}
</script>        
</body>
</html>


ไฟล์ session.php

<?php  
session_start();
header("Content-type:text/html; charset=UTF-8");          
header("Cache-Control: no-store, no-cache, must-revalidate");       
header("Cache-Control: post-check=0, pre-check=0", false);   
$_SESSION['mem_id']=1; // สมมติว่าล็อกอิน หรืแสมัครสมาชิกและล็อกอินแล้ว มีตัวแปร session
header("Location:comment.php"); // กลับไปหน้า comment
exit;
?>


ไฟล์ logout.php

<?php  
session_start();
header("Content-type:text/html; charset=UTF-8");          
header("Cache-Control: no-store, no-cache, must-revalidate");       
header("Cache-Control: post-check=0, pre-check=0", false);   
unset($_SESSION['mem_id']); // สมมติว่า log out
header("Location:comment.php"); // กลับไปหน้า comment
exit;
?>




โดย:  Ninenik IP: 124.121.245.xxx วันที่: 08-10-2014
 ความคิดเห็นที่ 2

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

คิดอยู่ว่ามันน่าจะหลายขั้นตอน  คงจะยาก

โดย:  Wowowow IP: 171.96.245.xxx วันที่: 07-10-2014 เวลา: 23:56:48
 ความคิดเห็นที่ 1
แนวทางง่ายสุดเลย แจ้งในหน้า comment เลยว่า สำหรับสมาชิก มีปุ่มลิ้งค์ไปหน้าล็อกอิน
หรือ หน้าสมัครสมาชิก ใช้ง่าย ลดขั้นตอน ล็อกอินแล้ว  comment ได้ตามต้องการ
- ตัดเรื่องทำ popup 
- ตัดเรื่องทำ เก็บค่า comment ไว้มาโพสหลังล็อกอิน



โดย:  Ninenik IP: 1.46.146.xxx วันที่: 07-10-2014