¡¾Ê²Ã´ÊÇMVC£¿¡¿
MVCÊÇÒ»¸ö¿ÉÒÔÈÃÄã°Ñ“Èý¸ö²¿·Ö£¨¼´MVCµÄÈ«³Æ£¬Model¡¢ View¡¢Controller£©”гµ÷µØ×é³ÉÒ»¸ö¸´ÔÓÓ¦ÓóÌÐòµÄ¸ÅÄî¡£Ò»Á¾Æû³µ¾ÍÊÇÒ»¸öÔÚÏÖʵÉú»îÖзdz£ºÃµÄMVCÀý×Ó¡£ÎÒÃÇ¿´³µ¶¼¿´Á½¸öView£¨ÏÔ Ê¾£©²¿·Ö£ºÄÚ²¿ºÍÍⲿ¡£¶øÕâÁ½¸ö¶¼Àë²»¿ªÒ»¸öController£¨¿ØÖÆÕߣ©£ºË¾»ú¡£É²³µÏµÍ³¡¢·½ÏòÅÌºÍÆäËû²Ù¿ØÏµÍ³´ú±íÁËModel£¨Ä£ÐÍ£©£ºËûÃÇ´Ó˾ »ú£¨Controller£©ÄÇÀïÈ¡µÃ¿ØÖÆ·½·¨È»ºóÓ¦Óõ½ÄÚ²¿ºÍÍâ¹Û£¨View£©¡£
¡¾ÍøÂçÉϵÄMVC¡¿
MVC¿ò¼ÜËùº¸ÇµÄ¸ÅÄîÏ൱¼òµ¥²¢ÇÒ¼«¶ÈÁé»î¡£»ù±¾µÄ¸ÅÄî¾ÍÊÇ£¬ÄãÓÐÒ»¸öµ¥¶ÀµÄ¿ØÖÆÆ÷£¨Èçindex.php£©ÓÃÀ´¿ØÖÆËùÓн¨Á¢ÔÚ²ÎÊýÇëÇó»ù´¡ÉϵĿò¼Ü ÄÚÓ¦ÓóÌÐò¡£Õâ¸ö¿ØÖÆÆ÷ͨ³£°üº¬ÁË£¨×îС³Ì¶ÈÉÏ£©Ò»¸ö¶¨ÒåÄ£Ð͵IJÎÊý¡¢Ò»¸öʼþºÍÒ»¸öGET²ÎÊý¡£ÕâÑù¿ØÖÆÆ÷¾ÍÄÜÈ·ÈÏËùÓеÄÇëÇóÈ»ºóÔËÐÐÏàÓ¦µÄʼþ¡£´ò¸ö ±È·½À´Ëµ£¬Ò»¸öÏñÕâÑù/index.php?module=foo&event=barµÄÇëÇóºÜÓпÉÄܾÍÊÇÓÃÀ´ÔØÈëÒ»¸öÃû½ÐfooµÄÀ࣬ȻºóÔËÐÐ foo::bar()[¾ÍÊÇÆäÖеÄbar()º¯Êý]¡£ÕâÑù×öµÄºÃ´¦ÓУº
Ò»¸ö¶ÔÓ¦ËùÓÐÓ¦ÓóÌÐòµÄ½Ó¿Ú
ͬʱά»¤Ò»¸öÓ¦ÓóÌÐòÄÚÎÞÊýµÄ´úÂë·Ç³£Âé·³£¬Òò ......
ÈçºÎ²»Ê¹ÓÃprepared statment£¬¶øÊÇÓùýÂ˵ķ½·¨±ÜÃâSQL×¢ÈëÄØ£¿
Ò»°ãÀ´Ëµmysql×Ô´øµÄ¹ýÂ˺¯ÊýÊDZȽϿɿ¿µÄ¡£mysql_real_escape_string()
µ«ÊÇÕâ¸öº¯ÊýÔÚijЩ×Ö·û¼¯ÖÐÓÐÎÊÌ⣬±ÈÈçGBK¡£Èç¹ûÄãÓÃUTF8ÄÇû¹ØÏµ¡£
ÔÚPHPÀïÉèÖÃÊý¾Ý¿âµÄ×Ö·û¼¯²»Ó¦¸ÃÓãºmysql_query("SET NAMES UTF8");
¶øÓ¦¸ÃÓãºmysql_set_charset()
ÕâÑùmysql_real_escape_string()ÔÚ´¦ÀíGBK±àÂëµÄʱºò¾Í²»»á³öÎÊÌâÁË¡£
mysql_real_escape_string() not safe when SET NAMES is used
use mysql_set_charset() instead.
Note: This is the preferred way to change the charset. Using mysql_query() to execute SET NAMES .. is not recommended.
SET NAMES is usually used to switch the encoding from what is default to what the application needs. This is done in a way that mysql_real_escape_string doesn’t know about this. This means if you switch to some multi byte encoding that allows backslash as 2nd 3rd 4th… byte you run into trouble, because mysql_real_escape_string doesn’t escape correctly. UTF-8 is safe…
Safe way to change encodin ......
$ip = "1.1.1.255".chr(0)."haha";
if(ereg("^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$",$ip)) {
echo $ip;
} else {
echo "unknown";
}
Õâ¸öeregÕýÔòÏÞÖÆÁË$ipµÄÊý¾ÝΪxxx.xxx.xxx.xxxÕâÑùµÄÐÎʽ£¬±íÃæÉÏ¿´ÉÏÃæµÄ´úÂëÓ¦¸ÃÊä³ö"unknown"£¬¶øÊµ¼ÊÈ´Êä³öÁË"1.1.1.255haha"£¬ÒòΪeregº¯Êý´æÔÚNULL½Ø¶Ï©¶´£¬µ¼ÖÂÁËÕýÔò¹ýÂ˱»Èƹý¡£4 \2 n+ Y6 |; Z7 O
6 e& b6 C5 F- W- F$ zÎÒÃÇÔÚÀûÓÃʱ±ØÐëÒªÒýÈë\x00(%00)£¬¶øÔÚGPCΪONµÄÇé¿öÏÂ%00»á±»×ªÒåµ¼ÖÂÎÞ·¨ÀûÓᣵ«ÊÇÈç¹û±»ereg()´¦ÀíµÄÊÇ$ _SERVER(ÔÚPHP5Ï¿ÉÒÔÈÆ¹ýGPC£©»òÊDZ»urldecodeÕâÑùµÄº¯Êý´¦Àíµ¼ÖÂGPC±»ÈƹýµÄÊý¾ÝÄØ£¿±ÈÈçÓÐЩ³ÌÐò¾ÍÓÃÉÏÃæµÄ·½·¨ÑéÖ¤$ _SERVERÌá½»ÉÏÀ´µÄIP£¬ÄÇôÎÒÃǾͿÉÒÔÀûÓÃNULL½Ø¶ÏÈÆ¹ýÕýÔò¹ýÂËÀ´¹¹ÔìÎÒÃÇÐèÒªµÄÊý¾ÝÁË£º£© ......
ÎÒÃÇÒ»Ö±ÏëÓÐÒ»¸ö»ú»á²âÊÔһϸ÷¸öÖ÷Á÷µÄÃâ·ÑµÄphpµÄcmsϵͳµÄÐÔÄÜ£¬²¢×öÒ»¸ö×ۺϱȽϡ£ÓÉÓÚÄѶȽϴó£¬Ò»¸öcmsÒ»µ©ÓÃϰ¹ßÁË£¬¾Í»á²»×Ô¾õµÄÅųâÆäËûcms£¬Òò´ËºÜÄÑÓÐ¿Í¹ÛµÄÆÀ¼Û¡£ÏÂÃæÊÇ“ÖúÒ×ÍøCMSÆÀ²âС×é”ÔÚ2008Äê4Ô¶ÔĿǰ¹úÄÚÁ÷Ðеöphp-cmsϵͳÔÚ´óÊý¾ÝÁ¿Çé¿öϵIJâÆÀ±¨¸æ¡£¿´ÆðÀ´²âÆÀµÄÈËÊDZȽÏÊìÏ¤ÍøÕ¾ÖÆ×÷µÄÐмң¬Òò´Ë²âÆÀ»¹ÊDZȽϿ͹۵ġ£ÕýÔÚÑ¡ÔñcmsµÄÍøÓÑ¿ÉÒԲο¼Ò»Ï¡£ÕâÀïÌáÐÑ´ó¼Òһϣ¬Ñ¡Ôñcms»¹Òª×¢ÒâÒ×ÓÃÐÔ¡£Èç¹ûÄú²»Çå³þʲôÊÇcmsµÄ»°£¬½¨Òéÿһ¸ö¶¼ÊÔÒ»ÊÔ£¬¹¦Äܲ»ÐèÒª×îÇ¿´ó£¬ÊʺÏ×Ô¼ºµÄ¾ÍÊÇ×îºÃµÄ¡£²¢²»ÊÇÿ¸öÍøÕ¾¶¼ÐèÒª50ÍòÎÄÕµġ£
ÐÔ¼±µÄÍøÓѱ𼱣¬Ïȸø´ó¼Ò¿´¿´²âÊÔ½á¹û£º
2008Äê¹úÄÚÃâ·ÑphpÀàcmsµÄÊý¾Ý¸ºÔØÅÅÃûÈçÏÂ(ÅÅÃû½ö¹©²Î¿¼)£º
¡¡¡¡
¡¡¡¡¾¹ý¼¸ÂֵIJâÊÔ£¬supesiteºÍphpcmsͨ¹ýÆäÓÅÒìµÄ±íÏÖÓ®µÃÁ˲âÆÀС×éµÄÇàíù£¬Í¨¹ýÈýÏîµÃ·ÖÊý¾Ý¿´³öËûÃÇÔÚÊý¾ÝµÄ¹ÜÀíÄÜÁ¦ÉÏÏà±ÈÆäËûµÄcms¸üʤһ³ï¡£supesiteȡʤ֮µÀÔÚÓÚ¸ßЧµÄºǫ́¹ÜÀíºÍÈ¡ÇɵÄÊý¾ÝÉú³É·½·¨£¬ÓÅÐãµÄÆ·ÖÊʹÆä³ÉΪ×î¼ÑÊý¾Ý¸ºÔØÄÚÈݹÜÀíϵͳµÄ²»¶þÈËÑ¡£¬Òź¶µÄÊdzÌÐò²»¿ªÔ´;phpcmsÔò¸÷·½Ãæ¸ü¼Óƽ¾ù£¬ÓÈÆäÊÇÊý¾ÝÉú³ÉÄÜÁ¦·Ç³£ÓÅÐ㣬¼ÓÉϳÌÐòÍêÈ«¿ªÔ´£¬Òò´ËÓкܶàµÄ×·ËæÕߣ¬ÖµµÃÎÒà ......
<?php
// Á¬½Ó£¬Ñ¡ÔñÊý¾Ý¿â
$dbconn = pg_connect("host=localhost dbname=publishing user=www password=foo")
or die('Could not connect: ' . pg_last_error());
// Ö´ÐÐ SQL ²éѯ
$query = 'SELECT * from authors';
$result = pg_query($query) or die('Query failed: ' . pg_last_error());
// Óà HTML ÏÔʾ½á¹û
echo "<table>\n";
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
// ÊͷŽá¹û¼¯
pg_free_result($result);
// ¹Ø±ÕÁ¬½Ó
pg_close($dbconn);
?>
http://php.chinaunix.net/manual/zh/ref.pgsql.php
ps:Ò³ÃæÉêÃ÷±àÂ룺ÔÚHTML´úÂëHEADÀïÃæ£¬¿ÉÒÔÓÃ<meta http-equiv="Content-Type" content="text/html;
charset="XXX" />À´¸æËßä¯ÀÀÆ÷ÍøÒ³²ÉÓÃÁËʲô±àÂ룬ĿǰÖÐÎÄÍøÕ¾¿ª·¢ÖÐÖ÷ÒªÓà ......
ÔÚjspÖÐÒýÓÃresponse.setContentType("application/msword");£¬´ò¿ªµÄÒ³Ãæ¾ÍÊÇwordÑùʽ¡£
1¡¢ÊµÏÖwordºá´ò£º
<style>
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:841.9pt 595.3pt;//Ö½ÕŵĴóС
mso-page-orientation:landscape;
margin:89.85pt 72.0pt 89.85pt 72.0pt;
mso-header-margin:42.55pt;//ҳü
mso-footer-margin:49.6pt;//Ò³½Å
mso-paper-source:0;
layout-grid:15.6pt;}
div.Section1
{page:Section1;}
</style>
ʹÓÃ<div class="Section1"></div>¼´¿ÉʵÏÖ
2¡¢×Ô¶¨ÒåÖ½ÕÅ´óС×Ý´ò
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size: 21.5cm 14.00cm;
margin-left:0.5cm;//×óÒ³±ß¾à
margin-right:0.5cm;//ÓÒÒ³±ß¾à
margin-top:0.5cm;//ÉÏÒ³±ß¾à
margin-bottom:0.5cm//ÏÂÒ³±ß¾à;
mso-header-margin:0.5cm;
mso-footer-margin:0.5cm;
layout-grid:0.5pt;}
d ......