µçÐÅÖ÷Õ¾ ÍøÍ¨·ÖÕ¾
¹ºÂòÁ÷³Ì ¸¶¿î·½Ê½ ³£¼ûÎÊÌâ ÔÚÏßÌáÎÊ Ðø×â·þÎñ ¹ºÎï³µ
Óû§Ãû: ÃÜ¡¡Âë: Íü¼ÇÃÜÂ룿
Ê× Ò³
ÓòÃû×¢²á
ÐéÄâÖ÷»ú
Ë«ÏßÖ÷»ú
·þÎñÆ÷×âÓÃ
VPSÖ÷»ú
ÆóÒµÓʾÖ
´úÀí×¨Çø
¿Í·þÖÐÐÄ
ÐéÄâÖ÷»úÐÐÒµ×ÊѶ ÐéÄâÖ÷»úÆÀ²â¶Ô±È »¥ÁªÍø×îж¯Ì¬ ¼¼ÊõѧԺ Õ¾³¤×ÊѶ ÔÚÏß½Ì³Ì ÍøÕ¾ÔËÓª
ËÑË÷ÓÅ»¯ ·þÎñÆ÷ ÍøÂç±à³Ì ͼÐÎͼÏó Õ¾³¤Ö®¼Ò ÍøÒ³ÖÆ×÷ ²Ù×÷ϵͳ
³åÀ˱¦µä Èí¼þ½Ìѧ ÊÓÆµÍ¨ÐÅ °ì¹«Èí¼þ Óʼþϵͳ ÍøÂ簲ȫ ÈÏÖ¤¿¼ÊÔ
Äúµ±Ç°Î»ÖãºÎ÷²¿ÊýÂë->×ÊѶÖÐÐÄ-> ÍøÂç±à³Ì -> Perl½Ì³Ì
ʹÓÃ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.west263.com
ÒÔÉÏÐÅÏ¢ÓëÎÄÕÂÕýÎÄÊDz»¿É·Ö¸îµÄÒ»²¿·Ö,Èç¹ûÄúÒª×ªÔØ±¾ÎÄÕÂ,Çë±£ÁôÒÔÉÏÐÅÏ¢£¬Ð»Ð»!
Ïà¹ØÖ÷Ìâ
ÎÄÕÂÒ³Êý£º[1] 
Google
ÈÈÃÅÎÄÕÂ
¡¤perl³£ÎÊÎÊÌ⼯--µÚһƪ_perl½Ì³Ì
¡¤perl³£¹æ±í´ïʽ(1)_perl½Ì³Ì
¡¤perlÓïÑÔÈ«Ãæ±àÒ루һ£©_perl½Ì³Ì
¡¤perlÓïÑÔÈ«Ãæ±àÒ루Èý£©_perl½Ì³Ì
¡¤perlÓïÑÔÈ«Ãæ±àÒ루¶þ£©_perl½Ì³Ì
¡¤¸÷ÖÖÆ½Ì¨ÏÂperlÄ£¿éµÄ°²×°·½·¨_perl½Ì³Ì
¡¤perlÓïÑÔÈ«Ãæ±àÒ루ËÄ£©_perl½Ì³Ì
¡¤perldbiÈëÃÅ_perl½Ì³Ì
¡¤ÓÐÏßµçÊÓ¿í´øÊý¾ÝÍøÂçÉè¼Æ¹ÜÀí(ÉÏ)_ÊÓÆµÍ¨ÐÅ
¡¤perl³£ÎÊÎÊÌ⼯--µÚһƪ_perl½Ì³Ì

×îÐÂÎÄÕÂ
¡¤php5¶Ômysql5µÄÈÎÒâÊý¾Ý¿â±íµÄ¹ÜÀí´úÂëʾÀý£¨ËÄ£©_php¼¼ÇÉ
¡¤ÓÃperlÀ´·ÖÎö²¢Éú³ÉÖÐÎÄexcelÎļþ_perl½Ì³Ì
¡¤photoshop»ù´¡½Ì³Ì£º¸úÎÒѧµ÷É«Á·Ï°15-ÊÒÄÚ¹âЧ_photoshop½Ì³Ì
¡¤Ê¹ÓÃperlÁ¬½ÓmysqlÊý¾Ý¿â_perl½Ì³Ì
¡¤photoshop°ÑÕÕÆ¬´òÔìΪÂþ»­ÒÕÊõ·ç¸ñ_photoshop½Ì³Ì
¡¤photoshop»æÖÆÓ¡¶ÈСÃÀÈË_photoshop½Ì³Ì
¡¤photoshop¿ìËÙÖÆ×÷´Ö²ÚÑÒÊ¯ÎÆÀí²ÄÖÊ_photoshop½Ì³Ì
¡¤ÓÃperlÀ´·ÖÎö²¢Éú³ÉÖÐÎÄexcelÎļþ_perl½Ì³Ì
¡¤photoshopÌØÐ§Éè¼Æ-Ò¹Ã÷Öé_photoshop½Ì³Ì
¡¤¹ØÓÚxslÖÐcount()µÄʹÓÃ_xsl½Ì³Ì


 
 


°æÈ¨ÉêÃ÷£º±¾Õ¾ÎÄÕ¾ùÀ´×ÔÍøÂ磬ÈçÓÐÇÖȨ£¬ÇëÁªÏµÎÒÃÇ£¬ÎÒÃÇÊÕµ½ºóÁ¢¼´É¾³ý£¬Ð»Ð»£¡

ÌØ±ð×¢Ò⣺±¾Õ¾ËùÓÐ×ªÔØÎÄÕÂÑÔÂÛ²»´ú±í±¾Õ¾¹Ûµã£¬±¾Õ¾ËùÌṩµÄÉãÓ°ÕÕÆ¬£¬²å»­£¬Éè¼Æ×÷Æ·£¬ÈçÐèʹÓã¬ÇëÓëÔ­×÷ÕßÁªÏµ£¬°æÈ¨¹éÔ­×÷ÕßËùÓС£
¡¡ ´òÓ¡¡¡ ˢР¡¡¹Ø±Õ
·µ»ØÊ×Ò³ |¹ØÓÚÎÒÃÇ | ÁªÏµÎÒÃÇ | ¸¶¿î·½Ê½ | ´´ÒµÁªÃË | ÐéÄâÖ÷»ú | ×ÊѶÖÐÐÄ | ÓÑÇéÁ´½Ó | ÍøÕ¾µØÍ¼

°æÈ¨ËùÓÐ Î÷²¿ÊýÂë(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
¹«Ë¾µØÖ·£ºËÄ´¨³É¶¼ÊÐÍòºÍ·90ºÅÌìÏó´óÏÃ4Â¥¡¡Óʱࣺ610031
µç»°×Ü»ú£º028-86262244 86263048 86263408 86263960 86264018 86267838
ÊÛǰ×Éѯ£º×Ü»úת201 202 203 204 206 208
ÊÛºó·þÎñ£º×Ü»úת211 212 213 214
²ÆÎñ×Éѯ£º×Ü»úת224 223 ´«Õ棺028-86264041 ²ÆÎñQQ£ºµã»÷·¢ËÍÏûÏ¢¸ø¶Ô·½635483282
ÊÛǰ×ÉѯQQ£ºµã»÷·¢ËÍÏûÏ¢¸ø¶Ô·½2182518 µã»÷·¢ËÍÏûÏ¢¸ø¶Ô·½241975952 µã»÷·¢ËÍÏûÏ¢¸ø¶Ô·½275026793 µã»÷·¢ËÍÏûÏ¢¸ø¶Ô·½408235859
ÊÛºó·þÎñQQ£ºµã»÷·¢ËÍÏûÏ¢¸ø¶Ô·½17708515 µã»÷·¢ËÍÏûÏ¢¸ø¶Ô·½307742704 µã»÷·¢ËÍÏûÏ¢¸ø¶Ô·½287976517 µã»÷·¢ËÍÏûÏ¢¸ø¶Ô·½363783715
¡¶ÖлªÈËÃñ¹²ºÍ¹úÔöÖµµçÐÅÒµÎñ¾­ÓªÐí¿ÉÖ¤¡·±àºÅ£º´¨B2-20030065ºÅ