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 > ใช้คุ๊กกี้ ชื่อ voted ชื่อเดียวแต่เปลี่ยนค่าไปตามเดือนเช่น เดือนนี้ถ้าโหวตไป ตัวแปรคุ๊กกี้ voted



 

ใช้คุ๊กกี้ ชื่อ voted ชื่อเดียวแต่เปลี่ยนค่าไปตามเดือนเช่น เดือนนี้ถ้าโหวตไป ตัวแปรคุ๊กกี้ voted

 



Topic : 010553

Guest




เป็นไฟล์รับค่าการโหวต เหมือนการโหวต การประกวด หนึ่งเครื่องโหวตได้หนึ่งครั้งต่เดือน ใช้คุ๊กกี้ ชื่อ voted ชื่อเดียวแต่เปลี่ยนค่าไปตามเดือนเช่น

เดือนนี้ถ้าโหวตไป ตัวแปรคุ๊กกี้ voted ก็จะมีค่าเป็น Oct
พอมาอีกครั้งก็เช็คจาก date('M') ถ้าเหมือนกัน ก็ไม่ให้โหวต

ด้านบนคือสิ่งที่ต้องการปั่นโค๊ตออกมาได้แบบนี้ แต่ว่ามันโหวตได้เพิ่มขึ้นเรื่อยๆแต่มันไม่ยอมดักไม่ให้โหวตซ้ำ- -ช่วยด้วยครับมือใหม่เขียนได้ไม่นานแก้ยังไงก็ไม่ถูกซักที

Code:
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
<?php
session_start();
ob_start();
include ("include/connect.php");
include ("include/function.php");
checklog();
if(isset($_COOKIE['autologin']))
{
auto_login($_COOKIE['autologin']);
}
//เช็คว่ามี คุ๊กกี้ที่แสดงว่า เดือนนี้โหวตไปแล้ว รึเปล่า
if(isset($_COOKIE['voted']))
{
$voted = $_COOKIE['voted'];
}
$m = date('M');
if(!isset($_POST['spid']))
{
header("main.php");
}
if(empty($_POST['spid']))
{
header("main.php");
}

$spid = $_POST['spid'];
//ถ้าไม่มีี คุ๊กกี้ที่แสดงว่า เดือนนี้โหวตไปแล้ว ให้ทำการโหวตและสร้างคุ๊กกี้ที่แสดงว่าเดือนนี้โหวตไปแล้ว
if(!isset($voted))
{
$sqlvote="update sp_student_pretty set vote=vote+1 where id='$spid'";
$queryvote=mysql_query($sqlvote);
echo "<script>alert('โหวตแล้ว!!');history.back();</script>";
exit;
}
//ถ้ามี อาจจะเป็นของเดือนก่อน ถ้าเป็นของเดือนนี๋จะไม่ให้โหวตและย้อนกลับไป
if($voted==date('M'))
{
echo "<script>alert('เดือนนี้คุณโหวตไปแล้ว!!');history.back();</script>";
exit;
} //ถ้ามี แต่คุ๊กกี้เป็นของเดือนก่อน ก็จะทำการโหวตและสร้างคุ๊กกี้ที่แสดงว่าเดือนนี้โหวตไปแล้ว
elseif($voted!=date('M'))
{
setcookie("voted","$m",time()+99999999999999999999999999999999999999999999999999999999999999999999999999999);
$sqlvote="update sp_student_pretty set vote=vote+1 where id='$spid'";
$queryvote=mysql_query($sqlvote) or die ("vote error");
echo "<script>alert('โหวตแล้ว!!');history.back();</script>";
}

?>



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 25 ต.ค. 2549 18:01:01 By : chusek007 View : 2056 Reply : 6
 

 

No. 1



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

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

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


ขอดู error หน่อยครับ

einstein2 (at) hotmail (dot) com






Date : 25 ต.ค. 2549 20:40:59 By : triplea
 


 

No. 2

Guest


ไม่มีerror คับ
Date : 25 ต.ค. 2549 21:21:24 By : chusek007
 

 

No. 3



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

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

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


//เช็คว่ามี คุ๊กกี้ที่แสดงว่า เดือนนี้โหวตไปแล้ว รึเปล่า
if(isset($_COOKIE['voted']))
{
$voted = $_COOKIE['voted'];
}

ลองดูตรงนี้นิดนึงนะครับ
คุณ chusex007 บอกว่า เช็คว่าโหวตไปแล้วรึเปล่า ตามโค้ด ก้คือ ถ้าตัวแปรคุกกี้ voted มีการกำหนดค่าให้แล้ว ก็ให้ $voted = $_COOKIE['voted']; มันไม่มีคำสั่งให้หยุดการโหวดนี่ครับ ลองเอาคำสั่งยุติการโหวดแทรกเข้าไปครับ เผื่อช่วยได้

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


Date : 25 ต.ค. 2549 23:50:50 By : triplea
 


 

No. 4

Guest


เป็นเพราะว่าคำสั่ง session_start(); มันไม่ทำงานค่ะ เพราะคำสั่งนี้จะต้องอยู่บนสุด บรรทัดแรก จะเอาโค้ดอื่นมาก่อนไม่ได้อย่างแท็ก meta อะมันเป็น html แล้วเอาไปไว้ก่อนคำสั่ง session พอ session เห็นมันก็งอนก็เลยไม่ทำงานไงค่ะ ^_^ ส่วนว่าคำสั่ง meta คุณจะเอาไว้ตรงไหนก็ได้ให้เป็นส่วนของ head ก็แล้วกัน มันก็ใช้ได้แล้วค่ะ
ปล.การทำงานที่ดีของ session ควรมี ob_start(); ใช้ร่วมด้วย และเอามันไว้บรรทัดแรกเท่านั้นค่ะ ^_^
Date : 2009-04-22 09:43:57 By : [email protected]
 


   

ค้นหาข้อมูล


   
 

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