Removingheadersalreadysent

headersalreadysent  时间:2021-04-12  阅读:()
TheEssentialGuidetoDreamweaverCS4withCSS,Ajax,andPHPDavidPowersTheEssentialGuidetoDreamweaverCS4withCSS,Ajax,andPHPCopyright2009byDavidPowersAllrightsreserved.
Nopartofthisworkmaybereproducedortransmittedinanyformorbyanymeans,electronicormechanical,includingphotocopying,recording,orbyanyinformationstorageorretrievalsystem,withoutthepriorwrittenpermissionofthecopyrightownerandthepublisher.
ISBN-13(pbk):978-1-4302-1610-0ISBN-13(electronic):978-1-4302-1611-7PrintedandboundintheUnitedStatesofAmerica987654321Trademarkednamesmayappearinthisbook.
Ratherthanuseatrademarksymbolwitheveryoccurrenceofatrademarkedname,weusethenamesonlyinaneditorialfashionandtothebenefitofthetrademarkowner,withnointentionofinfringementofthetrademark.
DistributedtothebooktradeworldwidebySpringer-VerlagNewYork,Inc.
,233SpringStreet,6thFloor,NewYork,NY10013.
Phone1-800-SPRINGER,fax201-348-4505,e-mailorders-ny@springer-sbm.
com,orvisitwww.
springeronline.
com.
Forinformationontranslations,pleasecontactApressdirectlyat2855TelegraphAvenue,Suite600,Berkeley,CA94705.
Phone510-549-5930,fax510-549-5939,e-mailinfo@apress.
com,orvisitwww.
apress.
com.
ApressandfriendsofEDbooksmaybepurchasedinbulkforacademic,corporate,orpromotionaluse.
eBookversionsandlicensesarealsoavailableformosttitles.
Formoreinformation,referenceourSpecialBulkSales–eBookLicensingwebpageathttp://www.
apress.
com/info/bulksales.
Theinformationinthisbookisdistributedonan"asis"basis,withoutwarranty.
Althougheveryprecautionhasbeentakeninthepreparationofthiswork,neithertheauthor(s)norApressshallhaveanyliabilitytoanypersonorentitywithrespecttoanylossordamagecausedorallegedtobecauseddirectlyorindirectlybytheinformationcontainedinthiswork.
Thesourcecodeforthisbookisfreelyavailabletoreadersatwww.
friendsofed.
comintheDownloadssection.
CreditsLeadEditorBenRenow-ClarkeTechnicalReviewerTomMuckEditorialBoardClayAndres,SteveAnglin,MarkBeckner,EwanBuckingham,TonyCampbell,GaryCornell,JonathanGennick,MichelleLowman,MatthewMoodie,JeffreyPepper,FrankPohlmann,BenRenow-Clarke,DominicShakeshaft,MattWade,TomWelshProjectManagerBethChristmasCopyEditorsKimWimpsett,MarilynSmithAssociateProductionDirectorKariBrooks-CoponyProductionEditorKellyWinquistCompositorMollySharpProofreaderPatrickVincentIndexerJulieGradyArtistAprilMilneInteriorandCoverDesignerKurtKramesManufacturingDirectorTomDebolskiCONTENTSATAGLANCEAbouttheAuthorxxAcknowledgmentsxxiIntroductionxxiiChapter1:Dreamweaver'sNewLook—MorethanSkinDeep.
.
.
.
1Chapter2:SettingUpaSiteinDreamweaver59Chapter3:CreatingaWebPageandAddingContent103Chapter4:UsingCSStoAddaTouchofStyle155Chapter5:CreatingaCSSSiteStraightOutoftheBox195Chapter6:BuildingSiteNavigationwiththeSpryMenuBar.
.
.
233Chapter7:UsingSpryDynamicEffectsandComponents257Chapter8:GoingBeyondtheBasicswithSpryandAjax307Chapter9:BuildingOnlineFormsandValidatingInput371iiiChapter10:IntroducingtheBasicsofPHP425Chapter11:UsingPHPtoProcessaForm459Chapter12:ReducingYourWorkloadwithPHPIncludes503Chapter13:PreservingDesignIntegritywithTemplatesandInContextEditing539Chapter14:StoringUserRecordsinaDatabase583Chapter15:ValidatingDatabaseInputandUserAuthentication.
.
.
637Chapter16:WorkingwithCustomFormsandMultipleTables.
.
.
683Chapter17:HandlingCheckboxGroups,Searches,andDates.
.
.
743Chapter18:UsingXSLTtoDisplayLiveNewsFeedsandXML.
.
.
805Chapter19:UsingSpryDataSetstoRefreshContent843Chapter20:DeployingYourSiteontheInternet889Appendix:GeneratingXMLwithPHP905Index917ivCONTENTSAbouttheAuthorxxAcknowledgmentsxxiIntroductionxxiiChapter1:Dreamweaver'sNewLook—MorethanSkinDeep.
.
.
.
1ExploringtheUI3Inspectingthedefaultworkspace3Switchingbetweengrayscaleandcoloredicons7Choosingapresetworkspacelayout7Expandingandcollapsingpanelsvertically9Resizingpanels9Usingpanelsiniconicmode9Minimizingiconicpanels10Convertingiconicpanelsintoafloatingtoolbar11Closingandrestoringfloatingpanels11Switchingbetweenpanelsandicons12Temporarilyhidingpanels12UsingAuto-Show13HidingtheApplicationbar(Maconly)13Movingandregroupingpanels13Movingasinglepanel13Movingapaneltoadifferentgroup14Changingtheorderofpanelswithinagroup14Movingagroupofpanels14Stackinganddockingpanels15UsingandconfiguringtheInsertpanel15Hidingthelabels17ConvertingtheInsertpaneltoatabbedtoolbar18Switchingbetweentabsandmenu19CustomizingtheFavoritescategory19vUsingthePropertyinspector20SelectingHTMLandCSSviewinthePropertyinspector20ConfiguringthePropertyinspector22UsingtheResultspanelgroup23Managingworkspaces23ExploringtheDocumentwindow24Workingwithtabbedwindows25Viewingthefilepath25Closingtabs25Displayingdocumentsoutsidethetabbedinterface25Gettingquickaccesstorelatedfiles26UsingtheRelatedFilestoolbar26UsingtheCodeNavigatortoeditstylesheets27ExploringtheDocumenttoolbar29SwitchingbetweenCode,Design,andSplitviews29UsingLiveviewtotestpages31WhathappenedtoLiveDataandhowdoesLiveviewdiffer34InspectingdynamicallygeneratedcodewithLiveCode35OtheroptionsontheDocumenttoolbar36GettingthebestoutofCodeview37UsingtheCodingtoolbar37SettingCodeviewoptions41Usingcodehintsandautocompletion42IntroducingimprovedsupportforJavaScriptcodehints43Printingcodeincolor43AquicklookatotherchangesinDreamweaverCS444Screensharing44Settingupascreen-sharingsession45ManagingCSXS49Othernewfeatures50Whatisnolongerthere51Changingdefaultsettings52Migratingsnippetsandotherpersonalsettings53LocatingtheDreamweaverconfigurationfiles53Migratingsnippets54Transferringworkspacelayouts55Movingfavorites55TroubleshootingmysteriousDreamweavererrors55Chapterreview56Chapter2:SettingUpaSiteinDreamweaver59Decidinghowtoorganizeyoursite60Decidingwheretotestyourpages61Choosingtheappropriatefilenameextension62Choosingdocument-orroot-relativelinks64Understandingthedifference64Whichshouldyouchoose65CONTENTSviChoosingwheretostoreyourfiles66Findingthetestingserverroot66CreatingvirtualhostsonApache69RegisteringvirtualdirectoriesonIIS76Creatingthesitedefinition77TellingDreamweaverwheretofindlocalfiles78TellingDreamweaverhowtoaccessyourremoteserver80Choosinganaccessoption80UsingFTP81Definingthetestingserver83Selectingoptionsforlocaltesting83Selectingoptionsforremotetesting85Settingothersiteoptions87UsingversioncontrolwithSubversion88RegisteringasitewithaSubversionrepository89Committingnewfilesandchangestotherepository91Viewingrevisionsandresolvingconflicts93Keepingyourworkingcopiesup-to-date94Lockingfiles94ManagingDreamweaversites94Settingoptionsthatapplytoallsites96Settingnewdocumentpreferences96Choosingthedefaultdocumenttype97SettingoptionsforPreviewinBrowser98Usingafile-comparisonutility99SettinguptheFileComparefeature99Comparingfiles100Chapterreview100Chapter3:CreatingaWebPageandAddingContent103Creatinganewdocument104StartingfromtheWelcomescreen105UsingtheNewDocumentdialogbox105Otherwaysofopeninganewdocument107Insertingtext108Insertingtextdirectly108Copyingandpastingtext110ImportingMicrosoftWorddocuments(Windowsonly)111Insertingimages112Insertingimagesstoredonyourcomputer112Dragginganddroppingimages113Selectinganimagethroughthefilesystem113Addingalternatetext115Textandimagealignment116Insertingremoteimages116Insertingplaceholderimages117CONTENTSviiUsingPhotoshopSmartObjectsasimages119InsertingaPhotoshopSmartObject120UpdatingaSmartObject122InsertingFlashandFlexmovies124EditingDreamweaverCS3pagesthatcontainSWFmovies128Addingstructuretoyourpagecontent128SelectingtheHTMLviewofthePropertyinspector130Creatingparagraphs,headings,andpreformattedtext131Addinginlinetags132UsingtheBoldandItalicbuttons132UsingtheFormatStylemenu132UsingWrapTagandRemoveTag133Creatinglists134Creatingbulletpointsandnumberedlists135Creatingadefinitionlist136Creatingblockquotes136Usingtables137Insertingtables137Editingtables138Insertinganddeletingrowsandcolumnsaccurately140Selectingtablecells,rows,andcolumns141ImportingdatatablesfromMicrosoftExcel(Windowsonly)142ImportingdatafromaCSVfile142Organizingcontentintoalogicalstructure142Groupingrelatedcontentwithtags143Insertingahorizontalrule146Creatinglinks146Usingtexttolinktootherpages146UsingtheSelectFiledialogbox147UsingtheHyperlinkdialogbox148Openingalinkinanewwindow149Linkingtoaspecificpartofapage149Usingimagesaslinks150Removingthelinkborder150Creatinganimagemap150Chapterreview153Chapter4:UsingCSStoAddaTouchofStyle155Creatingbasicstylerules157Modifyingpageproperties157InspectingtherulescreatedbyPageProperties163Insertingandstylinga164Creatingnewstylerules169Definingaselector169Definingtherule'sproperties172IntroducingtheCSSStylespanel177OpeningtheCSSStylespanel177ViewingAllandCurrentmodes177CONTENTSviiiExploringthePropertiespaneoftheCSSStylespanel179DisplayingCSSpropertiesbycategory179DisplayingCSSpropertiesalphabetically179DisplayingonlyCSSpropertiesthathavebeenset180Attachinganewstylesheet180Adding,editing,anddeletingstylerules181Movingstylerules181Exportingrulestoanewstylesheet181Movingruleswithinastylesheet184Movingrulesbetweenexternalstylesheets184Movinginlinestylestoastylesheet186CreatinginlinestylesforHTMLemail187SettingyourCSSpreferences188Creatingandeditingstylerules189Settingthedefaultformatofstylerules190Checkinghowstyleswilllookinothermedia191UsingtheStyleRenderingtoolbar191UsingDeviceCentralCS4192Chapterreview193Chapter5:CreatingaCSSSiteStraightOutoftheBox195Usingabuilt-inCSSlayout196Choosingalayout197Decidingwheretolocateyourstylerules197Linkingtoexistingstylesheets198Makingsureconditionalcommentsareapplied198Stylingapage199InspectingthecascadeinCurrentmode208Calculatingspecificity209Finishingthelayout210Creatinganewpagewiththesamestyles216UsingFindandReplace218Searchingfortext220Searchingsourcecode221Performingadvancedtextsearches222Performingcomplexreplacementswithspecifictags224Usingregularexpressionsinsearches225Savingqueriesforfutureuse228UsingastoredquerytoremoveCSScomments229Chapterreview229Chapter6:BuildingSiteNavigationwiththeSpryMenuBar.
.
.
233ExaminingthestructureofaSprymenubar235Lookingatthemenubar'sstructure237Editingamenubar238MaintainingaccessibilitywiththeSprymenubar239CONTENTSixCustomizingthestyles240Changingthemenuwidth240Changingcolors241Addingborders241Changingthefont242StylingaSprymenubar243Towrapornottowrap,thatisthequestion243Customizingthedesign248Choosingbordercolors252Removingamenubar253Chapterreview254Chapter7:UsingSpryDynamicEffectsandComponents257AnimatingpageelementswithSpryeffects259DOM101—whycleancodematters260ApplyingaSpryeffect262Exploringtheavailableeffects266Appear/Fade267Blind268Grow/Shrink268Highlight270Shake270Slide271Squish271Applyingmultipleeventstoatriggerelement271Removingeffectsandbehaviorscleanly272Restoringadeletedeffectorbehavior273ConservingspacewithSpryUIcomponents273Buildingatabbedinterface274Examiningthestructureofthetabbedpanelswidget275Editingatabbedpanelswidget277Selectingharmoniouscolors281Convertingtoverticaltabs284Avoidingdesignproblemswithtabbedpanels288Usingtheaccordionwidget289Examiningthestructureofanaccordion289EditingandstylingaSpryaccordion291Usingcollapsiblepanels295Examiningthestructureofacollapsiblepanel296Editingandstylingcollapsiblepanels297CreatingtooltipswithSpry299ExaminingthestructureofaSprytooltip299Insertingandstylingtooltips300RemovingaSprywidget304Chapterreview305CONTENTSxChapter8:GoingBeyondtheBasicswithSpryandAjax307Programmingterminology101309UnderstandingSpryobjects310InitializingaSpryobject310Changingaccordiondefaults311Usinganobject'smethods315Openingpanelsfromalinkonthesamepage315UsingtheClusterobjecttocombineeffects327UsingSpryutilities335PassinginformationtoaSprywidgetthroughaURL336Openingataboraccordionpanelfromanotherpage336Openingacollapsiblepanelfromanotherpage340SelectingandmanipulatingpageelementswithSpry.
340Reducingdownloadtimeswithsmallerfiles350CreatingunobtrusiveJavaScript350UsingtheJavaScriptExtractortoexternalizescripts350UsingotherJavaScriptlibraries352InstallingDreamweaverextensions354UsingtheAdobeExtensionManager355Migratingextensionsfromapreviousversion355Installinganextension356Removinganextension357UsingjQueryandYUIwebwidgets358InsertingajQueryUIdialogwidget360SelectingdateswithaYUIcalendar365Chapterreview368Chapter9:BuildingOnlineFormsandValidatingInput371Buildingasimplefeedbackform372Choosingtherightpagetype372CreatingaPHPpage373Mixing.
phpand.
htmlpagesinasite374Insertingaforminapage374InsertingaforminCodeview376Addingtextinputelements376Settingpropertiesfortextfieldsandtextareas380Convertingatextfieldtoatextarea,andviceversa382Stylingthebasicfeedbackform382UnderstandingthedifferencebetweenGETandPOST384Passinginformationthroughahiddenfield386Usingmultiple-choiceformelements387Offeringarangeofchoiceswithcheckboxes388Usingradiobuttonstoofferasinglechoice394Offeringasinglechoicefromadrop-downmenu397Creatingamultiple-choicescrollablelist399CONTENTSxiOrganizingformelementsinlogicalgroups402Insertingafieldset402Validatinguserinputbeforesubmission403UsingSpryvalidationwidgets404InsertingaSpryvalidationwidget406Removingavalidationwidget406ValidatingatextfieldwithSpry406Buildingyourowncustompattern413ValidatingatextareawithSpry414ValidatingcheckboxeswithSpry416ValidatingaradiobuttongroupwithSpry419Validatingadrop-downmenuwithSpry420ValidatingpasswordswithSpry421Chapterreview422Chapter10:IntroducingtheBasicsofPHP425UnderstandingwhatPHPisfor426Increasinguserinteractivitywithserver-sidetechnology427WritingPHPscripts428EmbeddingPHPinawebpage428Endingcommandswithasemicolon429Usingvariablestorepresentchangingvalues429Namingvariables430Assigningvaluestovariables430DisplayingPHPoutput431Commentingscriptsforclarityanddebugging432Choosingsingleordoublequotationmarks432Usingescapesequencesinstrings434Joiningstringstogether436Addingtoanexistingstring436Usingquotesefficiently437Specialcases:true,false,andnull437Workingwithnumbers438Performingcalculations438Combiningcalculationsandassignment440Usingarraystostoremultiplevalues441Usingnamestoidentifyarrayelements442Inspectingthecontentsofanarraywithprint_r(443Makingdecisions443ThetruthaccordingtoPHP445Usingcomparisonstomakedecisions445Testingmorethanonecondition447Usingtheswitchstatementfordecisionchains448Usingtheconditional(ternary)operator449CONTENTSxiiUsingloopsforrepetitivetasks450Loopsusingwhileanddo.
.
.
while450Theversatileforloop451Loopingthrougharrayswithforeach452Breakingoutofaloop453Usingfunctionsforpresettasks454UnderstandingPHPerrormessages455Chapterreview457Chapter11:UsingPHPtoProcessaForm459Activatingtheform461GettinginformationfromtheserverwithPHPsuperglobals461Sendingemail462Scriptingthefeedbackform463UsingBalanceBraces472Testingthefeedbackform473Troubleshootingmail(473Improvingthesecurityofthemail-processingscript473Gettingridofunwantedbackslashes474Makingsurerequiredfieldsaren'tblank475Preservinguserinputwhenaformisincomplete480Savingfrequentlyusedcodeasasnippet483Filteringoutpotentialattacks486Safelyincludingtheuser'saddressinemailheaders489Whatifyoustilldon'tgetanemail492Handlingmultiple-choiceformelements493Redirectingtoanotherpage498Blockingsubmissionbyspambots499UsingaCAPTCHA499Usingaquestioninplaintext500Usingahoneypot500Chapterreview501Chapter12:ReducingYourWorkloadwithPHPIncludes503Includingtextandcodefromotherfiles504IntroducingthePHPincludecommands504TellingPHPwheretofindtheexternalfile504Usingsite-root-relativelinkswithincludes508Lighteningyourworkloadwithincludes510Choosingtherightfilenameextensionforincludefiles510DisplayingHTMLoutput510Avoidingproblemswithincludefiles514Applyingstyleswithdesign-timestylesheets518Addingdynamiccodetoaninclude519UsingincludestorecyclefrequentlyusedPHPcode523CONTENTSxiiiAdaptingthemailprocessingscriptasaninclude525Analyzingthescript525Buildingthemessagebodywithagenericscript527Avoidingthe"headersalreadysent"error534Chapterreview536Chapter13:PreservingDesignIntegritywithTemplatesandInContextEditing539UsingDreamweavertemplates540Creatingatemplate541Addingeditableregionstothemastertemplate542Creatingchildpagesfromatemplate545Creatingandcontrollinganoptionalregion548Usingadvancedoptionswithanoptionalregion552Usingeditableoptionalregions552Creatingarepeatingregion553Removingorchangingtemplateregions553ComparingtemplateswithPHPincludes556Lockingcodeoutsidethetags559Breakingthelinkbetweenapageandatemplate559UpdatingContentwithAdobeInContextEditing559HowInContextEditingworks561MinimumrequirementsforInContextEditing562AddingInContextEditingmarkuptoapage562Creatinganeditableregion562Controllingwhatcanbeeditedinaneditableregion564CopyingtheInContextEditingfilestoyoursite566Creatingarepeatingregion567Controllingactionswithinarepeatingregionsgroup568Removingeditableandrepeatingregions568EnablingtheuseofCSSclasses569PreparingapageforInContextEditing570EditingapagewithInContextEditing571LoggingintoInContextEditing572Updatinganeditableregion573Editingarepeatableregion577Savingdraftsandpublishing578AssessingtheprosandconsofInContextEditing579Chapterreview579Chapter14:StoringUserRecordsinaDatabase583IntroducingMySQL584UnderstandingbasicMySQLterminology585UsingMySQLwithagraphicinterface586SettingupphpMyAdminonWindowsandMac587LaunchingphpMyAdmin589Troubleshooting590LoggingoutofphpMyAdmin591CONTENTSxivSettingupadatabaseinMySQL591Creatingalocaldatabasefortesting591Understandingcollation592CreatinguseraccountsforMySQL593ChangingtheMySQLrootpasswordinphpMyAdmin593Grantinguserprivileges594Howadatabasestoresinformation597Howprimarykeyswork597Designingadatabasetable598Choosingthetablename599Decidinghowmanycolumnstocreate600ChoosingtherightcolumntypeinMySQL600Decidingwhetherafieldcanbeempty602Creatingauserregistrationsystem603Definingthedatabasetable603TellingDreamweaverhowtoconnecttothedatabase607Troubleshootingtheconnection609Insertinguserdetailsintothedatabase609Usingserverbehaviorswithsite-root-relativelinks614Retrievinginformationfromthedatabase614Editingandremovingserverbehaviors617Displayingtheresultsofarecordset617Displayingmultipleresultswitharepeatregion620Updatinganddeletingrecords621Retrievingadatabaserecordusingitsprimarykey624UsingtheRecordUpdateFormWizard626Deletingarecord629Displayingdifferentcontentwhenarecordsetisempty633Chapterreview635Chapter15:ValidatingDatabaseInputandUserAuthentication.
.
.
637AnalyzingthecodegeneratedbyDreamweaver639Inspectingtheserverbehaviorcode639Connectingtothedatabase639PreventingSQLinjection640Insertingarecordintoadatabase640Understandingwhyaredirectdoesn'twork642Updatingadatabaserecord642Deletingarecord642DistinguishingbetweenFormVariableandURLParameter643Retrievingdatabaserecordswitharecordset643Creatingarepeatregion644Addingserver-sidevalidation645Verifyingthatrequiredfieldshavebeenfilledin646Verifyingandencryptingthepassword648Dealingwithduplicateusernames650Displayingtheerrormessages652CONTENTSxvBuildingcustomserverbehaviors654CreatingaStickyTextFieldserverbehavior654CreatingaserverbehaviorforStickyTextAreas656Completingtheuserregistrationform657Preservinguserinputintextfields657Applyingadynamicvaluetoaradiogroup658Applyingserver-sidevalidationtotheupdateform661Mergingthevalidationandupdatecode662AdaptingtheStickyTextFieldserverbehavior666Bindingthefieldvaluestotheupdateform668Whatsessionsareandhowtheywork671CreatingPHPsessions672Creatinganddestroyingsessionvariables672Destroyingasession672Checkingthatsessionsareenabled673Registeringandauthenticatingusers673Creatingaloginsystem674Displayingdifferentcontentdependingonaccesslevels677Greetingusersbyname678Creatingyourown$_SESSIONvariablesfromuserdetails679Redirectingtoapersonalpageafterlogin679Encryptinganddecryptingpasswords680Chapterreview680Chapter16:WorkingwithCustomFormsandMultipleTables.
.
.
683Storingrelatedinformationinseparatetables684Decidingonthebeststructure685Usingforeignkeystolinkrecords685Avoidingorphanedrecords687Definingthedatabasetables688Addinganindextoacolumn690DefiningtheforeignkeyrelationshipinInnoDB690Populatingthetables695Restoringthecontentofthetables695Selectingrecordsfrommorethanonetable696ThefouressentialSQLcommands700SELECT700INSERT704UPDATE704DELETE704Managingcontentwithmultipletables705Insertingnewquotations706UsingaMySQLfunctionandaliastomanipulatedata709ApplyingtheInsertRecordserverbehaviortoacustomform711SettingvaluesmanuallyintheColumnsfield712Insertingnewauthorsintheparenttable714UsingvariablesinaSQLquery715CONTENTSxviPagingthroughalonglistofdatabaseresults720Returningtothesamepageinalonglistofresults726Deletingauthorsfromtheparenttable728Improvingthedeleteform732PerformingacascadingdeletewithInnoDBtables733Updatingquotationsinthechildtable735Solvingthemysteryofmissingrecordswithaleftjoin736Deletingquotations739Chapterreview740Chapter17:HandlingCheckboxGroups,Searches,andDates.
.
.
743StoringmultiplevaluesinaSETcolumn744DefiningaSETcolumn745InsertingdataintoaSETcolumn747RetrievingdatastoredinaSETcolumn750Gettingtheinformationyouwantfromadatabase754UnderstandinghowDreamweaverbuildsaSQLquery754TroubleshootingSQLqueries758ChoosingGETorPOSTforsearchforms759Usingnumericalcomparisons760Searchingwithinanumericalrange763Searchingfortext766Makingasearchcase-sensitive766Displayingamessagewhennoresultsarefound766Searchingmultiplecolumns768Usingwildcardcharactersinasearch768UsingaFULLTEXTindex772SearchingforvaluesstoredinaSETcolumn774Countingrecords774CountingrecordsinaSETcolumn775Eliminatingduplicatesfromarecordset776Buildingcomplexsearches776Enhancingthedisplayofsearchresults778Displayingthenumberofsearchresults778Creatingstripedtablerows779Displayinglinebreaksintext781Reusingarecordset781Understandinghowarepeatregionworks784Formattingdatesandtime785StoringthecurrentdateandtimeinMySQL785StoringotherdatesinMySQL790UsingDATE_FORMAT()tooutputuser-friendlydates796WorkingwithdatesinPHP798Settingthecorrecttimezone799CreatingaUnixtimestamp799FormattingdatesinPHP800Chapterreview802CONTENTSxviiChapter18:UsingXSLTtoDisplayLiveNewsFeedsandXML.
.
.
805AquickguidetoXMLandXSLT806WhatanXMLdocumentlookslike806UsingHTMLentitiesinXML808UsingXSLTtodisplayXML809Checkingyourserver'ssupportforXSLT809PullinginanRSSnewsfeed811HowDreamweaverhandlesserver-sideXSLT812UsingXSLTtoaccesstheXMLsourcedata813Displayingthenewsfeedinawebpage820FixingabugintheXSLTransformationserverbehavior822BeingabitmoreadventurouswithXSLT824SettingupalocalXMLsource825UnderstandinghowXSLTisstructured827Definingnewentities827EmbeddingHTMLinXSLT827Accessingnestedrepeatingelements828Creatingconditionalregions830Testingasinglecondition830Testingalternativeconditions831Sortingelements833Formattingelements834Displayingoutputselectively835FilteringnodeswithXPath835UsingXSLTparameterstofilterdata837Chapterreview841Chapter19:UsingSpryDataSetstoRefreshContent843CreatingaSprydatasetfromHTML845GeneratingtheHTMLsource846UsingtheSpryDataSetwizard850DisplayingadatasetinaSprytable851DisplayingrelateddatainaSprydetailregion859Creatingamaster-detailsetinasingleoperation862Displayingadatasetasalist864UnderstandingtheSprydatacode867What'sthedifferencebetweenrepeatandrepeatchildren868Switchingdatasetsdynamically870FilteringaSprydataset870CreatingaSpryselectlist872UsingaSpryselectlisttochangepagecontent874CreatingaSprydatasetfromXML879UsingtheSpryDataSetwizardwithanXMLdocument879ValidatingpagesthatuseSpry884Chapterreview887CONTENTSxviiiChapter20:DeployingYourSiteontheInternet889Uploadingyourwebpages890Uploadingawholesite890Cloakingfilesnotrequiredontheremoteserver891Synchronizingasite893Selectingrecentlymodifiedfiles895Viewingthelocalandremotesitessidebyside896Uploadingdependentfiles898Transferringdatabasetables899ConfiguringtheremoteMySQLconnection901Chapterreview903Appendix:GeneratingXMLwithPHPConvertingarecordsettogenerateXML906Usingaproxyscripttofetcharemotefeed910UsingastaticXMLdocumentasacache912SettingpermissionforPHPtowritefiles912UsingPHPtowritetoafile912Index917CONTENTSxixABOUTTHEAUTHORDavidPowersisanAdobeCommunityExpertandAdobeCertifiedInstructorforDreamweaverandauthorofaseriesofhighlysuccessfulbooksonPHP,includingPHPSolutions:DynamicWebDesignMadeEasy(friendsofED,ISBN:978-1-59059-731-6)andPHPObject-OrientedSolutions(friendsofED,ISBN:978-1-4302-1011-5),aswellastheDreamweaverCS3editionofthisbook.
Asaprofessionalwriter,hehasbeeninvolvedinelectronicmediaformorethan30years,firstwithBBCradioandtelevisionandmorerecentlywiththeInternet.
HisclearwritingstyleisvaluednotonlyintheEnglish-speakingworld;severalofhisbookshavebeentranslatedintoSpanishandPolish.
Whatstartedasamildinterestincomputingwastransformedalmostovernightintoapassion,whenDavidwaspostedtoJapanin1987asBBCcorrespondentinTokyo.
WithnocorporateITdepartmentjustdownthehallway,hewasforcedtolearnhowtofixeverythinghimself.
Whennottinkeringwiththeinnardsofhiscomputer,hewasreportingforBBCTVandradioontheriseandcollapseoftheJapanesebubbleeconomy.
DavidhasalsotranslatedseveralplaysfromJapanese.
Torelax,heenjoysnothingbetterthanvisitinghisfavoritesushirestaurant.
AbouttheTechnicalReviewerTomMuckisthecoauthorofnineAdobe/Macromedia-relatedbooks.
TomalsowritesextensionsforDreamweaver,availableathissitehttp://www.
tom-muck.
com.
TomisalsotheleadPHPandColdFusionprogrammerforCartweaver,theonlineshoppingcartsoftwarepackage;isafoundingmemberofCommunityMX;andhaswrittenmorethan150articlesonPHP,ColdFusion,SQL,andrelatedtopics.
TomhasalsobeenanAdobeCommunityExpertinitsvariousincarnationssince1999.
TomisanextensibilityexpertfocusedontheintegrationofAdobe/MacromediaproductswithColdFusion,PHP,ASP,andotherlanguages,applications,andtechnologies.
Tomwasrec-ognizedforthisexpertisein2000whenhereceivedMacromedia'sBestUltraDevExtensionAward.
Hehasalsowrittennumerousarticlesformagazines,journals,andwebsitesandspeaksatconferencesonrelatedsubjects.
xxACKNOWLEDGMENTSManypeoplecontributedtothisbookinavarietyofways.
Some—liketheproductionstaffatApress/friendsofED—wereinvolveddirectly.
I'dliketopayparticularthankstomyeditor,BenRenow-Clarke,whogavemefreereintoshapethebookthewayIwantedbutalwaysmaintainedacriticaleyefromthereader'sperspective.
Thanks,too,toBethChristmasandKellyWinquistforkeepingtheprojectrunningsmoothlyandontime.
IwasdelightedwhenTomMuck,anacknowledgedDreamweaverexpert,agreedtoactasmytechnicalrevieweragain.
Hesavedmefromseveralembarrassingmistakes(anythatremainaremyresponsibilityalone),andhisdeepknowledgeofDreamweaverandotherwebtech-nologiesaddedvaluableperspectivethroughoutthebook.
I'malsogratefultoDevinFernandezandScottFegetteofAdobe,whogavemeunparalleledaccesstotheDreamweaverdevelopmentteamandenduredmyrantsandcomplaintswithgoodhumorwhenIdidn'tlikesomeofthechangesbeingmadetomyfavoritewebdevel-opmentprogram.
Thanksforrestoringthecoloredicons,guys.
Well,thatandeverythingelse—thisversionisastunner.
Othersareprobablytotallyunawareoftheroletheyplayedinshapingthisbook,butitwasnonethelesssignificant.
I'mreferringtoparticipantsinthefriendsofEDandAdobeonlineforums,whoaskedhowtodocertainthingswithDreamweaver,JavaScript,orPHP.
Manyoftheirideashavebeenwovenintothisnewedition.
Finally,thankyouforchoosingmybook.
xxiINTRODUCTIONDreamweaverisn'tadifficultprogramtouse,butit'sdifficulttousewell.
IhavebeenusingDreamweaveronadailybasisforaboutnineyears,pushingittothelimitandfindingoutitsgoodpoints—anditsbadones,too.
TheuserinterfacehaschangedconsiderablyinDreamweaverCS4,andtheintroductionofnewfeatures,suchasRelatedFilesandLiveview,islikelytohaveabigimpactonthewayevenlong-termDreamweaveruserscreatewebpages.
TheideaofthisbookistohelpyougetthebestoutofDreamweaverCS4,withparticularemphasisonbuildingdynamicwebpagesusingCascadingStyleSheets(CSS),Spry—theAdobeimplementationofAjax—andotherJavaScriptframeworks,andtheopensourceserver-sidetechnologyPHP.
ButhowcanyougetthebestoutofthisbookWhothisbookisforIliketocreditmyreaderswithintelligence,sothisbookisn't"DreamweaverCS4fortheClueless"or"DreamweaverCS4forCompleteBeginners.
"Youdon'tneedtobeanexpert,butyoudoneedtohaveaninquiringmind.
Itdoesn'tteachthebasicsofwebdesign,nordoesitattempttolisteverysinglefeatureinDreamweaverCS4.
Theemphasisisonbuildingmodern,standards-compliantwebsites.
Ifyou'reathomewiththebasicsofHTMLandCSS,thenthisbookisforyou.
Ifyouhaveneverbuiltawebsitebeforeanddon'tknowthedifferencebetweenantagandyourAuntJemima,youmightfindthisbookabitofastruggle.
IfrequentlydiveintoCodeviewandexpectyoutorollupyoursleevesandgettogripswiththecode.
It'snotcodingforcoding'ssake;theideaistoadaptthecodegeneratedbyInthisedition,IuseHTMLtoreferequallytoHypertextMarkupLanguageandExtensibleHypertextMarkupLanguage(XHTML).
HTML4.
01andXHTML1.
0areessen-tiallythesame.
TheonlydifferenceisthatXHTML1.
0appliesstricterrulesinthewayitiswritten(seehttp://www.
w3.
org/TR/xhtml1/#diffsforthedetails).
AllthecodeexamplesadheretotherulesofXHTML1.
0,thedefaultsettinginDreamweaverCS4.
xxiiDreamweavertocreatewebsitesthatreallywork.
IexplaineverythingasIgoalongandsteerclearofimpenetrablejargon.
AsforCSS,youdon'tneedtobeacandidateforinclusionintheCSSZenGarden(http://www.
csszengarden.
com),butyoushouldunderstandthebasicprinciplesbehindcreatingastylesheet.
WhataboutAjaxandPHPIdon'tassumeanypriorknowledgeinthesefields.
Ajaxcomesinmanydifferentguises;thisbookconcentratesmainlyonSpry,theAdobeAjaxframework(codelibrary)thatisintegratedintoDreamweaverCS4.
MostSpryfeaturesareaccessedthroughintuitivedialogboxes.
However,Chapter8getsinsidethecode,exploringnotonlySpry,buttheimprovedsupportinDreamweaverCS4forotherJavaScriptlibraries,suchasjQuery(http://jquery.
com/)andtheYahoo!
UserInterface(YUI)Library(http://developer.
yahoo.
net/yui).
DreamweaveralsotakescareofalotofthePHPcoding,butitcan'tdoeverything,soIshowyouhowtocustomizethecodeitgenerates.
Chapter10servesasacrashcourseinPHP,andChapter11putsthatknowledgetoimmediateusebyshowingyouhowtosendanemailfromanonlineform—oneofthethingsthatDreamweaverdoesn'tautomate.
Thisbookdoesn'tattempttoteachyouhowtobecomeaPHPprogrammer,butbythetimeyoureachthefinalchapter,youshouldhavesufficientconfidencetolookascriptintheeyewithoutflinching.
"DoIneedDreamweaverCS4"Mostdefinitely,yes.
AlthoughthePHPfeaturesremainbasicallyunchangedsinceDreamweaver8.
0.
2,thechangestotheDocumentwindowandPropertyinspectoraresosubstantialthatyouwouldhaveconsiderabledifficultyusingthisbookwithanearlierversionofDreamweaver.
Ifyou'restillusingDreamweaverCS3,getacopyoftheCS3versionofthisbook.
IfyouwanttousePHPinanearlierversionofDreamweaver,IsuggestyoureadmyFoundationPHPforDreamweaver8(friendsofED,ISBN:978-1-59059-569-5)instead.
Inevitably,somethingshavechangedsincethosebookswerepublished,butallimportantcorrectionsandupdatesarelistedontherelevanterratapagesathttp://friendsofed.
com/.
What'sdifferentfromtheCS3editionIhateitwhenIbuyabookandfindmyselfreadingfamiliarpageafterfamiliarpage.
ThisbookisarevisededitionofTheEssentialGuidetoDreamweaverCS3withCSS,Ajax,andPHP(friendsofED,ISBN:978-1-59059-859-7),updatedtotakeaccountofthechangesinDreamweaverCS4.
Mostoftheexamplesareinheritedfromthepreviousedition,butmanyofthemhavebeenreworkedtotakeadvantageofnewfeatures,suchasLiveview,RelatedFiles,andtheCodeNavigator.
IhavealsoreorganizedtheexerciseswiththePHPserverbehaviorsinwhatIhopeyouwillagreeisamorelogicalsequence.
Chapter14offersagen-tlerintroductiontointeractionwithadatabasebeforetacklingthevitalsubjectofserver-sidevalidationinChapter15.
INTRODUCTIONxxiiiIhavealsodevotedmoreattentiontoworkingwithSpry,aswellaswithotherJavaScriptlibraries.
Chapter8exploreshand-codingwithSpryandintroduceswebwidgetsthatusejQueryandtheYUILibrary.
Everychapterhasbeencompletelyrevisedandrewritten,andIhaveaddedachapteronthebasicsofinsertingcontentinawebpageinDreamweaver.
Thisismainlyforthebenefitofreadersmigratingfromanotherwebdevelopmentprogram,suchasAdobeGoLive,whichhasnowbeendiscontinued.
Itwillalsohelpnewcomerstowebdevelopment.
However,asImentionedearlier,youshouldalreadyknowthebasicsofHTMLandCSS.
Anothernewchap-terdealswiththemechanicsofdeployingadatabase-drivenwebsiteontheInternet.
You'llfinddetailsofallthemajornewfeaturesinDreamweaverCS4inthefollowingchapters:Chapter1coversthechangestotheuserinterface,LiveCode,andscreensharing.
Chapter2describeshowtointegrateyoursiteswithSubversionversioncontrol.
Chapter3showsyouhowtoworkwithPhotoshopSmartObjects.
InChapter4you'llbeginworkingwiththeRelatedFilestoolbarandLiveview,andinChapter6you'reintroducedtotheCodeNavigator—newtoolsthatareusedthroughoutthebook.
Chapter8coverstheJavaScriptExtractorandJavaScriptwebwidgets.
Chapter13describesindetailhowtopreparepagesforusewithAdobe'snewonlineservice,InContextEditing.
Chapter19showsyouhowtousetheSpryDataSetwizardtocreatedatasetsfrombothHTMLandXMLdatasourcesinavisuallyintuitiveway.
Eventhoughthisbookisabout200pageslongerthanthepreviousedition,therearesomanynewfeaturesinDreamweaverCS4thatIneededtodropsomematerial.
Withreluctance,IdecidedtheinstallationinstructionsforApache,PHP,andMySQLintheDreamweaverCS3editionhadtogo.
Ididthisforseveralreasons.
Coveringeverycombinationofoperatingsys-temandsoftwarewasbecomingtoocomplicated.
SeparateinstructionsareneededforWindowsXPandVista,aswellasforMacOSX10.
4and10.
5.
WiththereleaseofMySQL5.
1,PHP5.
3,andMacOSX10.
6expectedduringthelifetimeofthisbook,printedinstructionsrapidlygooutofdate.
Perhapsmostimportantly,theall-in-oneinstallationpackages—XAMPPforWindows(http://www.
apachefriends.
org/en/xampp-windows.
html)andMAMPforMacOSX(http://www.
mamp.
info/en/mamp.
html)—arereliableandeasytoinstall.
Windows-andMac-friendlyIhavepersonallytestedeverythinginthisbookinWindowsandMacOSX.
Theoverwhelm-ingmajorityofscreenshotsweretakenonWindowsVista,butIhaveincludedseparatescreenshotsfromtheMacversionwhereappropriate.
Ihavealsopointedoutsignificantdif-ferencesbetweentheWindowsandMacversionsofDreamweaver,althoughtherearen'tmanyofthem.
KeyboardshortcutsaregivenintheorderWindows/Mac,andIpointoutwhenaparticularshortcutisexclusivetoWindows(someDreamweavershortcutsconflictwithExposéandxxivINTRODUCTIONSpotlightintheMacversion).
TheonlyplacewhereIhaven'tgiventheMacequivalentiswithregardtoright-clicking.
SincetheadventofMightyMouse,right-clickingisnownativetotheMac,butifyou'reanold-fashionedkindofguyorgalandstilluseaone-buttonmouse,Ctrl-clickwheneverItellyoutoright-click(I'msureyouknewthatanyway).
SomeMackeyboardshortcutsusetheOption(Opt)key.
Ifyou'renewtoaMacandcan'tfindanOptkeyonyourkeyboard,insomecountriesit'slabeledAlt.
TheCommand(Cmd)keyhasanappleand/oracloverleafsymbol.
UsingthedownloadfilesAllthenecessaryfilesforinthisbookcanbedownloadedfromhttp://www.
friendsofed.
com/downloads.
html.
Thefilesarearrangedinfivetop-levelfolders,asfollows:examples:Thiscontainsthe.
htmland.
phpfilesforalltheexamplesandexercises,arrangedbychapter.
UsetheFileComparefeatureinDreamweaver(seeChapter2)tocheckyourowncodeagainstthesefiles.
Someexercisesprovidepartiallycom-pletedfilesforyoutoworkwith.
Whereindicated,copythenecessaryfilesfromthisfoldertotheworkfilesfoldersoyoualwayshaveabackupifthingsgowrong.
TheeasiestwaytodothisistoopenthefileintheexamplesfolderanduseFileSaveAstosavethefiletoitsnewdestination.
extras:ThiscontainsaDreamweaverextensionthatloadsasuiteofusefulPHPcodefragmentsintotheSnippetspanel,aswellasasavedqueryfortheFindandReplacepanel,andSQLfilestoloaddatafortheexercisesintoyourdatabase.
images:Thiscontainsalltheimagesusedintheexercisesandonlinegallery.
SpryAssets:ThiscontainsthefinishedversionsofSpry-relatedstylesheets.
Withoneexception,itdoesnotcontaintheexternalJavaScriptfilesneededtodisplaySpryeffects,widgets,ordatasets.
DreamweavershouldcopytheJavaScriptfilesanduneditedstylesheetstothisfolderautomaticallywhenyoudotheexercisesasdescribedinthisbook.
workfiles:Thisisanemptyfolder,whereyoushouldbuildthepagesusedintheexercises.
Copythesefolderstothetoplevelofthesitethatyoucreateforworkingwiththisbook(seeChapter2).
SupportforthisbookEveryefforthasbeenmadetoensureaccuracy,butmistakesdoslipthrough.
Ifyoufindwhatyouthinkisanerror—andit'snotlistedonthebook'scorrectionspageathttp://www.
friendsofed.
com—pleasesubmitanerrorreporttohttp://www.
friendsofed.
com/errataSubmission.
html.
WhenEDhasfinishedwiththethumbscrewsandgotmetoadmitI'mwrong,we'llpostthedetailsforeveryone'sbenefitonthefriendsofEDsite.
IalsoplanxxvINTRODUCTIONtopostdetailsonmyownwebsiteathttp://foundationphp.
com/dwcs4/updates.
phpofchangestoDreamweaverorothersoftwarethataffectinstructionsinthebook.
Iwantyoutogetthebestoutofthisbookandwilltrytohelpyouifyourunintodifficulty.
Beforecallingforassistance,though,startwithalittleself-help.
Throughoutthebook,Ihaveadded"Troubleshooting"sectionsbasedheavilyonfrequentlyaskedquestions,togetherwithmyownexperienceofthingsthatarelikelytogowrong.
MakeuseoftheFileComparefeatureinDreamweavertocheckyourcodeagainstthedownloadfiles.
Ifyou'reusingasoft-warefirewall,tryturningitofftemporarilytoseewhethertheproblemgoesaway.
Ifnoneoftheseapproachessolvesyourproblem,scanthechaptersubheadingsinthe"Contents"section,andtrylookingupafewrelatedexpressionsintheindex.
AlsotryaquicksearchontheInternet:Googleandtheotherlargesearchenginesareyourfriends.
Myapologiesifallthissoundsobvious,butanamazingnumberofpeoplespendmoretimewait-ingforananswerinanonlineforumthanitwouldtaketogothroughthesesimplesteps.
Ifyou'restillstuck,visithttp://www.
friendsofed.
com/forums/.
Usethefollowingguidelinestohelpothershelpyou:Alwayscheckthebook'supdatesandcorrectionspages.
Theanswermayalreadybethere.
Searchtheforumtoseewhetheryourquestionhasalreadybeenanswered.
Giveyourmessageameaningfulsubjectline.
It'slikelytogetaswifterresponseandmayhelpotherswithasimilarproblem.
Saywhichbookyou'reusing,andgiveapagereferencetothepointthat'sgivingyoudifficulty.
Giveprecisedetailsoftheproblem.
"Itdoesn'twork"givesnoclueastothecause.
"WhenIdosoandso,xhappens"isalotmoreinformative.
Ifyougetanerrormessage,saywhatitcontains.
Bebriefandtothepoint.
Don'taskhalfadozenquestionsatonce.
It'softenhelpfultoknowyouroperatingsystem,andifit'saquestionaboutPHP,whichversionofPHPandwhichwebserveryou'reusing.
Don'tpostthesamequestionsimultaneouslyinseveraldifferentforums.
Ifyoufindtheanswerelsewhere,havethecourtesytoclosetheforumthreadandpostalinktotheanswer.
ThehelpIgiveinthefriendsofEDandAdobeforumsisnotlimitedtoproblemsarisingfrommybooks,butpleaseberealisticinyourexpectationswhenaskingforhelpinafreeonlineforum.
AlthoughtheInternetneversleeps,thevolunteerswhoanswerquestionscertainlydo.
They'realsobusypeople,whomightnotalwaysbeavailable.
Don'tposthundredsoflinesofcodeandexpectsomeoneelsetoscouritformistakes.
Andifyoudogetthehelpthatyouneed,keepthecommunityspiritalivebyansweringquestionsthatyouknowtheanswerto.
xxviINTRODUCTIONLayoutconventionsTokeepthisbookasclearandeasytofollowaspossible,thefollowingtextconventionsareusedthroughout.
Importantwordsorconceptsarenormallyhighlightedonthefirstappearanceinboldtype.
Codeispresentedinfixed-widthfont.
Neworchangedcodeisnormallypresentedinboldfixed-widthfont.
Pseudo-codeandvariableinputarewritteninitalicfixed-widthfont.
MenucommandsarewrittenintheformMenuSubmenuSubmenu.
WhereIwanttodrawyourattentiontosomething,I'vehighlighteditlikethis:Sometimescodewon'tfitonasinglelineinabook.
Wherethishappens,Iuseanarrowlikethis:.
Thisisavery,verylongsectionofcodethatshouldbewrittenallonthesamelinewithoutabreak.
Ahem,don'tsayIdidn'twarnyou.
xxviiINTRODUCTION

个人网站备案流程及注意事项(内容方向和适用主机商)

如今我们还有在做个人网站吗?随着自媒体和短视频的发展和兴起,包括我们很多WEB2.0产品的延续,当然也包括个人建站市场的低迷和用户关注的不同,有些个人已经不在做网站。但是,由于我们有些朋友出于网站的爱好或者说是有些项目还是基于PC端网站的,还是有网友抱有信心的,比如我们看到有一些老牌个人网站依旧在运行,且还有新网站的出现。今天在这篇文章中谈谈有网友问关于个人网站备案的问题。这个也是前几天有他在选择...

Webhosting24:$1.48/月起,日本东京NTT直连/AMD Ryzen 高性能VPS/美国洛杉矶5950X平台大流量VPS/1Gbps端口/

Webhosting24宣布自7月1日起开始对日本机房的VPS进行NVMe和流量大升级,几乎是翻倍了硬盘和流量,价格依旧不变。目前来看,日本VPS国内过去走的是NTT直连,服务器托管机房应该是CDN77*(也就是datapacket.com),加上高性能平台(AMD Ryzen 9 3900X+NVMe),还是有相当大的性价比的。此外在6月30日,又新增了洛杉矶机房,CPU为AMD Ryzen 9...

digital-vm:VPS低至$4/月,服务器$80/月,10Gbps超大带宽,不限流量,机房可选:日本新加坡美国英国西班牙荷兰挪威丹麦

digital-vm,这家注册在罗马尼亚的公司在国内应该有不少人比较熟悉了,主要提供VPS业务,最高10Gbps带宽,还不限制流量,而且还有日本、新加坡、美国洛杉矶、英国、西班牙、荷兰、挪威、丹麦这些可选数据中心。2020年,digital-vm新增了“独立服务器”业务,暂时只限“日本”、“新加坡”机房,最高也是支持10Gbps带宽... 官方网站:https://digital-vm.co...

headersalreadysent为你推荐
iobitconn.asp数据库连接出错,请打开conn.asp文件检查连接字串。cisco2960配置cisco4506与2960的vlan配置字节跳动回应TikTok易主互动百科被字节跳动收购意味着什么?什么是支付宝支付宝是什么意思重庆电信dnsPSP上网急救!重庆电信的DNS是多少啊?sns网站有哪些有趣的SNS网站有哪些sns网站有哪些有哪些好的SNS商务社交类网站?传奇域名谁能帮忙查查传奇的IP和域名加多宝与王老吉王老吉和加多宝什么关系?
重庆网站空间 m3型虚拟主机 过期域名查询 万网域名管理 smartvps raksmart 英文简历模板word 远程登陆工具 网站被封 100x100头像 赞助 免费申请个人网站 支持外链的相册 in域名 移动服务器托管 web应用服务器 贵阳电信测速 服务器防火墙 申请免费空间 华为k3 更多