วันอาทิตย์ที่ 12 กันยายน พ.ศ. 2553

การสร้างไฟล์ config.php เพื่อเก็บคำสั่งที่ใช้งานบ่อยๆ

หากโค๊ดหรือคำสั่งที่เราเขียนมีความจำเป็นที่จะนำไปใช้ในหลายๆเพจ เพื่อแสดงผลลัพธ์ในลักษณะเดียวกัน เราจำเป็นจะต้องสร้างเป็นฟังก์ชั่นหรือแยกคำสั่งเก็บไว้ในอีกไฟล์นึงแล้ว import เข้ามายังเอกสารที่จะเรียกใช้คำสั่งเหล่านี้
ให้สังเกตดูภาพข้างบนคับ สมมุติว่า xxx คือคำสั่งที่เราใช้งานบ่อยๆ การใช้งานมันจะมี 2 แบบคือ แบบAกับB
แบบ A คือ การเขียนคำสั่งเหล่านี้ทุกเพจเลย หากจะแก้ไขคำสั่ง จำเป็นจะต้องแก้ไขทุกเพจที่มีคำสั่งนี้ฝังอยู่คับ
ส่วน แบบ B คือ การสร้างไฟล์ขึ้นมา 1 ไฟล์ที่จัดเก็บคำสั่งที่จะถูกเรียกใช้งานบ่อยๆ หากเพจไหนต้องการที่จะนำคำสั่งนี้ไปใช้ เราก็แค่ใช้ฟังก์ชั่น require หรือ include เพื่อ import มาใช้งาน หากจะแก้ไข เราก็แค่เข้าไปแก้ไขไฟล์ที่เก็บคำสั่งนี้ เพียงแค่ไฟล์เดียว ซึ่งก็คือไฟล์ config.php ที่ผมกำลังจะสอนท่านอยู่ในขณะนี้คับ มาลุยกันเลยคับ!!!
++เปิดDreamขึ้นมาก เลือก ไปที่ Create New แล้วเลือก PHP  ก่อนอื่นต้องตั้งค่าManage Site ก่อนครับ
++จากนั้นให้Saveไฟล์ตั้งชื่อว่า config.php
++คลิกที่มุมมอง Show code view ให้ลบTag HTML ที่ Dream สร้างมาให้ ออกให้หมด  แล้วบรรจงพิมพ์คำสั่งเหล่านี้ลงไป

บรรทัดที่ 2 คือการ import ไฟล์ adodb.inc.php ของ ADODB เข้ามา ผมเก็บ ADODBไว้ในFolder adodb ดังรูปคับ


ท่านสามารถดาวน์โหลดได้จากhttp://sourceforge.net/projects/adodblite/files/
บรรทัดที่ 3 เรียกใช้คลาส NewADOConnection แล้วระบุพารามิเตอร์เป็นmysql เพื่อบอกให้รู้ว่า เราใช้ฐานข้อมูลmysqlนะ
บรรทัดที่ 4 เรียกใช้ เมธอดConnect(“ชื่อHost”,”User Database”,”Password database”,”ชื่อฐานข้อมูลที่เราได้สร้างไว้”)
บรรทัดที่ 5-7 คือการส่งคำสั่ง Execute เพื่อเซตค่าตัวอักขระให้รองรับภาษาไทย
บรรทัดที่ 8-10 คือตรวจสอบการสมบูรณ์ของการเชื่อมต่อ ค่าReturn ของตัวแปร$connเป็นFalseแสดงว่า การเชื่อมต่อผิดพลาดคับ และมันจะแสดงข้อความ Connection False!!!! ออกทางหน้าจอคับ

38 ความคิดเห็น :

  1. ไม่ระบุชื่อ15 กันยายน 2555 เวลา 19:32

    ขอโทษครับ ผมไปลงผิดหน้า

    แล้วจะรู้ได้ไงครับว่าconfig.hph มันจะลิ้งกันdatabaseได้หรือไม่ได้อะครับ

    เพราะเวลากดให้มันโชในfirefox มันขึ้นเป็นแค่หน้าขาวๆ ไม่มีอะไรเลย

    ตอบลบ
    คำตอบ
    1. หน้าขาวๆ แสดงว่า เชื่อมต่อได้ครับ
      ถ้าขึ้นคำว่า Connnection False!!! เท่านั้นครับ จะหมายถึงการเชื่อมต่อมีปัญหา

      ลบ
    2. localhost
      ของหนู port 50 ต้องทำไงคะ

      ลบ
  2. Connect("localhost", "root", "root", "db_exshop");
    $conn->Execute("SET character_set_results=tis620");
    $conn->Execute("SET collation_connection=tis620_thai_ci");
    $conn->Execute("SET NAMES 'tis620'");
    if($conn==false);
    echo "Connection False !!!!";
    ?>

    มันฟ้องว่า Connection False !!!! ทำไงดีครับ

    ตอบลบ
    คำตอบ
    1. รหัสผ่านหรือชื่อฐานข้อมูลไม่ถูกต้องครับ

      root แรกคือ username ค่า default คือ root อยู่แล้ว
      root ที่สองคือ password ครับ ตอนติดตั้ง apperv จะมีช่องให้เราตั้ง password ตัวนี้อยู่ครับ แต่ของผมตั้งชื่อว่า root
      ถ้าน้องตั้งรหัสอื่น ต้องเปลี่ยนตรงนี้ด้วยนะครับ
      db_exshop คือ ชือฐานข้อมูลครับ

      ลบ
  3. ไม่ระบุชื่อ17 ธันวาคม 2555 เวลา 14:37

    Database ผมหาไม่เจอครับ มันอยู่ตรงไหนครับพี่ งงมากเลย ในไฟลที่ให้โหลด

    exshops ก็ไม่มีครับ .sql หรือว่าจะเป็นแบบอื่นครับ มี 2 โฟลเดอร์ อันที่1 น่าจะเป็นไฟล์งานของ vb6 หรือเปล่า

    อันที่ 2 ก็เป็น ex ที่ใช้สอนอ่ะครับ ไม่รู้จะเอา Database มาจากไหนครับพี่ รบกวน Dump ออกมาเลยได้ไหม

    พอดีจะทำเป็นโปรเจค จบ น่ะครับ จักขอบพระคุณอย่างสูง

    ตอบลบ
  4. ช่วยรบกวนบอกวีธีแก้หน่อยคับ
    Warning: require_once(adodb/adodb.inc.php) [function.require-once]: failed to open stream: No such file or directory in C:\AppServ\www\phpweb\I-Sneaker\demo\config.php on line 2

    Fatal error: require_once() [function.require]: Failed opening required 'adodb/adodb.inc.php' (include_path='.;C:\php5\pear') in C:\AppServ\www\phpweb\I-Sneaker\demo\config.php on line 2

    ตอบลบ
  5. Connection False !!!!
    codeผิดตรงไหนคับ
    Connect("localhost","root","0812969275","db_exshop");
    $conn->Execute("SET character_set_results=tis620");
    $conn->Execute("SET collation_connection=tis620_thai_ci");
    $conn->Execute("SET NAMES 'tis620'");
    if($conn==false);{
    echo "Connection False !!!!";
    }
    ?>

    ตอบลบ
    คำตอบ
    1. ไม่มีคำสั่ง
      require_once('adodb/adodb.inc.php');
      $conn = NewADOConnection('mysql');

      ครับ

      ลบ
    2. Connect("localhost","root","0812969275","db_exshop"); ผิดนะครับ
      ต้องเขียน $conn->Connect("localhost","root","0812969275","db_exshop");

      ลบ
  6. ไม่ระบุชื่อ8 มีนาคม 2556 เวลา 13:36

    ใช้โค๊ด connect db แบบนี้ได้ไหมค่ะ
    mysql_connect("localhost","root","1234");
    mysql_select_db("thaifood_db");
    mysql_query("SET NAMES utf8");
    mysql_query("SET character_set_results=utf8");
    mysql_query("SET character_set_client=utf8");
    mysql_query("SET character_set_connection=utf8");

    ตอบลบ
    คำตอบ
    1. ใช้ได้ครับ แต่จะใช้ ADODB ไม่ได้ ดังนั้นน้องจะต้องดัดแปลงโค๊ดที่ผมสอนให้เป็นโค๊ดของน้องนะครับ เช่นคำสั่ง
      $conn->Execute(); น้องต้องแก้เป็น mysql_query()

      ลบ
  7. บรรทัดที่2 มีความหมายว่าอย่างไรคะ

    ตอบลบ
    คำตอบ
    1. บรรทัดที่ 2 คือการ import ไฟล์ adodb.inc.php ของ ADODB เข้ามา เพิ่อเรียกใช้งานClassที่ทำงานกับฐานข้อมูลของ Adodb ครับ

      ลบ
  8. require_once('adodb/adodb.inc.php');
    $conn = NewADOConnection('mysql');
    $conn->Connect("localhost", "root", "1234", "kithshop");
    $conn->Execute("SET character_set_results=tis620");
    $conn->Execute("SET collation_connection=tis620_thai_ci");
    $conn->Execute("SET NAMES 'tis620'");
    if($conn==false);
    echo "Connection False !!!!";

    มัน Connection False อยู่อะคับ

    ตอบลบ
    คำตอบ
    1. รหัสผ่านฐานข้อมูลผิดหรือชื่อฐานข้อมูลไม่ถูกต้องหรือป่าวครับ
      ให้ตรวจสอบคำสั่งนี้ครับ ว่าถูกต้องหรือป่าว หรือลองเข้า phpmyadmin พิมพ์รหัสผ่าน root,1234 ถ้าเข้าไม่ได้แสดงว่ารหัสผ่านไม่ถูกต้องครับ
      $conn->Connect("localhost", "root", "1234", "kithshop");

      ลบ
  9. พี่ครับ ช่วยผมหน่อยผมมีปัญหากับ function up img ครับ



    ผมอยากจะจำกัดไฟล์ให้ไม่เกิน 1mb
    นามสกุลของไฟล์ เช่น .pfd .jpg .png ต้องเพิ่มโค๊ดอะไรเข้าไปครับ

    ขอบคุณครับ

    ตอบลบ
    คำตอบ
    1. $sizefile = $_FILES["fileupload"]["size"];
      if($sizefile>=1048576){
      echo 'ขนาดเกิน 1 MB';
      }else{
      //ใส่โค๊ด upload file ตรงนี้
      }

      ลบ
    2. สำหรับวิธีหานามสกุลไฟล์ ให้ศึกษาตามนี้ครับ
      http://www.select2web.com/php/php-how-to-find-extension.html

      ลบ
  10. $conn->Connect("localhost", "root", "1234", "kithshop"); คำสั่งนี้ทำไมผมใช้ไม่ได้ส่ะทีนะงงมา2วันละเหมือนโปรแกรมไม่รุ้จักคำสั่งนี้เออเร่ออยู่บรรทัดเดียวไปไมไ่ด้เลย -*-

    ตอบลบ
    คำตอบ
    1. ต้องมี ADODB ครับ ถึงจะสามารถเรียกใช้เมธอดนี้ได้ครับ ดาวนโหลดโค๊ดทั้งหมดที่นี้ครับ
      http://php-for-ecommerce.blogspot.com/p/blog-page_18.html

      ลบ
  11. Connect("localhost", "admin", "021720122", "mydatabase");
    $conn->Execute("SET character_set_results=tis620");
    $conn->Execute("SET collation_connection=tis620_thai_ci");
    $conn->Execute("SET NAMES 'tis620'");
    if($conn==false);
    echo "Connection False !!!!";
    ?>


    Connection False !!! ยังขึ้นแบบนี้อยู่อ่ะครับๆ

    ตอบลบ
    คำตอบ
    1. <?php
      ini_set('display_errors', 'On');
      //ob_start("ob_gzhandler");
      error_reporting(E_ALL);

      // start the session
      session_start();

      // database connection config
      $dbHost = 'localhost';
      $dbUser = 'admin';
      $dbPass = '021720122';
      $dbName = 'mydatabase';

      นี้รหัสที่จะเข้าอ่ะครับ ที่ตั้งไว้

      ลบ
    2. ถ้าเข้าได้มันจะขึ้นยังไงอ่ะครับๆ อยากทำเป็นจริงๆแต่ ไม่รู้ ว่าแก้ยังไง

      ลบ
  12. มีปัญหาอีกแล้วครับๆ Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'admin'@'localhost' (using password: YES) in C:\xampp\htdocs\database.php on line 4 ลบออกแล้วลงใหม่ก็ไม่หายอ่ะครับๆ ทำไงดีช่วยที่นะครับๆ อยากเขียนเป็น ไม่รู้แก้ยังไง

    ตอบลบ
    คำตอบ
    1. ใส่รหัสผ่านฐานข้อมูลไม่ถูกครับ ลองเช็คดูครับว่าใช้รหัสผ่านอะไร
      โดยส่วนมากถ้าใช้ xampp รหัสผ่านคือ root กับ ค่าว่าง ครับ

      ลบ
    2. คือ ว่า Connect("localhost", "root", "021720122", "db_exshop");
      $conn->Execute("SET character_set_results=tis620");
      $conn->Execute("SET collation_connection=tis620_thai_ci");
      $conn->Execute("SET NAMES 'tis620'");
      if($conn==false);
      echo "Connection False !!!!";
      ?>

      รันแล้ว ไม่มีอะไรขึ้นเลยอ่ะครับทำตามทุกอย่างอ่ะครับ ช่วยบอกที่

      ลบ
    3. Warning: require_once(adodb/adodb.inc.php) [function.require-once]: failed to open stream: No such file or directory in C:\AppServ\www\exeshops\images\config.php on line 2

      Fatal error: require_once() [function.require]: Failed opening required 'adodb/adodb.inc.php' (include_path='.;C:\php5\pear') in C:\AppServ\www\exeshops\images\config.php on line 2
      คืออะไร อ่ะครับ แก้ไปมา ได้แบบนี้ เลย

      ลบ
    4. ทั่นต้องไปดาวน์โหลด ADODB มาติดตั้งก่อนครับ จากที่นี้
      http://sourceforge.net/projects/adodblite/files/
      และกลับไปอ่านบทความอีก 1 รอบครับ เพราะผมได้เขียนอธิบายไว้แล้วคับ

      ลบ
    5. ทำแล้วขึ้น "Connection False !!!!"; ดูตัวภาพที่ครับ
      http://image.ohozaa.com/view2/xCFpAAfvPKTX2Y6T หรัสใส่ถูกนะครับ ช่วยดูให้ที่ ว่า ทำไมมัน รันแบบนั้น หรัสใส่ถูกนะครับ แล้ว ทำตามขั้น ตั้งค่าManage Site แล้ว ช่วยที่ นะครับ ถ้าไม่ผ่านตรงนีั คงทำต่อไปไม่ได้

      ลบ
    6. รอมาคอบนะครับๆ อยสกรู้ว่าผิดตรงไหน ทำตามหมดแล้ว อ่าๆ

      ลบ
    7. ทั่นพิมพ์โค๊ดผิดครับ ต้องพิมพ์อย่างนี้ครับ
      if($conn==false){
      echo "Connection False !!!!";
      }

      ลบ
  13. ความคิดเห็นนี้ถูกผู้เขียนลบ

    ตอบลบ
  14. Warning: require_once(../Connections/Myconnect.php) [function.require-once]: failed to open stream: No such file or directory in /home/irh10231/domains/brvintage.com/public_html/deadstockshow.php on line 1

    Fatal error: require_once() [function.require]: Failed opening required '../Connections/Myconnect.php' (include_path='.:/usr/local/lib/php') in /home/irh10231/domains/brvintage.com/public_html/deadstockshow.php on line 1

    แก้ไขยังไงครับจนปัญญาจิงๆ

    ตอบลบ
  15. ของผมเป็แบบนี้อ่ะครับ
    Connect("localhost","hern","1234","shop_dw"); $conn->Execute("SET character_set_results=tis620"); $conn->Execute("SET collation_connection=tis620_thai_ci"); $conn->Execute("SET NAMES 'tis620'"); if($conn==false){ echo "Connection False !!!!"; }
    แก้ยังไงครับ user pass database ผมก็ถูกหมดทำไมขึ้นแบบนี้อ่ะครับ

    ตอบลบ
  16. localhost
    ของหนู port 50 ต้องทำไงคะ

    ตอบลบ
  17. Warning: require_once(adodb/adodb.inc.php) [function.require-once]: failed to open stream: No such file or directory in D:\AppServ\www\YANG\config.php on line 2

    Fatal error: require_once() [function.require]: Failed opening required 'adodb/adodb.inc.php' (include_path='.;C:\php5\pear') in D:\AppServ\www\YANG\config.php on line 2


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

    ตอบลบ
  18. $arr_meet_room = array();
    $sql = "SELECT tbroom.name as room_name, tbreserv.rdate,tbreserv.start_time, tbreserv.end_time, tbreserv.chairman FROM tbreserv Inner Join tbroom ON tbreserv.room_id = tbroom.id WHERE tbreserv.room_id = '$room'";
    " ORDER BY tbreserv.rdate ASC";
    //$booking = array();
    $booking[1][] = array('start_time' => '08:00', 'end_time' => '11:30', 'meet_name' => 'อบรม เทคโนโลยีสารสนเทศ และการสื่อสาร');
    $booking[1][] = array('start_time' => '13:35', 'end_time' => '15:20', 'meet_name' => 'วาระที่ 1');
    $booking[2][] = array('start_time' => '11:45', 'end_time' => '16:10', 'meet_name' => 'หัวข้อพิเศษเกี่ยวกับวิทยาการคอมพิวเตอร์');
    $booking[3][] = array('start_time' => '12:15', 'end_time' => '14:30', 'meet_name' => 'สรุปโครงการ');
    $booking[4][] = array('start_time' => '15:00', 'end_time' => '17:00', 'meet_name' => 'อบรม ระบบฐานข้อมูล');
    $booking[5][] = array('start_time' => '08:30', 'end_time' => '12:00', 'meet_name' => 'จัดกิจกรรมสัมมนาวิชาการ');
    $query = mysql_query($sql) or die(mysql_error());

    while ($row = mysql_fetch_assoc($query)) {
    $arr_meet_room[$row['rdate']][] = array(
    'start_time'=> $row['start_time'],
    'end_time' => $row['end_time'],
    'title' => $row['meet_name']
    );

    ทำไมไม่สามารถดึงข้อมูลจากเบสได้ แต่ลองรันโค้ดแล้วมันออกนะค่ะ หน้านี้รับค่าจากฟังก์ชั่นหน้าแรกมาส่งมาหน้านี้

    ตอบลบ