วิธีทำใช้คำสั่ง strpos เพื่อตรวจสอบคำให้ถูกต้อง


PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderators: mindphp, ผู้ดูแลกระดาน

Post Reply
User avatar
jamepiyawat
PHP VIP Members
PHP VIP Members
Posts: 1514
Joined: 21/05/2019 10:45 am

วิธีทำใช้คำสั่ง strpos เพื่อตรวจสอบคำให้ถูกต้อง

Post by jamepiyawat » 25/06/2019 6:23 pm

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

โค้ดที่ผมใช้ก็คือ

Code: Select all

<?php
$kuikai = 'youtube';
$value = 'https://www.youtube.com/watch?v=I4bF9ieKaNc';
$pos = strpos($value,$kuikai);

if($pos === FALSE) {
echo "ค้นหา keyword เฉพาะ youtube เท่านั้น";
  }else{
        $link_content = file_get_contents($value);
          preg_match('/ytplayer.config \=(.*);ytplayer.load/', $link_content, $matchs);
          $result1 = json_decode($matchs[1], true);
          $player_response = json_decode($result1['args']['player_response'], true);
          $keywords = $player_response['videoDetails']['keywords'];
          echo implode("," , $keywords);
}
?>
แบบนี้แหละครับ

ผลลัพธ์ที่ได้

Code: Select all

Kaew BNK48,BNK48,BNK48 Original Fan Song
เรามาลองทำความเข้าใจกันดีกว่าทำไมถึงเป็นแบบนี้ในตัวอย่างนี้ผมก็จะใช้ $value เป็นเหมือนข้อมูลที่ผู้ใช้ได้ทกการกรอกเข้ามานะครับจากนั้นเราก็ทำ loop if โดยก่อนหน้าจะเข้าใน loop นี้เราก็จะมากำหนดข้อความที่ต้องการให้ผู้ใช้ใส่กันก่อนในที่นี้ก็จะเป็น ในข้อความที่ผู้ใช้ได้กรอกไปในข้อความนั้นจะต้องมีคำว่า youtube อยู่ด้วย จึงจำเป็นต้องใส่คำว่า youtube ลงไปในตัวแปล $kuikai แล้วเราก็ใช้สำสั่ง strpos นี่แหละเพื่อเป็นการตรวจสอบว่าคำว่า youtube อยู่ในตัวแปลที่ผู้ใช้กรอกมาหรือไม่กลับมาที่ loop กันเราก็ตรวจสอบดูว่าจริงหรือไม่ด้วย $pos === FALSE ถ้ามีการตรวจสอบแล้วไม่มีเก็จให้แสดงคำว่า ค้นหา keyword เฉพาะ youtube เท่านั้นส่วนผลลัพธ์นี้ไม่ได้ขึ้นข้อความนั้นเพราะว่ามันไม่ FALSE นั้นเองทำให้ข้ามไปทำที่ loop else ได้เลยส่วนใน loop elseo นันก็คือวิธีการทำให้ภาษา php เข้าไปเก็บข้อมูลและแสดงข้อมูลเฉพาะที่เราต้องการนั้นเองสามารถเข้าไปดูวิธีการทำงานกันได้นะครับ



เป็นอย่างไรกันบ้างครับสำหรับทบความนี้ผมคงจะอธิบายเข้าใจกันนะครับสำหรับท่านใดที่มีวิธีที่เรากำหนดได้แบบเจ๋งกว่านี้ก็สามารถแนะนำกันแชร์ความรู้กันมาได้เลยนะครับหวังว่าบทความนี้จะเป็นความรู้ให้กับทุกท่านที่ได้สนใจเข้ามาอ่านกันนะครับแหละทางผู้เขียนบทความก็หวังเป็นอย่างยิ่งว่าผู้ที่ได้รับความรู้นี้จะนำความรู้นี้ไปส่งต่อกับผู้ที่สนใจเหมือกันเรานะครับ
Last edited by jamepiyawat on 25/06/2019 7:26 pm, edited 1 time in total.

thatsawan
PHP VIP Members
PHP VIP Members
Posts: 19995
Joined: 31/03/2014 10:02 am
Contact:

Re: ผู้ใวิธีทำให้ strpos บังคับให้ผู้ใช้กรอกข้อความตามที่เรากำหนดได้

Post by thatsawan » 25/06/2019 7:10 pm

การบังคับกรอกของ User จะเเบบตัวอย่างแบบนี้นะคะ

Code: Select all

<input type="number" name="quantity" min="1" max="5"> 
ความหมายคือ ช่อง input นี้จะต้อง กรอกเป็นตัวเลขเท่านั้น เเต่ถ้า กรอกตัวอักษร จะไม่สามารถกดไปต่อได้
Image


ส่วน ฟังก์ชั่น strpos() ศึกษาได้จาก
ฟังก์ชั่น strpos() : ใช้ในการค้นหาข้อความ โดยคำนึงถึงตัวพิมพ์เล็กพิมพ์ใหญ่
https://www.mindphp.com/%E0%B8%84%E0%B8 ... trpos.html


Built-in functions (4)ฟังก์ชัน Strpos
viewtopic.php?f=72&t=51678

วิธีการใช้งาน String Function เบื้องต้น
https://mindphp.com/forums/viewtopic.php?f=72&t=41523


ความหมายของฟังก์ชั่น PHP ที่ควรรู้จัก
viewtopic.php?f=72&t=41520

Post Reply

Return to “PHP Knowledge”

Users browsing this forum: No registered users and 7 guests