Ê× Ò³ ÍøÂç±à³Ì
ÍøÒ³ÖÆ×÷ ͼÐÎͼÏó ²Ù×÷ϵͳ ³åÀ˱¦µä
Èí¼þ½Ìѧ ÈÏÖ¤¿¼ÊÔ

ÍøÂ簲ȫ ÍøÂç°ì¹« ÐÐÒµ×ÊѶ ÆÀ²â¶Ô±È
Äúµ±Ç°Î»ÖãºÕ¾³¤Ìì¿Õ -> Èí¼þ½Ìѧ-> °ì¹«Èí¼þ
ʹÓÃmaypole½øÐпìËÙwebÓ¦Óÿª·¢£ºµÚ2²¿·Ö_perl½Ì³Ì
×÷ÕߣºÍøÓѹ©¸å µã»÷£º0
ÍÆ¼ö
Î÷²¿ÊýÂë-È«¹úÐéÄâÖ÷»ú10Ç¿£¡20ÓàÏîÐéÄâÖ÷»ú¹ÜÀí¹¦ÄÜ,È«¹úÁìÏÈ!µÚ6´úË«Ïß·ÐéÄâÖ÷»ú,Äϱ±·ÃÎʳ©Í¨ÎÞ×è!¿ÉÔÚÏßrar½âѹ,×Ô¶¯Êý¾Ý»Ö¸´ÉèÖÃÐéÄâĿ¼µÈ.Ãâ·ÑÔùËÍ·ÃÎÊͳ¼Æ,ÆóÒµÓʾÖ.CnÓòÃû×¢²á10Ôª/Äê,×ÔÖú½¨Õ¾480ÔªÆð,Ãâ·ÑÊÔÓÃ7Ìì,ÂúÒâÔÙ¸¶¿î!P4Ö÷»ú×âÓÃ799Ôª/ÔÂ.Ô¸¶Ãâѹ½ð
Õ¾ÄÚËÑË÷
ÎÄÕÂÒ³Êý£º[1] 

µ±ÎÒÃÇ"ÉÏ´Î":À뿪ÎÒÃÇÎÞηµÄweb¿ª·¢ÕßµÄʱºò£¬ËûÒѾ­³É¹¦µØÓÃ11ÐдúÂ뽨Á¢ÁËÒ»¸öÔÚÏßÏúÊÛĿ¼¡£È»¶øÏÖÔÚ£¬Ëû±ØÐë½Ó׎«Õâ±ä³ÉÒ»¸ö´øÓйºÎï³µÒÔ¼°Ïà¹Ø×é¼þµÄÏúÊÛÕ¾µã¡£ÊÇʱºò¸Ã¿´Ð©¹ØÓÚÎÒÃÇÉÏÐÇÆÚ̸¼°µÄ¿ÉÀ©Õ¹ÐÔÁË£»²»ÐÒµÄÊÇ£¬ÕâÒâν×ÅÎÒÃDZØÐëÔÙ¶àдһЩ´úÂë(ÊÂÇé×ܲ»ÊÇʮȫʮÃÀµÄ¶Ô°É)¡£

ÎÒÊÇË­£¿

ΪÁ˰ѹºÎï³µ¼ÓÈëÕ¾µã£¬ÎÒÃÇÐèÒª½éÉÜһϵ±Ç°Óû§µÄ¸ÅÄî¡£Õ⽫»áÔÊÐíÕ¾µãµÄ·ÃÎÊÕߵǼ²¢ÇÒÓµÓÐËûÃÇ×Ô¼ºµÄ¹ºÎï³µ¡£ÎÒÃǽ«°Ñ¶þ¸öеıí¼ÓÈëÊý¾Ý¿â£¬Ò»¸ö±í´¢´æ¹ØÓÚÓû§µÄÏêÇ飬һ¸ö±í´ú±í¹ºÎï³µ¡£ÎÒÃÇµÄ±í¿´ÆðÀ´»áÊÇÕâÑù£º

CREATETABLEuser(idintnotnullauto_incrementprimarykey,first_namevarchar(64),last_namevarchar(64),emailvarchar(255),passwordvarchar(64),address1varchar(255),address2varchar(255),statevarchar(255),postal_codevarchar(64),countryvarchar(64));CREATETABLEcart_item(idintnotnullauto_incrementprimarykey,userint,itemint);

ÏñÒÔǰһÑù£¬Maypole»á×Ô¶¯Îª±í´´½¨Àà¡£ÎÒÃÇʹÓÃClass::DBIµÄ×Ô¶¯¹ØÁªÄÜÁ¦À´ÈÃMaypole´¦ÀíÕâЩÐÂÔöµÄ±í£º

ISellIt::User->has_many("cart_items"=>"ISellIt::BasketItem");ISellIt::BasketItem->has_a("user"=>"ISellit::User");ISellIt::BasketItem->has_a("item"=>"ISellit::Product");

ÎÒÃÇÏÖÔÚÐèÒªÒ»¸ö·½·¨°ÑÓйص±Ç°Óû§µÄÐÅÏ¢¸æËßÎÒÃǵÄÓ¦ÓóÌÐò¡£ÔÚMaypoleÎĵµÖУ¬¹ØÓÚMaypoleµÄÈÏ֤ϵͳÓÐÒ»¶ÎºÜ³¤µÄ˵Ã÷£¬µ«ÊÇÒýÈ뵱ǰÓû§¸ÅÄî×îÈÝÒ׵ķ½·¨Ö®Ò»ÊÇʹÓÃMaypole::Authentication::UserSessionCookieÄ£¿é¡£

¹ËÃû˼Ò壬Õâ¸öÄ£¿é°Ñÿ¸öÓû§ºÍÒ»¸ösessionÏà¹ØÁª£¬²¢¸øÓû§µÄä¯ÀÀÆ÷·¢ËÍÒ»¸öcookie¡£Í¬Ê±Ò²¸ºÔðÈ·ÈÏÓû§µÄµÇ¼ƾ֤£¬Ä¬ÈÏ·½·¨ÊÇÔÚÒ»ÕÅÊý¾Ý¿â±íÖвéÕÒÓû§ÃûºÍÃÜÂ룻ÕâÕýÊÇÎÒÃÇÏëÒªµÄ£¡

MaypoleÌṩһ¸öauthenticate·½·¨¸øÎÒÃÇÖØÔØ£¬¶øÇÒÔÚÕâÀïÎÒÃÇ»áÀ¹½ØÈκÎÒ»¸öÐèÒªºÏ·¨Óû§Éí·ÝµÄÇëÇó,±ÈÈç²é¿´¹ºÎï³µ£¬°ÑÎïÆ·¼ÓÈë¶©µ¥µÈµÈ¡£

subauthenticate{my($self,$r)=@_;unless($r->{table}eq"cart"or$r->{action}eq"buy"){returnOK;}#Elseweneedauser$r->get_user;if(!$r->{user}){$r->template("login");}returnOK;}

UserSessionCookieÄ£¿éÌṩµÄÒ»¸öget_user·½·¨£¬Ëü¸ºÔðËùÓжÔcookieºÍµÇ½ƾ֤½øÐÐÉèÖõŤ×÷¡£ÎÒÃÇΨһÐèÒª×öµÄ¾ÍÊǸæËßËü£¬ÎÒÃÇÏëÓÃÓû§µÄµç×ÓÓʼþµØÖ·ºÍÃÜÂë×÷ΪµÇ¼ƾ֤£¬¶ø²»ÊÇÒ»Ð©ËæÒâµÄÓû§Ãû¡£ÎÒÃÇ¿ÉÒÔÔÚÎÒÃǵÄÓ¦ÓóÌÐòÅäÖÃÖжÔÕâЩ½øÐÐÖ¸¶¨£¬ÈçͬUserSessionCookieÎĵµÖÐËùÊö£º

ISellIt->{config}->{auth}->{user_field}="email";

ÏÂÒ»²½£¬ÎÒÃǽ¨Á¢Ò»¸öµÇ¼ģ°å£¬ÓÃÀ´ÏÔʾһ¸ö±íµ¥¸øÓû§Ìá½»ËûÃÇµÄÆ¾Ö¤£»ÔÚMaypoleÊÖ²áRequestÕ½ÚÖоÍÓÐÒ»¸ö£¬ÎÒÃÇ¿ÉÒÔ¼ÓÒÔÐÞ¸ÄÒÔÊʺÏÎÒÃǵÄÐèÒª£º

[INCLUDEheader]<h2>Youneedtologinbeforebuyinganything</h2><DIVclass="login">[IFlogin_error]<FONTCOLOR="#FF0000">[login_error]</FONT>[END]<FORMACTION="/[request.path]"METHOD="post">EmailAddress:<INPUTTYPE="text"NAME="email"><BR>Password:<INPUTTYPE="password"NAME="password"><BR><INPUTTYPE="submit"></FORM></DIV>

ÄÇôÏÖÔڵǼµÄÎÊÌâ½â¾öÁË£»Èç¹ûÒ»¸öÓû§Ìá½»ÁËÕýÈ·µÄƾ֤£¬get_user½«»á°ÑÓû§µÄISellIt::User¶ÔÏó×÷Ϊ$r->{user}·Å½øMaypoleÇëÇó¶ÔÏóÖÐ,È»ºó¼ÌÐø´¦ÀíÓû§µÄÇëÇó¡£

ÒòΪÏÖÔÚÎÒÃÇÓÐÁËÒ»¸ö¿ÉÓõÄÓû§¶ÔÏ󣬵±È»¾Í¿ÉÒÔÔÚÆäËûµØ·½Ê¹ÓÃÕâ¸öÓû§µÄÐÅÏ¢£º

[IFrequest.user]<DIVclass="messages">Welcomeback,[request.user.first_name]!</DIV>[END]

ÓÉÓÚÎÒÃÇ»áÔÚºÜ¶àµØ·½Ìá¼°Õâ¸öÓû§£¬ËùÒÔÎÒÃǰÑËü×÷Ϊһ¸ö¶îÍâµÄ²ÎÊýmy´«¸øÄ£°å¡£MaypoleÓÐÒ»¸öºÜÅ£µÄhook·½·¨additional_data£¬·Ç³£ÊʺÏÓÃÀ´×öÕâ¸ö¡£

subadditional_data{my$r=shift;$r->{template_args}{my}=$r->{user};}

ÎÒÃǸøËüÈ¡ÃûΪmy£¬¾ÙÀýÀ´ËµÎÒÃÇ¿ÉÒÔÕâÑùµ÷ÓÃËü£º

<DIVclass="messages">Welcomeback,[my.first_name]!</DIV>

ËùÒÔÏÖÔÚÎÒÃÇÓÐÒ»¸öÓû§¡£ÎÒÃÇ¿ÉÒÔÔö¼ÓÒ»¸öÐµĶ¯×÷order£¬°ÑÒ»¸öÎïÆ·¼ÓÈëÓû§µÄ¹ºÎï³µ£º

packageISellIt::Product;suborder:Exported{my($self,$r,$product)=@_;$r->{user}->add_to_cart_items({item=>$product});$r->{template}="view";}

Õâ»áÔÚcart_item±íÀïÌí¼ÓÒ»¸öÌõÄ¿£¬°ÑÎïÆ·ºÍÓû§¹ØÁªÆðÀ´£¬È»ºóÈÃÎÒÃÇ·µ»ØÏÈǰµÄÒ³ÃæÀ´²é¿´ÎïÆ·¡£

ÎÒÃÇÒѾ­°ÑÎÒÃǵÄÓû§ËÍ»ØÁËÏÈǰµÄÒ³Ãæ£¬µ«Ã»ÓÐÌáʾ˵ÎÒÃǸղÅȷʵ°ÑÒ»¸öÎïÆ·¼ÓÈëÁËËûµÄ¹ºÎï³µ£»ÎÒÃÇÄÜͨ¹ý°ÑÐÅÏ¢´«½øÄ£°åÀ´¸ø³öÕâÑùµÄÌáʾ£º

suborder:Exported{my($self,$r,$product)=@_;$r->{user}->add_to_cart_items({item=>$product});$r->{template}="view";$r->{template_args}{bought}=1;}

È»ºóÏÔʾËü£º

[IFbought]<DIVclass="messages">Wevejustaddedthisitemtoyourshoppingcart.Tocompleteyourtransaction,please<AHREF="/user/view_cart">viewyourcart</A>andcheckout.</DIV>[END]

ÄÇô£¬ÏÖÔÚÎÒÃǵÃÔÊÐíÓû§²é¿´¹ºÎï³µ¡£

ÏÔʾ¹ºÎï³µ

ÕâÒ²±»Ö¤Ã÷ÁËÊÇÏ൱¼òµ¥µÄ£¨MaypoleÖеĴó¶àÊýÊÂÎï¶¼ÊÇ£©Ö»ÐèÒªµ÷ÓÃÓû§ÀàµÄÒ»¸ö¶¯×÷¡£ÎÒÃÇÐèÒª°ÑÓû§¹ºÎï³µµÄÎïÆ·¼ÓÈëÎÒÃǵÄMaypoleÇëÇó¶ÔÏóÖУº

packageISellIt::User;subview_cart:Exported{my($self,$r)=@_;$r->{objects}=[$r->{user}->cart_items];}

È»ºóÎÒÃÇÐèÒªÖÆ×÷Ò»¸öÏÔʾËûÃǵÄuser/view_cartÄ£°å£º

[PROCESSheader]<h2>YourShoppingCart</h2><TABLE><TR><TH>Product</TH><TH>Price</TH></TR>[SETcount=0;FORitem=objects;SETcount=count 1;"<tr";class="alternate"IFcount2;">";]<TD>[item.product.name]</TD><TD>[item.product.price]</TD><TD><FORMACTION="/cart_item/delete/[item.id]"><INPUTTYPE="submit"VALUE="Removefromcart"></FORM></TD></tr>[END]</TABLE><AHREF="/user/checkout">Checkout!</A>

ÔÙ´ÎÖØÉ꣬ÕâÀïµÄHTML´úÂëдµÃ²¢²»ºÃ£¬µ«ËüÒ²Ìṩ¸øÁËһЩ¶«Î÷ʹµÃÎÒÃÇÄܰÑËü½»¸øÉè¼ÆÈËÔ±½øÐкܺõØÉè¼Æ¡£ÏÖÔڸöԹºÎï³µ½áÕÊÁË¡­¡­

½áÕÊ

¹¹½¨Ò»¸öµç×ÓÉÌÎñÓ¦ÓóÌÐò×îÀ§ÄѵIJ¿·Ý¾ÍÊÇÓ븶¿îºÍÐÅÓÿ¨½áËã·þÎñµÄ½»»¥¡£ÎÒÃǽ«Ê¹ÓÃ"Business::OnlinePayment":http://search.cpan.org/perldoc?Business::OnlinePaymentÀ´´¦ÀíÕâ·½ÃæµÄÊÂÇ飬´¦Àí½áËã¶©µ¥ÔòÊǼòµ¥µØ·¢Ò»·âµç×ÓÓʼþ¡£

ÕæÕýµÄ½áËãÒ³ÃæÖ»ÐèÒªÊÕ¼¯ÐÅÓÿ¨ºÍËÍ»õÐÅÏ¢£¬ËùÒÔʵ¼ÊÉÏËü²»ÐèÒªÈκζÔÏó£»ÊÂʵÉÏÎÒÃǽÓÏÂÀ´Î¨Ò»ÐèÒªµÄ¶ÔÏóÊÇISellIt::User£¬ËüÒѾ­ÓÉÈÏÖ¤¹ý³ÌÄÉÈëÇëÇó¶ÔÏóÖС£ÎÞÂÛÈçºÎÎÒÃǵÄÈ·ÐèÒªÏÔʾÎïÆ·×Ü·ÑÓã¬ËùÒÔ£¬ÎªÁËʹÊÂÇé±äµÃ¸ü¼òµ¥£¬ÎÒÃÇ»áÌí¼ÓÒ»¸ö¶¯×÷ÓÃPerlÀ´¼ÆËãËü¡£ÎÒÃÇΪÓû§µÄ×Ü·ÑÓý¨Á¢Ò»¸ö·½·¨£¬ÒÔ±¸ºóÓãº

packageISellIt::User;useList::Utilqw(sum);subbasket_cost{my$self=shift;summap{$_->item->price}$self->basket_items}

ÔÙ¶¨Òåcheckout°Ñ×ܶî¼ÓÈëÎÒÃǵÄÄ£°å£º

subcheckout:Exported{my($self,$r)=@_;$r->{template_args}{total_cost}=$r->{user}->basket_cost;}

ÏÖÔÚÎÒÃÇдÎÒÃǵÄuser/checkoutÄ£°å£º

[PROCESSheader]<h2>Checkout</h2><p>Pleaseenteryourcreditcardanddeliverydetails.</p><formmethod="post"action="https://www.isellit.com/user/do_checkout"><P>Firstname:<inputname="first_name"value="[my.first_name]"><BR>Lastname:<inputname="last_name"value="[my.last_name]"></P><P>Streetaddress:<inputname="address"value="[my.address1]"><BR>City:<inputname="city"value="[my.address2]"><BR>State:<inputname="state"value="[my.state]">Zip:<inputname="zip"value="[my.postal_code]"></P><P>Cardtype:<selectname="type"><option>Visa</option><option>Mastercard</option>...</select>Cardnumber:<inputname="card_number">Expiration:<inputname="expiration"><BR>Total:$[total_price]</P><P>Pleaseclick<B>once</B>andwaitforthepaymenttobeauthorised....<inputtype="submit"value="order"></form>

µ±ÕâЩÊý¾Ý±»Ìá½»¸ødo_checkout¶¯×÷ʱ»á·¢ÉúÊ²Ã´ÄØ£¿£¨Äã»á×¢Òâµ½ÕâÊÇͨ¹ýSSLÁ¬½ÓµÄ£©¡£ÎÒÃǽ«»áÏȼì²éÓû§ÊÇ·ñÒѾ­ÊäÈëµØÖ·ÏêÇ飬¶øÇÒÈç¹ûÊǵϰ£¬°ÑËüÃÇ´æ½øÊý¾Ý¿â¡£Ò²ÐíÕâÔÚä¯ÀÀÆ÷ÄÜ×Ô¶¯Ìîд±íµ¥µÄ½ñÌìÏÔµÃûʲô±ØÒª£¬²»¹ýÈÔ²»Ê§ÎªÒ»Ïî±ãÀûµÄ´ëÊ©¡£Maypole°ÑPOST¹ýÀ´µÄ²ÎÊý´¢´æÔÚparamsÖУº

subdo_checkout:Exported{my($self,$r)=@_;myparams={$r->{params}};my$user=$r->{user};$user->address1($params{address})unless$user->address1;$user->address2($params{city})unless$user->address2;$user->state($params{state})unless$user->state;$user->postal_code($params{zip})unless$user->postal_code;

ÎÒÃÇÐèÒª½èÖúBusiness::OnlinePayment¹¹ÔìÒ»¸ö·¢Ë͸øÍⲿ֧¸¶Íø¹ØµÄÇëÇó£»Ì«¸ÐлÁË£¬ÎÒÃǽÓÊÕµ½µÄ±íµ¥²ÎÊý½«ÕýºÃÊÇOnlinePaymentÐèÒªµÄ¸ñʽ£¬¸ÐлÕâôÌåÌùµÄ±íµ¥Éè¼Æ¡£ËùÓÐÎÒÃÇÐèÒª×öµÄ¾ÍÊDzåÈëÎÒÃǵÄÕÊ»§Ã÷ϸºÍ×ܶ

my$tx=newBusiness::OnlinePayment("TCLink");$tx->content(params,type=>"cc",login=>VENDOR_LOGIN,password=>VENDOR_PASSWORD,action=>NormalAuthorizationamount=>$r->{user}->basket_total);

ÏÖÔÚÎÒÃÇÄÜÌá½»Õ˵¥£¬È»ºó¿´ÓÐʲô·¢Éú¡£Èç¹ûÓÐÎÊÌ⣬ÎÒÃÇ»á°ÑÒ»¸öÏûÏ¢¼ÓÈëÄ£°å£¬¶øÇÒÔÙÒ»´Î°ÑÓû§ËÍ»ØÏÈǰµÄÒ³Ãæ£º

$tx->submit;if(!$tx->is_success){$r->{template_args}{message}="Therewasaproblemauthorizingyourtransaction:".$tx->error_message;$r->{template}="checkout";return;}

ûÓÐÎÊÌâµÄ»°£¬ÎÒÃǾÍÄܵõ½Ö§¸¶¸øÎÒÃǵÄÇ®£»ÏÖÔÚÎÒÃǵðÑËü¸æËß·¢»õÔ±£¬·ñÔòÎÒÃÇ»áºÜ¿ìʧȥ¿Í»§£º

fulfill_order(address_details=>$r->{params},order_details=>[map{$_->item}$r->{user}->cart_items],cc_auth=>$tx->authorization);

ÄÇôÏÖÔÚÎÒÃÇÇå¿Õ¹ºÎï³µ£¬°ÑÓû§ËÍÉÏ·£º

$_->deletefor$r->{user}->cart_items;$r->{template}="frontpage";}

Íê³É£¡ÎÒÃÇÒÑ´øÓû§Íê³ÉÁ˵ǽ£¬°ÑÉÌÆ·¼ÓÈ빺Îï³µ£¬ÑéÖ¤ÐÅÓÿ¨¼°½áÕʵĹý³Ì¡£µ«ÊÇ¡­¡­ÉԵȡ£Æð³õÎÒÃÇÔõÑùµÃµ½Óû§ÄØ£¿

×¢²áÓû§

ÎÒÃDZØÐëÕÒÒ»¸ö·½·¨À´ÈÃÓû§×¢²á¡£Êµ¼ÊÉÏÕâ²¢²»ÔõôÄÑ£¬ÌرðÊÇÒòΪÎÒÃÇÄÜʹÓÃMaypoleÊÖ²áÖÐFloxµÄÀý×Ó¡£Ê×ÏÈ£¬ÎÒÃǽ«»á°ÑÒ»¸ö"×¢²á"Á´½Ó¼ÓÈëÎÒÃǵĵǼģ°å£º

<P>Newuser?<AHREF="/user/register">Signup!</A></P>

ÕâÒ³²»ÐèÒªÔØÈëÈκζÔÏó£¬ÒòΪËüÖ»ÊÇÓÃÀ´ÏÔʾһ¸ö×¢²á±íµ¥£»ÎÒÃÇÖ»Òª°ÑÎÒÃǵÄÄ£°å¼ÓÈë/user/register£º

[INCLUDEheader]<P>WelcometobuyingwithiSellIt!</P><P>Tosetupyouraccount,weonlyneedafewdetailsfromyou:</P><FORMMETHOD="POST"ACTION="/user/do_register"><P>Yourname:<inputname="first_name"><inputname="last_name"></P><P>Youremailaddress:<inputname="email"></P><P>Pleasechooseapassword:<inputname="password"></P><inputtype="submit"name="Register"value="Register"></FORM>

ÏñÒÔǰһÑù£¬ÎÒÃÇÐèÒªÏò"Class::DBI::FromCGI"¡£½âÊÍÕâЩ×ֶεı༭ÊôÐÔ£¨Ò²¾ÍÊÇÕâЩ×ֶζÔÓ¦µÄ¼ì²é·½Ê½£©£º

ISellIt::User->untaint_columns(printable=>[qw/first_namelast_namepassword/],email=>[qw/email/],);

ÏÖÔÚÎÒÃÇÄÜдÎÒÃǵÄdo_registerʼþÁË£¬Ê¹ÓÃFromCGIµÄÐÎʽ£º

subdo_register:Exported{my($self,$r)=@_;my$h=CGI::Untaint->new({$r->{params}});my$user=$self->create_from_cgi($h);

Èç¹û»¹ÓÐÎÊÌ⣬ÎÒÃǰÑËûÃÇÖØÐÂËÍ»Ø×¢²á±íµ¥£º

if(myerrors=$obj->cgi_update_errors){$r->{template_args}{cgi_params}=$r->{params};$r->{template_args}{errors}=\errors;$r->{template}="register";return;}

·ñÔò£¬ÎÒÃÇÏÖÔÚ¾ÍÓÐÁËÒ»¸öÓû§£»ÎÒÃǾÍÐèÒª·¢ËÍcookie¸ø¸ÃÓû§£¬Ê¹ËûÃDZ£³ÖÕý³£µÇ½µÄ״̬¡£ÕâÊÇUserSessionCookieÔÙÒ»´Î¸øÎÒÃÇ·½±ãµÄµØ·½ÁË£º

$r->{user}=$user;$r->login_user($user->id);

×îºóÎÒÃÇÔÙÒ»´Î°ÑÓû§ËÍÉÏ·£º

$r->{template}="frontpage";}

ÖÁ´Ë£ºÏÖÔÚÎÒÃÇ¿ÉÒÔ´´½¨ÐµÄÓû§£»Ìṩһ¸öÕÒ»ØÃÜÂ빦ÄܾÍ×÷Ϊһ¸öÁ·Ï°Áô¸ø¸ÐÐËȤµÄ¶ÁÕß¡£

MaypoleÕªÒª

ÏÖÔÚÎÒÃÇÒѾ­Íê³ÉÁË¡ª¡ªÔÚÒ»¸öºÜ¶ÌµÄʱ¼äÀÓÃ×îÉÙÁ¿µÄ´úÂ룬ÎÒÃÇÒѾ­´´½¨ÁËÒ»¸öÔÚÏßÉ̵ꡣÎÒϲ»¶MaypoleµÄÔ­ÒòÖ®Ò»¾ÍÊÇÄãÖ»ÐèҪרÐıàд´¦ÀíÉÌÒµÂß¼­Á÷³ÌµÄ´úÂë¾ÍÐУ»ËùÓÐÆäËûµÄÏÔʾģ°å¶¼¿ÉÒÔ¡°½è¼ø¡±Ò»Ï±ðÈ˵ģ¬ÔÙ¸ø×¨ÒµÈËʿȥ´¦Àí£¬¶øÇÒÓàÏµĹ¤×÷¶¼±»MaypoleÔÚÄ»ºóħÊõ°ãµØ´¦ÀíÁË¡£

¸ÐлTPF»ù½ð¶ÔMaypoleµÄÖ§³Ö£¬ÎÒÃÇÏÖÔÚÓÐÁËÒ»·ÝÏ꾡ÇÒ¸½ÓÐһЩ°¸Àý·ÖÎö£¨°üÀ¨Õâ¸ö£©µÄÓû§ÊֲᣬÒÔ¼°Ò»¸ö»îÔ¾µÄÓû§ºÍ¿ª·¢ÕßÉçÇø¡£ÎÒÏ£ÍûÄãºÜ¿ìÒ²»á¼ÓÈ룡


ÎÄÕÂÕûÀí£ºÕ¾³¤Ìì¿Õ ÍøÖ·£ºhttp://www.z6688.com/
ÒÔÉÏÐÅÏ¢ÓëÎÄÕÂÕýÎÄÊDz»¿É·Ö¸îµÄÒ»²¿·Ö,Èç¹ûÄúÒª×ªÔØ±¾ÎÄÕÂ,Çë±£ÁôÒÔÉÏÐÅÏ¢£¬Ð»Ð»!

ÎÄÕÂÒ³Êý£º[1] 


·Å´ó×ÖÌåÏÔʾ ËõС×ÖÌåÏÔʾ ´òÓ¡ÎÄÕÂ ÍÆ¼ö¸øÅóÓÑ
ÈÈÃÅÎÄÕÂ
¡¤ASP.NET2.0Á¬½ÓSQL ServerÊý¾Ý¿âÏê½â-.NET½Ì³Ì,Asp.Net¿ª·¢
¡¤ÔÚ.netÖÐÇáËÉÕÆÎÕWindows´°Ìå¼äµÄÊý¾Ý½»»¥-.NET½Ì³Ì,.NET Framework
¡¤JavaÖеÄÀà·´Éä»úÖÆ-JSP½Ì³Ì,Java¼¼Çɼ°´úÂë
¡¤Ð¡¼¼ÇÉÈÃpdfÎļþÓëwordÎĵµÖ®¼ä×ÔÓɵØ×ª»»
¡¤j2ee³ÌÐòÔ±Ó¦¸ÃÕÆÎÕµÄlinux֪ʶ-JSP½Ì³Ì,J2EE/EJB/·þÎñÆ÷
¡¤Í¨¹ýWMI»ñµÃÓ²Å̺ÍCPUµÄÎïÀíÐòÁкţ¨VB.net£©-.NET½Ì³Ì,VB.NetÓïÑÔ
¡¤firfoxä¯ÀÀÆ÷¿ª·¢È˹«¿ªfirfox2.0¿ª·¢¼Æ»®
¡¤VB.netÈëÃÅ(10):²¹³ä£ºÀà~ÊôÐÔ-.NET½Ì³Ì,VB.NetÓïÑÔ
¡¤office2003ÊµÕ½ÃØóÅÖ®excelÇáËÉÖÆÊ¤ÕÐ
¡¤C#±àÂë¹æ·¶.doc-.NET½Ì³Ì,C#ÓïÑÔ
×îÐÂÎÄÕÂ
¡¤ÌìÑÄÊÔË®ÍøÂç¿Ú±®ÓªÏú ÐÏÃ÷:Ï£ÍûÓë"¹Ø¼ü´Ê"æÇÃÀ_Õ¾³¤·Ã̸
¡¤ÃÀÀæÍøÕ¾³¤±ùº®µÄÉÌÎñÖ®µÀ_Õ¾³¤·Ã̸
¡¤°×ÊÖÆð¼Ò ÐÂÍøÕ¾Á÷Á¿¿ìËÙÌá¸ßÖ®µÀ_Õ¾³¤ÐĵÃ
¡¤ÕÕÆ¬´¦Àí photoshop¼òµ¥ÖÆ×÷ÕÕÆ¬Èá¹âЧ¹û_photoshop½Ì³Ì
¡¤ÍøÂç°Ù½ä ---ÍøÒ³Íâ¹Û_Õ¾³¤ÐĵÃ
¡¤utf-8ת»»gb2312±àÂë,½â¾öͳ¼ÆgoogleËÑË÷À´Ô´¹Ø¼ü×ÖÂÒ_googleÍÆ¹ã
¡¤googleadsense×÷±×²»ÊǼ¼ÊõµÄ½ÏÁ¿_googleÍÆ¹ã
¡¤google¸Ä½øËÑË÷·þÎñ ÆóÒµ¿ÉÔÚlocal¸üÐÂ×ÊÁÏ_googleÍÆ¹ã
¡¤rss¶©ÔĶÔÄãµÄÍøÕ¾ËÑË÷±íÏÖÓкô¦Âð£¿_Õ¾³¤ÐĵÃ
¡¤15ÖÖ¼ò½àÓÐЧµÄÍøÕ¾ÍÆ¹ã·½·¨_Õ¾³¤ÐĵÃ
Ïà¹ØÖ÷Ìâ
Î÷²¿ÊýÂëÐéÄâÖ÷»ú

ÓÑÇéÁ´½Ó
CNNIC Î÷²¿ÊýÂë
ÍòÍø ×ÔÖú½¨Õ¾
ÐéÄâÖ÷»ú asp¿Õ¼ä
ÓòÃû×¢²á ÓòÃû
ÓòÃûÉêÇë Ö÷Ò³¿Õ¼ä
ÂÛ̳¿Õ¼ä ÍøÕ¾¿Õ¼ä
¹ú¼ÊÓòÃû ÐéÄâ¿Õ¼ä
¿Õ¼ä×âÓà DDOS·À»ðǽ
³É¶¼Ö÷»úÍÐ¹Ü ËÄ´¨Ö÷»úÍйÜ
Ö÷»ú×âÓà ·þÎñÆ÷×âÓÃ
ÍøÕ¾Ä¿Â¼ ×ÔÖú½¨Õ¾
ÐéÄâÖ÷»ú ÍøÖ·´óÈ«
Èí¼þÏÂÔØ
×ÔÖúÁ´½Ó
ÐéÄâÖ÷»ú×ÊѶ ÌØ¼ÛÐéÄâÖ÷»ú
°æÈ¨ÉêÃ÷£º±¾Õ¾ÎÄÕ¾ùÀ´×ÔÍøÂ磬ÈçÓÐÇÖȨ£¬ÇëÁªÏµÎÒÃÇ£¬ÎÒÃÇÊÕµ½ºóÁ¢¼´É¾³ý£¬Ð»Ð»£¡
¹ØÓÚÎÒÃÇ£ºÕ¾³¤Ìì¿Õ£º×¨ÒµÌṩ×îеÄÕ¾³¤×ÊѶ¡¢ÔÚÏ̡߽̳¢ÐéÄâÖ÷»úȨÍþÆÀ²â¡¢ÐéÄâÖ÷»úÐÔÄܶԱȡ¢ÍøÕ¾ÖÆ×÷½Ì³Ì,¿ª·¢½Ì³Ì,Õ¾³¤¹¤¾ß¡£°üÀ¨ÍøÒ³ÖÆ×÷½Ì³Ì¡¢³åÀ˱¦µä¡¢±à³Ì²Î¿¼¡¢²Ù×÷ϵͳ¡¢Èí¼þ½Ìѧ¡¢ÐÐÒµ¶¯Ì¬µÈ¡£
ÌØ±ð×¢Ò⣺±¾Õ¾ËùÓÐ×ªÔØÎÄÕÂÑÔÂÛ²»´ú±í±¾Õ¾¹Ûµã£¬±¾Õ¾ËùÌṩµÄÉãÓ°ÕÕÆ¬£¬²å»­£¬Éè¼Æ×÷Æ·£¬ÈçÐèʹÓã¬ÇëÓëÔ­×÷ÕßÁªÏµ£¬°æÈ¨¹éÔ­×÷ÕßËùÓС£
·¢±íÆÀÂÛ¡¡´òÓ¡¡¡ ˢР¡¡¡¡ ¡¡¹Ø±Õ