4/24/2012

Setup ระบบ Openfire Messaging on Ubuntu

เพื่อง่าย ให้ ssh เข้าไป code จะได้ copy ได้
1.ติดตั้ง Package ที่จำเป็น (นำมาจาก testExtranet ตัวเดิมบางอันลงไว้แล้ว)
  1.    apt-get install apache2
  2.     apt-get install php5 libapache2-mod-php5
  3.     apt-get install mysql-server
  4.     apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin
  5.  
2.Download ไฟล์ติดตั้งจาก http://www.igniterealtime.org เลือกเอาที่เป็น .tra.gz
3. Copy ไว้ที่เครื่องที่มี Apache ใน WWW แล้ว ทำการ Copy ไปเครื่อง testExtranet โดย
  1. cd /opt/
  1. wget http://localhost/openfire_3_7_1.tar.gz
4. แตกไฟล์ใน opt โดยใช้
  1. tar -zxvf openfire_3_7_1.tar.gz
5. ทดลอง start และเช็ค status ดู โดยใช้
  1. /opt/oprnfire/bin/openfire start
  1. /opt/oprnfire/bin/openfire status
6. สร้าง script สำหรับ openfire ให้ Start เองตอนเปิดเครื่อง (เพราะไม่ได้ติดตั้งผ่าน .deb จึงต้องทำขึ้นเอง)
  1. nano /etc/init.d/openfire
แล้ว copy code นี้วางแทนที่ทั้งหมดเลย
  1.    #! /bin/sh
  2.     # /etc/init.d/openfire
  3.     #
  4.      
  5.     # Some things that run always
  6.     #touch /var/lock/openfire
  7.      
  8.     # Carry out specific functions when asked to by the system
  9.     case "$1" in
  10.       start)
  11.         #echo "Starting openfire "
  12.         /opt/openfire/bin/openfire start
  13.         ;;
  14.       stop)
  15.         #echo "Stopping openfire"
  16.         /opt/openfire/bin/openfire stop
  17.         ;;
  18.       status)
  19.         #echo "Checking openfire"
  20.         /opt/openfire/bin/openfire status
  21.         ;;
  22.       *)
  23.         echo "Usage: /etc/init.d/openfire {start|stop|status}"
  24.         exit 1
  25.         ;;
  26.     esac
  27.      
  28.     exit 0

7. ฝังให้ run ตอน boot ด้วยคำสั่ง
  1.    chmod 755 /etc/init.d/openfire
  2.     update-rc.d openfire defaults

8. เข้าไป Setup โดยใช้ port 9090 เช่http://localhost:9090
Language : English
Domain: server0.sci.com
Admin Console Port: 9090
Secure Admin Console Port: 9091

Database Settings : Standard Database Connection
Database Driver Presets: MySQL
JDBC Driver Class: com.mysql.jdbc.Driver
Database URL: jdbc:mysql://localhost:3306/openfire (ต้องสร้างฐานข้อมูลไว้ก่อน เลือก Collation เป็น unicode)

Profile Settings : Directory Server (LDAP)
Server Type: Active Directory
Host: server4.sci.com
Port: 389
Base DN : DC=SCI,DC=COM
Administrator DN: CN=Administrator,CN=Users,DC=SCI,DC=COM

Username Field: sAMAccountName
Name : {cn}
User Filter : (objectClass=organizationalPerson) (จะกำหนดเงื่อนไขเพิ่มก็ได้ เช่น &(objectClass=organizationalPerson)(department=IF-IT))
Email : {mail}
Full Name : {displayName}

Group Field: cn
Member Field: member
Description Field: description
Group Filter : (objectClass=group) (จะกำหนดเงื่อนไขเพิ่มก็ได้ เช่น &(objectClass=group)(name=IM))

9.Add Administrator แล้วลอง test ดู ใส่เป็นชื่อ เช่น suwit_j

10.ทดลอง Login เข้าใช้งาน http://localhost:9090/login.jsp?url=%2Findex.jsp โดย User : suwit_j Password ใน Domain

11. การตั้งค่าโปรแกรมเช่น Pidgin Set ที่ Account Connect Server : 192.168.0.9 , Connect Port : 5222 , User : suwit_j , Domain : sci.net
password : ใชัตัวเดียวกับ Domain
หมายเหตุ : การ upgrade version สามารถ download .deb มาแล้วติดตั้งซ้ำได้เลย

syslog ส่ง Log จากเครื่องหนึ่งไปเก็บอีกเครื่องหนึ่ง

การส่ง Log จากเครื่องตัวเองหรือจาก SERVER ตัวอื่น เพื่อไปเก็บไว้ที่ SERVER Log ตัวเดียว
เช่น การเก็บ Log จาก SERVER ต่าง ๆ ใน SCI เพื่อไปรวมที่ SERVER ตัวเดียวคือ LogSERVER (192.168.0.251)

1. ติดตั้งโปรแกรม พื้นฐานที่จำเป็นต้องใช้ในเครื่อง ตัวเอง
- apt-get install apache2 ติดตั้ง Apache
- apt-get install Mysql-server ติดตั้ง Mysql-server
- apt-get install phpmyadmin ติดตั้ง phpmyadmin

2. ติดตั้ง syslog
โดยทำตาม ขั้นตอนนี้
http://porpramarn.blogspot.com/2012/04/ubuntu-centralized-log-with-logzilla.html

*** สำคัญมาก คือ 3.ติดตั้ง Package อื่น ๆ ที่จำเป็น ต้อง ติดตั้งทีละ แถว ให้ครบทุกตัวไม่งั้นจะไม่เก็บ Log


3. แก้ไขไฟล์ Config เพิ่มเติมที่เครื่องเราเอง
- nano /etc/syslog-ng/syslog-ng.conf
  1. destination d_logserver { tcp("192.168.0.9" port(514)); };
  2.  

ไว้ล่าง ### Destinations ###
และเพิ่ม 
  1. #get s_apache locolhost
  2. log {
  3.    source(s_apache_access);
  4.    destination(d_logzilla);
  5. };
  6.  
  7. log {
  8.    source(s_apache_access);
  9.    destination(d_logserver);
  10. };
  11.  


ไว้ล่าง ### Logs ###

ตัวอย่าง จาก Sources ที่แก้เพิ่มเติม จาก http://porpramarn.blogspot.com/2012/04/ubuntu-install-serverextranet.html
  1. ### Sources ###
  2. source s_local {
  3. internal();
  4. # standard Linux log source (this is the default place for the syslog()
  5. # function to send logs to)
  6. unix-stream("/dev/log");
  7. # messages from the kernel
  8. file("/proc/kmsg" program_override("kernel: "));
  9. };
  10.  
  11. source s_apache_access {
  12.     file("/var/log/apache2/access.log");
  13. };
  14.  
  15. ### Destinations ###
  16. destination d_logzilla {
  17.   program("/var/www/logzilla/scripts/db_insert.pl"
  18.   template("$HOST\t$FACILITY\t$PRIORITY\t$LEVEL\t$TAG\t$YEAR-$MONTH-$DAY\t$HOUR:$MIN:$SEC\t$PROGRAM\t$MSG\n")
  19.   );
  20. };
  21. destination d_logserver { tcp("192.168.0.9" port(514)); };
  22.  
  23. ### Logs ###
  24. #get s_local
  25. log {
  26.    source(s_local);
  27.    destination(d_logzilla);
  28. };
  29.  
  30. #get s_apache locolhost
  31. log {
  32.    source(s_apache_access);
  33.    destination(d_logzilla);
  34. };
  35.  
  36. log {
  37.    source(s_apache_access);
  38.    destination(d_logserver);
  39. };
  40.  
  41.  


*** อธิบาย Code
ไฟล์ syslog-ng.conf จะประกอบด้วย 3 ส่วนคือ
ส่วนที่ 1. Source บอกถึงเราจะเก็บอะไรบ้าง ใส่ตัวแปร เช่น เก็บทั้งหมด, เก็บ Apacher, เก็บ Squid หรืออื่น ๆ
  1. source s_apache_access {
  2.     file("/var/log/apache2/access.log");
  3. };
  4.  


ส่วนที่ 2. Destination คือส่วนที่ประกาศตัวแปรเรียกใช้โปรแกรมเพื่อเก็บลง ฐานข้อมูลของ Log ตามตัวแปรที่มีการตั้งชื่อไว้
และเป็นส่วนที่ใช้ในการ ส่ง ข้อมูล Log ไปอีก SERVER ตัวอื่น 
  1. destination d_logzilla {
  2.   program("/var/www/logzilla/scripts/db_insert.pl"  #เรียกใช้ไฟล์คำสั่งนี้
  3.   template("$HOST\t$FACILITY\t$PRIORITY\t$LEVEL\t$TAG\t$YEAR-$MONTH-$DAY\t$HOUR:$MIN:$SEC\t$PROGRAM\t$MSG\n")
  4.   );   # เก็บตัวแปรเหล่านี้เข้าไปเก็บ
  5. };
  6. destination d_logserver { tcp("192.168.0.9" port(514)); };  # ส่วนที่ส่ง ข้อมูลไป SERVER อื่น


ส่วนที่ 3. Log คือส่วนที่เรา ใช้ในการส่ง log ว่าจะเก็บส่วนไหนบ้างและส่งไปโดยใช้ตัวแปรไหนบ้าง เช่น
  1. log {
  2.    source(s_local);
  3.    destination(d_logzilla);
  4. };  
เก็บเฉพาะ Log ข้องเครื่องตัวเอง ใช้ตัวแปร s_local และส่งโดยใช้ destination ของตัวแปร d_logzilla

  1. log {
  2.    source(s_apache_access);
  3.    destination(d_logzilla);
  4. };
เก็บ เฉพาะ log ส่วนที่ทำงานเกี่ยวกับ apache โดยใช้ source s_apache_access และส่งโดยใช้ destination ชื่อ d_logzilla

  1. log {
  2.    source(s_apache_access);
  3.    destination(d_logserver);
  4. };
เก็บ เฉพาะ log ส่วนที่ทำงานเกี่ยวกับ apache โดยใช้ source s_apache_access และส่งโดยใช้ destination ชื่อ d_logserver
ซึ่งชุดคำสั่งในตัวแปร d_logserver คือจะส่งไปเก็บอีก SERVER หนึ่งผ่าน port 514

4. การตั้งค่า ไฟล์ syslog-ng.conf ที่ SERVER ฝั่งที่เป็นเครื่องรับ
- nano /etc/syslog-ng/syslog-ng.conf
เพิ่มในส่วนของ Source
  1. source s_net {
  2.    udp(ip(0.0.0.0) port(514));
  3.    tcp(ip(0.0.0.0) port(514) keep-alive(yes) max-connections(300));
  4. };


เพิ่มในส่วนของ log
  1. ### Logs ###
  2. log {
  3.    source(s_net);
  4.    destination(d_logzilla);
  5. };
  6.  


ตัวอย่าง Source
  1. ### Sources ###
  2. source s_local {
  3. # message generated by Syslog-NG
  4. internal();
  5. # standard Linux log source (this is the default place for the syslog()
  6. # function to send logs to)
  7. unix-stream("/dev/log");
  8. # messages from the kernel
  9. file("/proc/kmsg" log_prefix("kernel: "));
  10. };
  11.  
  12. source s_net {
  13.    udp(ip(0.0.0.0) port(514));
  14.    tcp(ip(0.0.0.0) port(514) keep-alive(yes) max-connections(300));
  15. };
  16.  
  17.  
  18. ### Destinations ###
  19. destination d_logzilla {
  20.   program("/var/www/logzilla/scripts/db_insert.pl"
  21.   template("$HOST\t$FACILITY\t$PRIORITY\t$LEVEL\t$TAG\t$YEAR-$MONTH-$DAY\t$HOUR:$MIN:$SEC\t$PROGRAM\t$MSG\n")
  22.   );
  23. };
  24.  
  25. ### Logs ###
  26. log {
  27.    source(s_local);
  28.    source(s_net);
  29.    destination(d_logzilla);
  30. };
  31.  

ความหมายคือ
source s_local เป็นตัวรับค่าจาก เครื่องตัวเอง
source s_net เป็นตัวที่ใช้รับค่าจากการส่งค่าจาก เครื่องอื่นมา
แล้วเก็บใส่ log โดยนำ source ต่าง ๆ มาส่งเก็บเข้าฐานข้อมูลของ log โดดยใช้ destination d_logzilla

Ubuntu : Centralized Log with LogZilla

Centralized Log with LogZilla
1. ดาวน์โหลดและติดตั้ง LogZilla
  1. sudo su -
  2. cd /var/www
  3. wget http://php-syslog-ng.googlecode.com/files/logzilla_v2.9.9o.tgz
  4. tar xzvf logzilla_v2.9.9o.tgz
  5. mv php-syslog-ng logzilla
  6.  

2.ติดตั้ง และ config syslog-ng
  1. aptitude install syslog-ng

แก้ไข /etc/syslog-ng/syslog-ng.conf
  1. options {
  2.       long_hostnames(off);
  3.       # doesn't actually help on Solaris, log(3) truncates at 1024 chars
  4.       log_msg_size(8192);
  5.       # buffer just a little for performance
  6.       # sync(1); <- Deprecated - use flush_lines() instead
  7.       flush_lines(1);
  8.       # memory is cheap, buffer messages unable to write (like to loghost)
  9.       log_fifo_size(16384);
  10.       # Hosts we don't want syslog from
  11.       #bad_hostname("^(ctld.|cmd|tmd|last)$");
  12.       # The time to wait before a dead connection is reestablished (seconds)
  13.       time_reopen(60);
  14.       #Use DNS so that our good names are used, not hostnames
  15.       use_dns(yes);
  16.       dns_cache(yes);
  17.       #Use the whole DNS name
  18.       use_fqdn(yes);
  19.       keep_hostname(yes);
  20.       chain_hostnames(no);
  21.       #Read permission for everyone
  22.       perm(0644);
  23.       # The default action of syslog-ng 1.6.0 is to log a STATS line
  24.       # to the file every 10 minutes.  That's pretty ugly after a while.
  25.       # Change it to every 12 hours so you get a nice daily update of
  26.       # # how many messages syslog-ng missed (0).
  27.       # stats(43200);
  28.   };
  29.  
  30. ### Sources ###
  31. source s_net {
  32. udp(ip(0.0.0.0) port(514));
  33. tcp(ip(0.0.0.0) port(514) keep-alive(yes) max-connections(300));
  34. };
  35.  
  36. source s_local {
  37. # message generated by Syslog-NG
  38. internal();
  39. # standard Linux log source (this is the default place for the syslog()
  40. # function to send logs to)
  41. unix-stream("/dev/log");
  42. # messages from the kernel
  43. file("/proc/kmsg" log_prefix("kernel: "));
  44. };
  45.  
  46. ### Destinations ###
  47. destination d_messages { file("/var/log/messages"); };
  48.  
  49. destination d_logzilla {
  50.   program("/var/www/logzilla/scripts/db_insert.pl"
  51.   template("$HOST\t$FACILITY\t$PRIORITY\t$LEVEL\t$TAG\t$YEAR-$MONTH-$DAY\t$HOUR:$MIN:$SEC\t$PROGRAM\t$MSG\n")
  52.   );
  53. };
  54.  
  55. ### Logs ###
  56. log {
  57. source(s_local);
  58. destination(d_messages);
  59. };
  60.  
  61. log {
  62.    source(s_local);
  63.    source(s_net);
  64.    destination(d_logzilla);
  65. };

3.ติดตั้ง Package อื่น ๆ ที่จำเป็น
  1. aptitude install apache2 php5 php5-gd php5-cli php5-mysql mysql-server msttcorefonts build-essential
  2. cpan Text::LevenshteinXS
  3. cpan -i Digest::SHA1
  4. cpan -i Net::MySQL


4.Config Apache กับ PHP
  1. nano /etc/php5/apache2/php.ini
  1. nano /etc/php5/cli/php.ini

แก้ไขให้เป็น
  1. memory_limit = 128M
  2. max_execution_time = 300
  3.  
  1. nano /etc/apache2/conf.d/logzilla
  1. Alias /logs "/var/www/logzilla/html/"
  2.    <Directory "/var/www/logzilla/html/">
  3.        Options Indexes MultiViews FollowSymLinks
  4.        AllowOverride All
  5.    Order allow,deny
  6.    Allow from all
  7.    </Directory>
  8.  
restart apache
  1. /etc/init.d/apache2 restart
  2. chown -R www-data:www-data /var/www/logzilla/html


5.Logrotate
  1. mkdir -p /var/log/logzilla
  2. nano /etc/logrotate.conf
  1. /var/log/logzilla/*.log {
  2.   missingok
  3.   compress
  4.   rotate 5
  5.   daily
  6.   postrotate
  7.   /etc/init.d/syslog-ng reload > /dev/null 2>&1 || true
  8.   endscript
  9. }

ตั้งเวลา
  1. crontab -e
  1. @daily php /var/www/logzilla/scripts/logrotate.php >> /var/log/logzilla/logrotate.log
  2. @daily find /var/www/logzilla/html/jpcache/ -atime 1 -exec rm -f '{}' ';'
  3. 0,5,10,15,20,25,30,35,40,45,50,55 * * * * php /var/www/logzilla/scripts/reloadcache.php >> /var/log/logzilla/reloadcache.log
6.Setup LogZilla
  1. cd /var/www/logzilla/html
  2. chmod 777 ./config/config.php
  3. chmod 777 ./config
  4. chmod 777 ./jpcache
  5. touch lpd_graph.jpeg
  6. chmod 777 lpd_graph.jpeg

เข้าไปที่ http://server/logs แล้วทำตามขั้นตอนไปเรื่อย ๆ
step 1 ป้อนแค่รหัสผ่าน mysql ของ root อย่างอื่นปล่อยเป็น default ไว้
step 3 ตรง site url ใส่ /logs/ ตามที่ตั้งค่า apache ไว้ แล้วใส่ email กับตั้งรหัสผ่านของ admin
step 4 คลิก Install CEMDB (Cisco Error Message Database) แล้วก็ Import จนเสร็จ
เข้าไปแก้ไข path ต่าง ๆ โดยใช้ script
  1. cd /var/www/logzilla/scripts
  2. ./fixpaths.sh
  3.  

Ubuntu : Install : ServerExtranet

1. Install Ubuntu 10.04 Server by select guide Install and set software openssh-server
2. Edit sources list new
http://porpramarn.blogspot.com/2012/04/ubuntu-update-sources-list.html
3. Install apache2 use code apt-get install apache2
4. Setting Vbox ---> Network Adapter1 : Bridged Adapter for get ip real.
5. in ubuntu use command in terminal ifconfig for looking ip for network.
6. Test Apache by open browser and insert address ip in (5.) if browser show It Works. it ok.
7. Set ip new in network. by use command nano /etc/network/interfaces
edit dhcp to static and remote look server2 file nano /etc/network/interfaces or use command
  1.  
  2. iface eth0 inet static
  3.         address 192.168.0.9
  4.         netmask 255.255.255.0
  5.         network 192.168.0.0
  6.         broadcast 192.168.0.255
  7.         gateway 192.168.0.2
  8.  

8. restart network by use command /etc/init.d/networking restart
9. Test apache by (6.) . by use new ip.
10. if (9.) not work. use command check LAN (
  1. mii-tool
) or (
  1. ifconfig
for look etc and use
  1. ifconfig eth0 up
and restart networking) .
if it ready not use command in (10).
11. install MySql-server by use command (
  1. apt-get install mysql-server
and set password root) step install select apache2 and set password 3 times
12. Test phpmyadmin by open browser get address IP/phpmyadmin and insert user and password
13. Copy file backup for server and extract and create new database in phpmyadmin is name same database real.
14. import database
15. Install webmin by copy file backup to server2/var/www/cc. by use ftp in ubuntu or other method.
16. use code in terminal for servertest (
) for download file insert home for server test. Or use method other by computer is install apache it can shared file for other computer download. by paste in var/www/cc.
17. install webmin by use command (
  1. dpkg -i webmin_1.580_......name file
).step install you must set password for sa. if step install error some packet. so use command (
  1. apt-get install -f
). And test webmin by open browser insert address IP:10000 (https)
After install webmin finish. you can use webmin upload file or delete file and extract file in program webmin. by insert menu other and select file manager. or you can use command
18. copy file for web to servertest. by copy file extarnet.tar.gz and paste in cc for computer is run apache example paste in server2/var/www/cc by use ftp for ubuntu or use upload file in webmin.
19. use command in terminal for servertest (
) for download file paste in home for servertest.
20. extract file in home by use command (
  1. tar -zxvf extranet....file name
)
21. enter in var and www by use command cd var, cd www
22. move all file in folder to /var/www/ by use command (
  1. mv * /var/www/
)
24. delete file index.html in program webmin in folder /var/www/ and test run web by enter ip.
25. if web not run or error. you must install packet by use command (
  1. apt-get install php5-sybase
) and test run web
26. edit file getNews.php by change split to explode.

Finished install web Extranet and phpmyadmin

Install syslog
1. install ntp by use command (
  1. apt-get install ntp
)
2. edit server (
  1. nano /etc/ntp.conf)
change server to 192.168.0.252 << NTP Server IP
use ssh enter to ip. for copy command in blog paste so not typing.
by run terminal in ubuntu computer and use command
  1. ssh sa@IP
insert password of servertest
And see this blog. Method install syslog
http://porpramarn.blogspot.com/2012/04/ubuntu-centralized-log-with-logzilla.html
1. step difference.
in 1.
if you copy file logzilla_v2...file name to server2/var/www/cc you can use command
in 1.
  1. mv php-syslog-ng logzilla
you must move to file /var/www/
2. difference step 2.Edit /etc/syslog-ng/syslog-ng.conf . by copy เฉพาะ Code ตรง ส่วน ### Sources ### ไปวางต่อท้าย ไฟล์ดังกล่าว ไม่ต้องทับหมด

  1. ### Sources ###
  2. source s_local {
  3. # message generated by Syslog-NG
  4. internal();
  5. # standard Linux log source (this is the default place for the syslog()
  6. # function to send logs to)
  7. unix-stream("/dev/log");
  8. # messages from the kernel
  9. file("/proc/kmsg" log_prefix("kernel: "));
  10. };
  11.  
  12. ### Destinations ###
  13. destination d_logzilla {
  14.   program("/var/www/logzilla/scripts/db_insert.pl"
  15.   template("$HOST\t$FACILITY\t$PRIORITY\t$LEVEL\t$TAG\t$YEAR-$MONTH-$DAY\t$HOUR:$MIN:$SEC\t$PROGRAM\t$MSG\n")
  16.   );
  17. };
  18.  
  19. ### Logs ###
  20. log {
  21.    source(s_local);
  22.    destination(d_logzilla);
  23. };
  24.  

3. difference step 3.

  1. cpan Text::LevenshteinXS
in step install you must answer ok and yes
And install

  1. packed cpan -i YAML
after install fist command.
4. difference step 5. set time

  1. crontab -e
you mush select 2 and enter.
5. difference step 6. step install LogZilla setup is not font red in page. if have font red you must edit file.

  1. nano /etc/php5/apache2/php.ini
  2. nano /etc/php5/cli/php.ini

ตาม error นั้น ค้นหาและ แก้ไฟล์ save

Ubuntu Update Sources list

- After install Ubuntu finish
1. Use command nano /etc/apt/sources.list Enter
2. Edit file by Ctrl+w and typing "th.archive.ubunt.com" and Ctrl+r
3. Typing "192.168.0.252:9999" Enter and typing a Enter
4. Ctrl+w and typing "security.ubuntu.com" and Ctrl+r
5. Insert data same number 3.
6. press Ctrl+x and Ctrl+y Enter
7. use command apt-get update
8. After apt-get update finish. Use command apt-get upgrade

PHP : ความแตกต่างของฟังก์ชั่น empty()และ isset() ใน PHP

ความแตกต่างของฟังก์ชั่น empty()และ isset() ใน PHP
มาดูความแตกต่างระหว่างฟังก์ชั่น empty() และ ฟังก์ชั่น isset() กันค่ะ ว่าแตกต่างกันยังไง และใช้งานกันยังไงบ้าง
ฟังก์ชั่น empty() ทำหน้าที่ตรวจสอบว่าตัวแปลที่เรากำหนดไว้มีค่าอยู่ในตัวแปลนั้นหรือไม่
ส่วน
ฟังก์ชั่น isset() จะทำหน้าที่ตรวจสอบว่ตัวแปรนั้นมีอยู่จริงหรือไม่
การใช้ isset จะไม่เหมาะกับพวกการรับข้อมูลเช่น GET POST
ยกตัวอย่าง ถ้ามีคนเรียกแบบนี้ download.php?id=
ถ้าใช้ empty($_GET['id']) มันจะคืน true แปลว่าตัวแปรนั้นว่าง
แต่ถ้า isset($_GET['id']) มันจะคืน true แปลว่าตัวแปรนั้นมี แต่เราไม่รู้ว่ามันว่างหรือไม่
ดังนั้นการใช้ empty จะชัวร์กว่า ในเรื่องตัวแปรนั้นๆ มีข้อมูลมาจริงๆ

View source
<? if(!$table || !$params) return false; ?>

เวลาจะเช็คตัวแปร แนะนำใช้ empty ดีกว่า

View source
<? if(empty($table) || empty($params)) return false; ?>

ตัวอย่างการใช้ isset ตรวจสอบว่าตัวแปรนั้นมีอยู่จริงหรือไม่

View source
<? if (isset($p_edit)) {
 
 $sql = "SELECT * FROM $tb_pc WHERE id_com = '$p_edit' ";
 
 $query =mysql_query($sql);
 
 $show = mysql_fetch_array($query);}?>

PHP : ส่งค่าผ่าน From โดยไม่ต้องแสดงผล

ส่งผ่าน hidden
ความต้องการคื่อในหน้า PHP นั้น ๆ ไม่อยากให้แสดงข้อมูล หรือไม่ได้เก็บใส่ Taxt แต่ต้องการค่า
จากหน้าหนึ่งไปยังอีกหน้าหนึ่ง

<input type="hidden" name="hdnName" value="<?=$x;?>">


รับค่าก็เป็น
$hidden = $_GET[hdnName];

4/05/2012

ฝันที่เป็นจริง Instagram Android มาให้โหลดทางการแล้ว!!





ฝันที่เป็นจริงได้มาถึงสำหรับชาวแอนดรอยด์ แล้ว หลัังเปิดให้ลงทะเบียน Instagram for Android ไปเมื่อ25 มี.ค. ที่ผ่านมา ล่าสุดทางทีมพัฒนาได้แจ้งกลับทาง Email แล้วว่า  Instagram เวอร์ชั่นAndroid  พร้อมให้ดาวน์โหลดแล้ว เปิด Google Play  แล้วเข้าไปโหลดกันได้เลย  ส่วนจะเจ๋งกว่าในiPhone ไหม ไปเริ่มพิสูจน์กันเถอะ!!



Instagram Android  Features



 ฟีลเตอร์ฟรี 100% ทุกตัว / Lux เพื่อการปรับแสง
 แชร์ เข้า Facebook, Twitter, Tumblr,  Foursquare ( ในFlickr เจอกันเร็วๆ นี้ )
อินเตอร์แอคทีฟกับเพื่อนๆได้อย่างสมบูรณ์
 รองรับ Android ตั้งแต่เวอร์ชั่น2.2 ขึ้นไป รวมถึง OpenGL ES 2
จัดได้ทั้งกล้องหน้าและหลัง
Download Mediafire .apk ฟรี