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

恒创科技SonderCloud,美国VPS综合性能测评报告,美国洛杉矶机房,CN2+BGP优质线路,2核4G内存10Mbps带宽,适用于稳定建站业务需求

最近主机参考拿到了一台恒创科技的美国VPS云服务器测试机器,那具体恒创科技美国云服务器性能到底怎么样呢?主机参考进行了一番VPS测评,大家可以参考一下,总体来说还是非常不错的,是值得购买的。非常适用于稳定建站业务需求。恒创科技服务器怎么样?恒创科技服务器好不好?henghost怎么样?henghost值不值得购买?SonderCloud服务器好不好?恒创科技henghost值不值得购买?恒创科技是...

ProfitServer$34.56/年,5折限时促销/可选西班牙vps、荷兰vps、德国vps/不限制流量/支持自定义ISO

ProfitServer怎么样?ProfitServer好不好。ProfitServer是一家成立于2003的主机商家,是ITC控股的一个部门,主要经营的产品域名、SSL证书、虚拟主机、VPS和独立服务器,机房有俄罗斯、新加坡、荷兰、美国、保加利亚,VPS采用的是KVM虚拟架构,硬盘采用纯SSD,而且最大的优势是不限制流量,大公司运营,机器比较稳定,数据中心众多。此次ProfitServer正在对...

香港九龙湾(27元) 2核2G 20元 香港沙田

弘速云是创建于2021年的品牌,运营该品牌的公司HOSU LIMITED(中文名称弘速科技有限公司)公司成立于2021年国内公司注册于2019年。HOSU LIMITED主要从事出售香港VPS、美国VPS、香港独立服务器、香港站群服务器等,目前在售VPS线路有CN2+BGP、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。可联系商家代安装iso系统。国庆活动 优惠码:hosu10-1产品介绍...

headersalreadysent为你推荐
操作http银花珠树晓来看姗姗而来的 作文12306.com12306身份信息待核验要多久?审核要多久温州都市报招聘在温州哪里好找工作?怎样发帖子怎么发帖啊,discuz下载谁给我发下Discuz-x2.5安装教程joomla模板你好, 能不能详细说一下怎么安装Joomla模板的Quick Start安装. 我这边装整天提示不能连接MySQL. 谢谢joomla模板怎样把html一步一步地转换成joomla模板?空间导航自定义名称在空间里 给导航 改名字 怎么改博客教程如何建立自己的博客
高防服务器租用qy 双线主机租用 如何注册中文域名 dns是什么 ion 免费网站监控 免费ddos防火墙 商务主机 e蜗牛 免费个人空间 中国电信宽带测速网 酸酸乳 徐州电信 免费个人网页 石家庄服务器 移动王卡 web服务器有哪些 香港打折信息 服务器操作系统 网络安装 更多