ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programming##ถามเซียนPHP ถ้าจะล็อคเวลา ตั้งแต่11:00 - 17:00น. ไม่ให้ส่งForm ทำไงครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ##ถามเซียนPHP ถ้าจะล็อคเวลา ตั้งแต่11:00 - 17:00น. ไม่ให้ส่งForm ทำไงครับ  (อ่าน 2357 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
ad2002
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 115
ออฟไลน์ ออฟไลน์

กระทู้: 1,294



ดูรายละเอียด
« เมื่อ: 07 กรกฎาคม 2014, 14:23:16 »

PHP ถ้าจะล็อคเวลา ตั้งแต่11:00 - 17:00น.  ของทุกๆวัน ไม่ให้ส่งForm
ทำยังไงครับ


ส่งข้อมูลด้วยFormครับ
โค๊ด:
<Form>
</Form>
คือล็อคปุ่ม Submitไว้ 
หรือ มีข้อความแจ้งเตือน ส่งไม่เข้าMySQL
มีวิธีทำไหมครับ
ขอบคุณครับ
บันทึกการเข้า
adidog
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 238
ออฟไลน์ ออฟไลน์

กระทู้: 1,858



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 07 กรกฎาคม 2014, 14:32:54 »

ผมว่าเช็กทางไฟล์ที่รับค่าไปอัปเดทที่ db ดีกว่าครับ ว่าค่าที่รับมาอยู่ในช่วงเลาหรือไม่ เพราะถ้าล๊อกแค่ฟอร์มอาจจะเอาไม่อยู่
บันทึกการเข้า

Certain Dri Certain Dri
คุณแม่มือใหม่ คุณแม่มือใหม่
arzusa
ก๊วนเสียว
*

พลังน้ำใจ: 35
ออฟไลน์ ออฟไลน์

กระทู้: 441



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 07 กรกฎาคม 2014, 14:48:04 »

เช็คที่ฝั่ง server เลยครับ
บันทึกการเข้า

online7
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 138
ออฟไลน์ ออฟไลน์

กระทู้: 1,546



ดูรายละเอียด
« ตอบ #3 เมื่อ: 07 กรกฎาคม 2014, 14:51:19 »

โค๊ด:
<?
    $time = date("H:i:s");

if($time > "12:00:00" and $time < "18:00:00"){
echo 'ไม่สามารถกรอกแบบฟอร์มได้';
}else{
echo 'ฟอร์ม';
}
?>

ลองเอาไปดัดแปลงดูนะครับ
บันทึกการเข้า

รับทำเว็บด้วย Wordpress
- รับติดตั้งและลงเว็บ Wordperss เริ่มต้น 200 บาท
- รับปรับแต่งและแก้ไขธีม Wordpress,SMF เริ่มต้น 400 บาท
- รับโมธีม Wordpress เริ่มต้น 700 บาท จำกัด 1 โดเมน : ไม่จำกัดโดเมน 1500 บาท
iNdEpD
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 57
ออฟไลน์ ออฟไลน์

กระทู้: 2,301



ดูรายละเอียด
« ตอบ #4 เมื่อ: 07 กรกฎาคม 2014, 15:06:51 »

เสริมจากด้านบน สร้างเงื่อนไข Action Attribute ไว้ก็ได้นะครับ  ( น่าจะนะ )  Embarrassed

โค๊ด:
  $time = date("H:i:s");
<form method="post" <?php if($time "12:00:00" and $time "18:00:00") { ?> action="" <?php }else{ ?> action="sendpost.php" <?php ?>

<?php
if($time "12:00:00" and $time "18:00:00"){ ?>

<span> ขณะนี้เวลาในการส่งข้อมูลหมดแล้ว </span>
<?php ?>


</form>

แบบนี้ กด submit แล้ว จะไม่ไปครับ
บันทึกการเข้า

I'm Back .........
frenfolio
ก๊วนเสียว
*

พลังน้ำใจ: 19
ออฟไลน์ ออฟไลน์

กระทู้: 226



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 07 กรกฎาคม 2014, 15:28:36 »

น่าจะ plugins ตัวนี้ครับ WP Subdomains (Revisited)
บันทึกการเข้า

ad2002
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 115
ออฟไลน์ ออฟไลน์

กระทู้: 1,294



ดูรายละเอียด
« ตอบ #6 เมื่อ: 07 กรกฎาคม 2014, 16:32:43 »

โค๊ด:
<?
    $time = date("H:i:s");

if($time > "12:00:00" and $time < "18:00:00"){
echo 'ไม่สามารถกรอกแบบฟอร์มได้';
}else{
echo 'ฟอร์ม';
}
?>

ลองเอาไปดัดแปลงดูนะครับ



เสริมจากด้านบน สร้างเงื่อนไข Action Attribute ไว้ก็ได้นะครับ  ( น่าจะนะ )  Embarrassed

โค๊ด:
  $time = date("H:i:s");
<form method="post" <?php if($time "12:00:00" and $time "18:00:00") { ?> action="" <?php }else{ ?> action="sendpost.php" <?php ?>

<?php
if($time "12:00:00" and $time "18:00:00"){ ?>

<span> ขณะนี้เวลาในการส่งข้อมูลหมดแล้ว </span>
<?php ?>


</form>

แบบนี้ กด submit แล้ว จะไม่ไปครับ





แจ่มเลย 
เดี๋ยวจะลองไปปรับใช้ดูครับ
ขอบคุณครับ

+1 ทุกท่าน
 wanwan017
บันทึกการเข้า
kuzaa516
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 230
ออฟไลน์ ออฟไลน์

กระทู้: 1,063



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 07 กรกฎาคม 2014, 17:31:02 »

<?php
    $presentTime = date("H:i:s");
    $setTime_Start = "17:00:00"; // ตั้งค่าเวลาเริ่มการปิดฟอร์ม
    $setTime_End = "22:00:00"; // ตั้งค่าเวลาหยุดการปิดฟอร์ม
    if($presentTime > $setTime_Start and $presentTime < $setTime_End){
        echo "ตั้งแต่เวลา 11:00 น. - 17:00 น. งดให้บริการกรอกแบบฟอร์มออนไลน์";
    } else {
?>
<form name="frm1" method="POST" action="?action=show">
    ชื่อ : <input type="text" name="text1"/><br/>
    นามสกุล : <input type="text" name="text2"/><br/>
    อีเมล : <input type="text" name="text3"/><br/>
    <input type="submit" name="btnsend" value="Send"/><br/>
</form>
<?php
    }
    $Text1 = $_POST['text1'];
    $Text2 = $_POST['text2'];
    $Text3 = $_POST['text3'];
    if($_GET["action"] == "show"){
    echo "ชื่อ : ".$Text1."<br/>นามสกุล : ".$Text2."<br/>อีเมล : ".$Text3;}
?>


ลองเอาไปปรับดูครับ (ผมยังไม่ได้ทดสอบนะครับ)
« แก้ไขครั้งสุดท้าย: 07 กรกฎาคม 2014, 17:39:40 โดย kuzaa516 » บันทึกการเข้า

kuzaa516
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 230
ออฟไลน์ ออฟไลน์

กระทู้: 1,063



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 07 กรกฎาคม 2014, 17:49:04 »

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

<?php
    if($_GET["action"] == "show"){
        $presentTime = date("H:i:s");
        $setTime_Start = "11:00:00"; // ตั้งค่าเวลาเริ่มการปิดฟอร์ม
        $setTime_End = "17:00:00"; // ตั้งค่าเวลาหยุดการปิดฟอร์ม
        if($presentTime > $setTime_Start and $presentTime < $setTime_End){
            echo "<script>alert ('ตั้งแต่เวลา 11:00 น. - 17:00 น. งดให้บริการกรอกแบบฟอร์มออนไลน์'); history:back();</script>";
        } else {
            $Text1 = $_POST['text1'];
            $Text2 = $_POST['text2'];
            $Text3 = $_POST['text3'];
            echo "ชื่อ : ".$Text1."<br/>นามสกุล : ".$Text2."<br/>อีเมล : ".$Text3;
        }
    }
?>
<form name="frm1" method="POST" action="?action=show">
    ชื่อ : <input type="text" name="text1"/><br/>
    นามสกุล : <input type="text" name="text2"/><br/>
    อีเมล : <input type="text" name="text3"/><br/>
    <input type="submit" name="btnsend" value="Send"/><br/>
</form>
บันทึกการเข้า

esanza.com
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 270
ออฟไลน์ ออฟไลน์

กระทู้: 3,672



ดูรายละเอียด
« ตอบ #9 เมื่อ: 07 กรกฎาคม 2014, 18:00:04 »

ล็อกตอนเช็คก่อนที่จะส่งค่าไปยังที่รับค่าจากฟอร์มดีกว่าครับ
ถ้าล็อกที่ฟอร์มโดยไม่เช็คแบบเรียวทาม user จะสามารถส่งได้อยู่ดี(เพราะ User เปิดทิ้งไว้ไม่กด refresh)
บันทึกการเข้า

ใครต้องการเช่าโฮสที่มี Control Panel ดีๆ
และ Support ดี แนะนำ => โฮสอะตอม
ad2002
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 115
ออฟไลน์ ออฟไลน์

กระทู้: 1,294



ดูรายละเอียด
« ตอบ #10 เมื่อ: 07 กรกฎาคม 2014, 20:55:13 »

<?php
    $presentTime = date("H:i:s");
    $setTime_Start = "17:00:00"; // ตั้งค่าเวลาเริ่มการปิดฟอร์ม
    $setTime_End = "22:00:00"; // ตั้งค่าเวลาหยุดการปิดฟอร์ม
    if($presentTime > $setTime_Start and $presentTime < $setTime_End){
        echo "ตั้งแต่เวลา 11:00 น. - 17:00 น. งดให้บริการกรอกแบบฟอร์มออนไลน์";
    } else {
?>
<form name="frm1" method="POST" action="?action=show">
    ชื่อ : <input type="text" name="text1"/><br/>
    นามสกุล : <input type="text" name="text2"/><br/>
    อีเมล : <input type="text" name="text3"/><br/>
    <input type="submit" name="btnsend" value="Send"/><br/>
</form>
<?php
    }
    $Text1 = $_POST['text1'];
    $Text2 = $_POST['text2'];
    $Text3 = $_POST['text3'];
    if($_GET["action"] == "show"){
    echo "ชื่อ : ".$Text1."<br/>นามสกุล : ".$Text2."<br/>อีเมล : ".$Text3;}
?>


ลองเอาไปปรับดูครับ (ผมยังไม่ได้ทดสอบนะครับ)

ขอบคุณครับ  เป็นวิธีการที่เยี่ยมเลย
 wanwan013
+1
บันทึกการเข้า
boyeng3k
บุคคลทั่วไป
« ตอบ #11 เมื่อ: 15 กรกฎาคม 2014, 17:19:37 »

โอ เพิ่งรู้ว่ามันลบกันโต้งๆ แบบนี้ได้ด้วย ไอ้กระผมก็หลงมาใช้ strtotime() มาตั้งนาน
ขอขอบพระคุณครับ
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์