ምናባዊ አስተያየቶች php. በመደበኛ መግለጫዎች ውስጥ ስግብግብ እና ሰነፍ መጠኖች


25.04.2017


እንደምን ዋላችሁ!
ፒኤችፒ መሰረታዊ ነገሮችን ከባዶ መማርዎን ይቀጥሉ!
በዚህ መማሪያ ውስጥ በ PHP ውስጥ አስተያየት ምን እንደሆነ እነግርዎታለሁ እና በተግባር ግን የእኛን አስተያየት በኮዱ ውስጥ ለመጻፍ እንሞክራለን. ግን ያ ብቻ አይደለም። እንዲሁም ኮዱን እንዴት አስተያየት መስጠት እንዳለብህ እና ለምን በአጠቃላይ ማድረግ እንዳለብህ ልነግርህ እፈልጋለሁ.

ውስጥ አስተያየት ምንድን ነው?ፒኤችፒ
አስተያየት ይስጡፒኤችፒ- ይህ በኮዱ ውስጥ ለፈጣን አሰሳ እና እንዲሁም ለማረም የ php ገንቢ ፍንጭ ነው።

በ PHP ውስጥ ያለው አስተያየት ድረ-ገጹን ለማየት ለከፈተው ተጠቃሚ አይታይም። ምንም እንኳን ተጠቃሚው ለመመልከት ቢወስንም ምንጭገጹ፣ ሙሉው php ስለሆነ አስተያየቱ አሁንም አይታይም።

ፒኤችፒ ኮድ አስተያየት

ለ PHP ኮድ 2 አይነት አስተያየቶች አሉ፡-

→ አንድ መስመር
→ ባለብዙ መስመር

⇒ ነጠላ መስመር አስተያየት ለ PHP
ለአንድ መስመር አስተያየት፣ ምልክቶችን "//" ወይም "#" ይጠቀሙ

ከነዚህ ገጸ-ባህሪያት በኋላ, በአንድ መስመር ላይ የተጻፈው ሁሉ ችላ ይባላል እና እንደ አስተያየት ይቆጠራል.

ለማዘመን ይመዝገቡ"፤ # ምዝገባ (ይህ አስተያየት ነው)?>


ለማዘመን ይመዝገቡ

⇒ ባለብዙ መስመር አስተያየት ለ PHP
ለ PHP ባለ ብዙ መስመር አስተያየት በ"/ *" ይጀምራል እና በ"* /" ይጨርሳል።
በእነዚህ ቁምፊዎች መካከል ያለ ማንኛውም ነገር ችላ ይባላል እና እንደ አስተያየት ይቆጠራል።
በመዝገቡ ውስጥ ብዙ መስመሮች ካሉ ባለብዙ መስመር አስተያየት ጥቅም ላይ ይውላል.

በስክሪኑ ላይ የሚከተለውን ጽሑፍ ብቻ ታያለህ፡-

ሰላም የብሎግ አንባቢዎች - ጣቢያ !!!

ፒ.ኤስ.ኮድዎን ሁል ጊዜ አስተያየት ይስጡ። በ 1-2 ዓመታት ውስጥ በኮዱ ውስጥ ያደረጓቸውን ነገሮች ሁሉ ያስታውሱታል ብለው ካሰቡ ተሳስተሃል, እድሉ በጣም ትንሽ ነው. ቢያስታውሱም ፣ ምን ፣ የት እና ለምን ... በማጥናት ብዙ ጊዜ ማሳለፍ ይኖርብዎታል ።
ለወደፊቱ ለራስዎ ደስ የሚል ነገር ያድርጉ - ኮዱን አስተያየት ይስጡ እና ከዚያ ለራስዎ “አመሰግናለሁ !!!” ይሉዎታል ።
በኮዱ ውስጥ አስተያየት ይተዉ ፣ 1 ደቂቃ ይወስዳል ፣ ግን ለወደፊቱ አንድ ቀን ሙሉ ይቆጥብልዎታል።

የ PHP ኮድ አስተያየት ይስጡ

የ php ኮድ ጻፍክ እንበል፡ ግን በሆነ ምክንያት 2 መስመሮችን ከኮዱ ማስወገድ አለብህ።
የሆነ ነገር ከኮዱ ላይ ለማስወገድ አልቸኩልም ፣በተለይ php ኮድ ከሆነ ፣ አስተያየት ብሰጥ እመርጣለሁ። ኮዱን መመለስ ከፈለጉ ምን ማድረግ አለብዎት? ኮዱን በአዲስ መንገድ ከመጻፍ ይልቅ አስተያየት መስጠት ቀላል ነው።

ኮዱን እንዴት አስተያየት መስጠት እንደሚቻልፒኤችፒ
ምሳሌ ከአንድ መስመር አስተያየት ጋር፡-

ለዝማኔው ይመዝገቡ ";?>

ባለ ብዙ መስመር አስተያየት ያለው ምሳሌ።

በPHP ውስጥ ያሉ አስተያየቶች በኤችቲኤምኤል ውስጥ ጥቅም ላይ ከሚውሉ አስተያየቶች ጋር ተመሳሳይ ናቸው። በPHP አገባብ፣ አስተያየቶች ሁል ጊዜ በልዩ የቁምፊዎች ቅደም ተከተል ይጀምራሉ እና በእነዚህ ልዩ ቁምፊዎች መካከል የሚታየው ጽሑፍ ሁሉ በአስተርጓሚው ችላ ይባላል።

በኤችቲኤምኤል ውስጥ፣ የአስተያየቱ ዋና አላማ የጣቢያዎን ምንጭ ኮድ ማየት ለሚችሉ ገንቢዎች ማስታወሻ ሆኖ ማገልገል ነው። የPHP አስተያየቶች ለጎብኚዎች ስለማይታዩ ይለያያሉ። የ PHP አስተያየቶችን ለማየት ብቸኛው መንገድ ፋይሉን ለአርትዖት መክፈት ነው። ይህ የPHP አስተያየቶችን ለPHP ፕሮግራመሮች ብቻ ጠቃሚ ያደርገዋል።

በኤችቲኤምኤል ውስጥ አስተያየቶች እንዴት እንደሚሰጡ ከረሱ ወይም ካላወቁ ፣ ከታች ያለውን ምሳሌ ይመልከቱ።

ፒኤችፒ አስተያየት አገባብ፡ ነጠላ መስመር አስተያየት

ኤችቲኤምኤል አንድ ዓይነት አስተያየት ሲኖረው ፒኤችፒ ግን ሁለት ነው። የምንወያይበት የመጀመሪያው ዓይነት የአንድ መስመር አስተያየት ነው። ማለትም በአስተያየቶቹ በስተቀኝ በዚህ መስመር ላይ የሚሆነውን ነገር ሁሉ ለአስተርጓሚው እንዲተው የሚነግር አስተያየት ነው። ይህንን አስተያየት ለመጠቀም "//" ወይም "#" የሚሉትን ቁምፊዎች ይጠቀሙ እና በቀኝ በኩል ያሉት ሁሉም ጽሑፎች በPHP አስተርጓሚ ችላ ይባላሉ።

Psst ... "የእኔን ፒኤችፒ አስተያየቶች ማየት አይችሉም!"; // "ምንም" አስተጋባ; // አስተጋባ "ሀምፐርዲንክል እባላለሁ!"; # አስተጋባ "እኔም ምንም አላደርግም";?>

ውጤት፡

ሰላም ልዑል! Psst ... የ PHP አስተያየቶቼን ማየት አይችሉም!

አስተያየቶችን ስለሰጠን ብዙዎቹ የእኛ የማስተጋባት ትእዛዞች አልተሰሩም። ልዩ ቁምፊዎችአስተያየት መስጠት. ይህ ዓይነቱ አስተያየት ስለ ውስብስብ እና ግራ የሚያጋባ ኮድ በፍጥነት ለመጻፍ ወይም የPHP ኮድን (ለማረም) መስመርን ለጊዜው ለማስወገድ ይጠቅማል።

ፒኤችፒ አስተያየት አገባብ፡ ባለብዙ መስመር አስተያየት

ልክ እንደ ኤችቲኤምኤል አስተያየቶች፣ ፒኤችፒ ባለብዙ መስመር አስተያየቶች ትልልቅ የኮድ ብሎኮችን አስተያየት ለመስጠት ወይም በተለያዩ መስመሮች ላይ አስተያየቶችን ለመፃፍ መጠቀም ይቻላል። በ PHP ውስጥ ባለ ብዙ መስመር አስተያየቶች በ"/ *" ይጀምራሉ እና በ"* /" ይጨርሳሉ። በእነዚህ ቁምፊዎች መካከል ያለ ማንኛውም ነገር ችላ ይባላል።

ውጤት

ስለ አንድ ጊዜ ጽፌ ነበር። ስለዚህ እኛ እዚያ ብቻ ነው ያሰብነው" ስግብግብ"ተወካዮች. ነገር ግን, ሁልጊዜ የእነሱ አይደለም" ስግብግብነት"ይረዳናል, ብዙ ጊዜ ይጎዳል. ከዚህ በታች አንዳንድ ጊዜ የሚያደርጉትን በግልፅ ማየት የምትችልበትን ምሳሌ አሳይሻለሁ, እንዲሁም እንዴት ውበታቸውን እንደሚቀንስ እና እንደሚያደርጉት አሳይሻለሁ. ድግግሞሾች "ሰነፍ".

አንድ ቀላል እና ቀድሞውንም የሚታወቅ ምሳሌን እንመልከት፡-

$ str = "ትንሽ መስመርደፋርምርጫ.";
.*<\/b>
አስተጋባ $ result_str;
?>

እንደዚህ ያለ ነገር እየጠበቁ ሊሆን ይችላል: " ትንሽ እዚህ_ደፋር_ምርጫ ከዚህ_ደፋር_ምርጫ ጋር". ይህም ማለት በመለያው ውስጥ ያለውን ይዘት መተካት ብቻ ነው።<> ለገለጽነው ሕብረቁምፊ፣ ከራሱ መለያ ጋር። ነገር ግን ይህ ሙሉ በሙሉ እውነት አይደለም, ምክንያቱም እዚህ ላይ መጫወት ይጀምራል." የኳታቲየሮች ስግብግብነት". እና በውጤቱም, ተተኪው በእያንዳንዱ መለያ ውስጥ አልነበረም<>፣ ግን ከመጀመሪያው የመክፈቻ መለያ እስከ መጨረሻው የመዝጊያ መለያ። ይህ ስግብግብነት ነው።

ተተኪው በምንፈልገው መንገድ እንዲሆን ይህን ኮድ እንዴት እንደሚጽፍ እነሆ፡-

$ str = "ትንሽ መስመርደፋርምርጫ.";
$ result_str = ቅድመ_መተካት ("/ .*?<\/b>/ i "," bold_selection እዚህ ", $ str);
አስተጋባ $ result_str;
?>

የቀየርነው ነገር ቢኖር ከድግግሞሽ ብዛት በኋላ በማስቀመጥ መደበኛውን አገላለጽ ብቻ ነው" .* "የጥያቄ ምልክት, በትክክል መለኪያውን "ሰነፍ" ያደርገዋል... አሁን ውጤቱ ይሆናል: " ትንሽ እዚህ_ደፋር_ምርጫ ሐ እዚህ_ደፋር_ምርጫ።", እኛ ለማሳካት የሞከርነው ነው.

ችግሩን እንደተረዳችሁት ተስፋ አደርጋለሁ። ስግብግብ መጠኖችእና እንዴት እንደሚሠሩ ተረድተዋል. እና ይህ በቀላል ምልክት እንዴት እንደሚስተካከል ተገንዝበዋል " ? "ይህ ርዕስ በጣም አስፈላጊ ነው, እና ለመደበኛ አገላለጾች ብዙ ቁጥር ያላቸው አዲስ ጀማሪዎች ከ ጋር የተያያዙ ተመሳሳይ ስህተቶችን ያደርጋሉ የድግግሞሽ መጠኖች ስግብግብነት, ስለዚህ, ሙሉውን ነጥብ እስከ መጨረሻው ገና ካልተገነዘቡት, ከዚያም ጽሑፉን እንደገና ያንብቡ.

ደረጃ 1 - XHTML

በመጀመሪያ ለአስተያየቱ ምልክት ማድረጊያውን እንይ። ይህ ኮድ ከክፍል ጋር በPHP የመነጨ ነው። አስተያየት .

demo.php

የተጠቃሚ ስም
ሰኔ 30/2010

የአስተያየት ጽሑፍ

div አምሳያ አገናኙን (ተጠቃሚው አስተያየቱን በሚለጥፍበት ጊዜ ትክክለኛውን ዩአርኤል ካስገባ) እና ከ gravatar.com ያገኘነውን አምሳያ ምስል ይይዛል። በ PHP ደረጃ ላይ ምልክት ማድረጊያውን ወደ መፍጠር እንመለሳለን። መጨረሻ ላይ ተከተሉ div ስም div ጊዜ እና የአስተያየቱ ጽሑፍ.

በ XHTML ውስጥ ሌላው አስፈላጊ አካል የአስተያየት ቅጽ ነው። ተጠቅማ ትልካለች። POST... ከዩአርኤል በስተቀር ሁሉም መስኮች መሞላት አለባቸው።

demo.php

አስተያየት ጨምር

ቅጹ የሚቀርበው AJAX በመጠቀም ነው። ቼኩ በጀርባ ውስጥ ይከናወናል አስረክብ.php... እያንዳንዱ መስክ ተጓዳኝ አካል አለው መለያ፣ ከባህሪው ስብስብ ጋር .

ደረጃ 2 - PHP

ፒኤችፒ ከ MySQL ዳታቤዝ ጋር ግንኙነትን ያስተናግዳል እና ለአስተያየቱ ምልክት ማድረጊያን ይፈጥራል። እንዲሁም የ AJAX ጥያቄን መጨረሻ ያገኛል እና የአስተያየት ውሂቡን በሰንጠረዡ ውስጥ ያስገባል አስተያየቶች.

demo.php

/ * / ሁሉንም አስተያየቶች ይምረጡ እና የ$ አስተያየቶችን ድርድር በእቃዎች ይሙሉ * / $ አስተያየቶች = ድርድር (); $ ውጤት = mysql_query ("ምረጥ * ከአስተያየቶች ትእዛዝ በ id ASC"); ሳለ ($ ረድፍ = mysql_fetch_assoc ($ ውጤት)) ($ አስተያየቶች = አዲስ አስተያየት ($ ረድፍ);)

MySQL መጠይቅ ሁሉንም መዝገቦች ከጠረጴዛ ላይ ይመርጣል እና ድርድር ይሞላል $ አስተያየቶችየመደብ እቃዎች አስተያየት... ይህ አደራደር ስክሪፕቱን ሲሰራ የበለጠ ይታያል።

demo.php

/ * / አስተያየቶችን አንድ በአንድ አሳይ: * / foreach ($ አስተያየቶች እንደ $ c) (echo $ c-> ምልክት ማድረጊያ ();)

እያንዳንዱ አስተያየት ዘዴ አለው ምልክት ማድረጊያ ()በገጹ ላይ ለመታየት ዝግጁ የሆነ ትክክለኛ HTML ኮድ የሚያመነጭ። የሚከተሉት የክፍል እና ዘዴ ትርጓሜዎች ናቸው.

ክፍሉ ከመረጃ ቋቱ ሕብረቁምፊ ያገኛል (በ mysql_fetch_assoc ()) እና በተለዋዋጭ ውስጥ ያስቀምጠዋል $ ውሂብ... ለክፍል ዘዴ ብቻ ነው የሚገኘው.

comment.class.php - ክፍል 1

ክፍል አስተያየት (የግል $ ዳታ = ድርድር () ፣ የህዝብ ተግባር __ኮንስትራክተር ($ ረድፍ) (/ * / ገንቢ * / $ ይህ-> ዳታ = $ ረድፍ ፤) የህዝብ ተግባር ምልክት ማድረጊያ () (/ * / ይህ ዘዴ ለ XHTML ምልክት ማድረጊያ) ያወጣል። አስተያየት * /// በእያንዳንዱ ጊዜ እንዳይጻፍ ተለዋጭ ስም አዘጋጅ $ ይህ-> ውሂብ: $ d = & $ ይህ-> ውሂብ; $ link_open = ""; $ link_close = ""; ከሆነ ($ d ["url) "] ) (// አስተያየት ሲጨመር ዩአርኤሉ የገባ ከሆነ // የመክፈቻ እና የመዝጊያ ማገናኛ መለያዎችን ይግለጹ $ link_open = ""; $ link_close = "";) // ጊዜውን ወደ UNIX ቅርጸት ይለውጡ: $ d [ "dt"] = strtotime ($ d ["dt")); // ነባሪውን ምስል ለማዘጋጀት ያስፈልጋል: $ url = "http: //" .dirname ($ _ አገልጋይ ["SERVER_NAME"). $ _ አገልጋይ [ "REQUEST_URI")) "/ img / default_avatar.gif "; መመለስ"
". $ link_open." ". $ link_ዝግ።"
". $ link_open። $ d ["ስም"]።$ link_close።"
". ቀን (" d M Y ", $ d [" dt "])"

"$ d ["አካል"]"

"; }

ስክሪፕቱ በአስተያየቶቹ ውስጥ አምሳያውን ለመወከል ግራቫታር ይጠቀማል። ግራቫታር ከአቫታር ከኢሜል አድራሻ ጋር የሚዛመድ በጣም ጠቃሚ አገልግሎት ነው። የአቫታር ምስሉ በተግባራዊ ኮድ ማስተላለፍ በቀላሉ ሊገኝ ይችላል። ኤምዲ5 ()የኢሜል አድራሻዎን gravatar.com ላይ።

ስክሪፕቱ የሚፈፀምበትን ዩአርኤል ይወስናል እና የምስሉን ትክክለኛ አድራሻ ይወስናል default_avatar.gif... ይህ ምስል ከ md5 hash ጋር በትይዩ ይተላለፋል፣ እና ለተላለፈው የኢሜል አድራሻ ምንም አምሳያ ካልተገኘ አማራጭ ምስል ይታያል።

comment.class.php - ክፍል 2

የህዝብ የማይንቀሳቀስ ተግባር ያረጋግጣል (& $ arr) (/ * / ይህ ዘዴ በ AJAX በኩል የተላከውን መረጃ ለማረጋገጥ ይጠቅማል። እንደ ዳታ ወይም የስህተት መልእክት መለኪያ። * / $ ስህተቶች = አደራደር () ፤ $ ዳታ = አደራደር (); // በ PHP 5.2.0 የተዋወቀውን የማጣሪያ_ግቤት ተግባር ይጠቀሙ (! ($ data ["ኢሜል"] = ከሆነ) filter_input (INPUT_POST፣ "ኢሜል", FILTER_VALIDATE_EMAIL))) ($ ስህተቶች [" ኢሜይል "] = "እባክዎ የሚሰራ ኢሜይል ያስገቡ። ";) ከሆነ (! ($ Data [" url "] = filter_input (INPUT_POST," url ") , FILTER_VALIDATE_URL))) (// በዩአርኤል መስኩ ላይ የተሳሳተ ዩአርኤል ከገባ፣// ዩአርኤሉ ያልገባ ይመስል: $ url = "";) // የመመለሻ ተግባር ያለው ማጣሪያ ይጠቀሙ: ከሆነ (! ($ ዳታ ["body"] = filter_input (INPUT_POST, "body", FILTER_CALLBACK, array ("አማራጮች" => "አስተያየት :: validate_text"))) ($ ስህተቶች ["body"] = "እባክዎ አስተያየትዎን ያስገቡ ጽሑፍ"፤) ከሆነ (! ( $ ውሂብ ["ስም"] = filter_input (INPUT_POST፣ "nam e "፣ FILTER_CALLBACK፣ ድርድር ("አማራጮች "=>" አስተያየት :: ትክክለኛ_ጽሑፍ ")))) ($ ስህተቶች ["ስም"] = "እባክዎ ስም ያስገቡ።"; ) ከሆነ (! ባዶ ($ ስህተቶች)) (// ስህተቶች ካሉ የ$ ስህተቶችን ወደ $ arr ይቅዱ: $ arr = $ ስህተቶች; ውሸት ይመለሱ;) // ውሂቡ በትክክል ከገባ, ውሂቡን ያጽዱ እና ወደ $ arr ገልብጠው : foreach ($ ዳታ እንደ $ k => $ v) ($ arr [$ k] = mysql_real_escape_string ($ v);) // ኢሜል በትንሽ ፊደል መሆን አለበት: $ arr ["ኢሜል"] = strtolower (ትሪም ($ arr ["ኢሜል"))); እውነት መመለስ; )

ዘዴ አረጋግጥ ()(እንዲሁም የክፍሉ አካል) እንደ ይገለጻል። የማይንቀሳቀስ... ይህ ማለት ግንባታውን በመጠቀም በቀጥታ ሊጠራ ይችላል አስተያየት :: አረጋግጥ (), የክፍሉን ነገር ሳይፈጥር. ይህ ዘዴ በ AJAX በኩል የተላከውን መረጃ ያረጋግጣል.

ዘዴው አዲስ የማጣሪያ ተግባር ይጠቀማል፣ እሱም በ ውስጥ ይገኛል። ፒኤችፒ 5.2.0... ስለዚህ ወደ ስክሪፕቱ የተላለፈውን መረጃ በቀላሉ ማረጋገጥ እና ማጣራት እንችላለን። ለአብነት, ማጣሪያ_ግቤት (INPUT_POST፣ 'url'፣ FILTER_VALIDATE_URL)ካለ እንፈትሻለን ማለት ነው። $ _POST ["ዩአርኤል"]ትክክለኛው URL. እንደዚያ ከሆነ, ተግባሩ የተለዋዋጭውን እሴት ይመልሳል, አለበለዚያ እሴቱን ይመልሳል የውሸት.

እንደዚህ አይነት ተግባር ከመጠቀምዎ በፊት ለመረጃ ማረጋገጫ (ተከታታይ ግንባታዎችን በመጠቀም) መደበኛ መግለጫዎችን መጠቀም አስፈላጊ ነበር ከሆነ). ተጨማሪ ጥቅማጥቅሞች ማንኛውንም ልዩ ልወጣዎች ከመደረጉ በፊት መረጃውን ማግኘታችን ነው።

ተጨማሪ የውሂብ ማሻሻያዎችን የሚያከናውን ተግባርን መግለፅም ይቻላል.

comment.class.php - ክፍል 3

የግል የማይንቀሳቀስ ተግባር validate_text ($ str) (/ * / ይህ ዘዴ እንደ FILTER_CALLBACK * / ከሆነ (mb_strlen ($ str, "utf8") ጥቅም ላይ ይውላል.<1) return false; // Кодируем все специальные символы html (<, >, "፣ & .. ወዘተ) እና // አዲስ መስመር ቁምፊን ወደ መለያ ቀይር
: $ str = nl2br (htmlspecialchars ($ str)); // የቀሩትን አዳዲስ መስመሮችን አስወግድ $ str = str_replace (array (chr (10), chr (13)), "", $ str); መመለስ $ str; )

የመጨረሻው ዘዴ ጽሑፍ አረጋግጥበሁለት ጥሪዎች ውስጥ የመልሶ መደወያ ተግባር ሆኖ አልፏል የማጣሪያ_ግቤት... ሁሉንም የኤችቲኤምኤል ልዩ ቁምፊዎችን ይለውጣል, የ XSS ጥቃቶችን በተሳካ ሁኔታ ይከላከላል. እንዲሁም አዲስ መስመሮችን በመለያዎች ይተካል።
.

አስረክብ.php

/ * / ይህ አደራደር በውሂብ ይሞላል / ወደ ስክሪፕቱ የተላለፈው ፣ ወይም በስህተት መልእክቶች። / * / $ arr = ድርድር (); $ ያረጋግጣል = አስተያየት :: አረጋግጥ ($ arr); ከሆነ ($ የሚያጸድቅ) (/ * ሁሉም ነገር በቅደም ተከተል ነው, ውሂብን ወደ የውሂብ ጎታ እናስገባለን: * / mysql_query ("አስተያየቶችን አስገባ (ስም, url, email, body) VALUES" ("". $ arr ["name"). " "," "" $ arr ["url"). "", "" $ arr ["ኢሜይል". [" dt "] = ቀን (" r ", ጊዜ ()); $ arr [" id "] = mysql_insert_id (); / * / በ$ arr ውስጥ ያለው መረጃ ለ mysql ጥያቄ ተዘጋጅቷል, / ግን እኛ ያስፈልገናል. በስክሪኑ ላይ ያትሙ ፣ ስለዚህ / በድርድር ውስጥ ያሉትን ሁሉንም ንጥረ ነገሮች ያዘጋጁ: / * / $ arr = array_map ("ጭረቶች", $ arr); $ ያስገባል አስተያየት = አዲስ አስተያየት ($ arr); / * አሁን የገባውን አስተያየት ምልክት ያውጡ : * / echo json_encode (ድርድር ("ሁኔታ "=> 1," html "=> $ ገብቷል አስተያየት-> ምልክት ማድረጊያ ()));) ሌላ (/ * የስህተት መልዕክቶችን አትም * / አስተጋባ" ("ሁኔታ": 0, " ስህተቶች": ". Json_encode ($ arr) ")";)

አስረክብ.phpበAJAX ጥያቄ ከመረጃው አስተያየት ያገኛል። ያጸደቀው እና XHTML ምልክት ከገባው አስተያየት ጋር ወይም የስህተቶችን ዝርዝር የያዘ የJSON ነገር ያወጣል። jQuery ንብረቱን ይጠቀማል ሁኔታምን እንደሚታይ ለመወሰን - የስህተት መልእክት ወይም በገጹ ላይ የአስተያየት ምልክት ማከል.

ከታች ያሉት ሁለት ምሳሌዎች ናቸው.

የተሳካ መልስ

("status": 1, "html": "የኤችቲኤምኤል ኮድ የአስተያየቱ ኮድ እዚህ ይመጣል...")

ንብረት htmlየአስተያየት ኮድ ይዟል.

የስህተት ምላሽ

("status": 0, "errors": ("email": "እባክዎ የሚሰራ ኢሜይል ያስገቡ።"፣ "body": "እባክዎ አስተያየት አካል ያስገቡ።"፣ "name": "እባክዎ ስም ያስገቡ።" )

ስህተት ካለ jQuery የስህተት እቃውን በማለፍ ስህተቶች ካላቸው መስኮች አጠገብ መልእክቶችን ያትማል።

ደረጃ 3 - CSS

አሁን ምልክት ማድረጊያው በትክክል የተፈጠረ እና በገጹ ላይ ስለታየ፣ ወደ ቅጥነት መቀጠል እንችላለን።

styles.css - ክፍል 1

.አስተያየት፣ #addCommentContainer (/ * የአስተያየቶች ዘይቤ * / ንጣፍ፡ 12 ፒክስል፤ ስፋት፡ 400 ፒክስል፤ አቀማመጥ፡ አንጻራዊ፤ የጀርባ ቀለም፡ #fcfcfc፤ ድንበር፡ 1 ፒክስል ጠንካራ ነጭ፤ ቀለም፡ # 888፤ ህዳግ-ታች፡ 25 ፒክስል፤ / * የተጠጋጋ ማዕዘኖች እና CSS3 ጥላዎች * / -ሞዝ-ድንበር-ራዲየስ: 10 ፒክስል; -webkit-border-radius: 10px; border-radius: 10px; -moz-box-shadow: 2px 2px 0 # c2c2c2; -webkit-box- ጥላ: 2 ፒክስል 2 ፒክስል 0 # c2c2c2 ፤ ሳጥን-ጥላ: 2 ፒክስል 2 ፒክስል 0 # c2c2c2 ፤) .አስተያየት .አቫታር (/ * / አምሳያው በፍፁም ተቀምጧል። 70 ፒክስል ፤ ቦታ ፡ ፍፁም ፤ ስፋት ፡ 50 ፒክስል ፤ ዳራ ፡ url ("img / default_avatar.gif") አይደገምም #fcfcfc ፤ / * በአቀባዊ መሃል: * / ህዳግ-ከላይ: -25 ፒክስል; ከላይ: 50%; -ሞዝ- ሳጥን-ጥላ: 1 ፒክስል 1 ፒክስል 0 # c2c2c2; -webkit-box-shadow: 1 ፒክስል 1 ፒክስል 0 # c2c2c2; ሳጥን-ጥላ: 1 ፒክስል 1 ፒክስል 0 # c2c2c2;)

div .አስተያየት እና #አስተያየት ኮንቴይነር ይጨምሩ ተመሳሳይ ዘይቤ አላቸው. በርካታ የ CSS3 ህጎች ማዕዘኖችን ለመዞር እና ጥላዎችን ለማንፀባረቅ ያገለግላሉ።

styles.css - ክፍል 2

አስተያየት .avatar img (ማሳያ፡ እገዳ፡) ቦታ፡ ፍፁም፡ ቀኝ፡ 15 ፒክስል፡ ላይ፡ 10 ፒክስል፡ ቀለም፡ #bbb፡) addCommentContainer textarea (/ * ቅጥ ለግቤት * / ማሳያ፡ አግድ፤ ድንበር፡ 1 ፒክስል ጠንካራ #ሲሲሲ፤ ህዳግ፡ 5 ፒክስል 0 5 ፒክስል፤ ንጣፍ፡ 3 ፒክስል፤ የቅርጸ-ቁምፊ መጠን፡ 12 ፒክስል፤ ቀለም፡ # 555፤ ቅርጸ-ቁምፊ-ቤተሰብ፡ Arial፣ Helvetica፣ sans-serif;) #addCommentContainer textarea (ስፋት: 300 ፒክስል;) መለያ (የቅርጸ-ቁምፊ መጠን: 10 ፒክስል;) መለያ span.ስህተት (ቀለም: ቀይ; አቀማመጥ: አንጻራዊ; ቀኝ: -10 ፒክስል;) # አስገባ (/ * አዝራር አስገባ " * / የበስተጀርባ ቀለም፡ # 58B9EB፤ ድንበር፡ 1 ፒክስል ድፍን # 40A2D4፤ ቀለም፡ #FFFFFF፤ ጠቋሚ፡ ጠቋሚ፤ ቅርጸ-ቁምፊ-ቤተሰብ፡" Myriad Pro"፣ Arial፣ Helvetica፣ Sans-serif፣ የቅርጸ-ቁምፊ መጠን፡ 14 ፒክስል፤ ቅርጸ-ቁምፊ - ክብደት፡ ደፋር፤ ንጣፍ፡ 4 ፒክስል፤ ህዳግ-ከላይ፡ 5 ፒክስል፤ -ሞዝ-ቦርደር-ራዲየስ፡ 4 ፒክስል፤ -ድር ኪት-ወሰን-ራዲየስ፡ 4 ፒክስል፤ ድንበር-ራዲየስ፡ 4 ፒክስል፤) #s አስረክብ፡ ማንዣበብ (ዳራ-ቀለም፡ # 80cdf5; ድንበር-ቀለም: # 52b1e2; )

በሁለተኛው ክፍል አስተያየቶችን እናቀርባለን እና ክፍሎችን እንፈጥራለን። መራጩን አስተውል ግብአት፣በአንድ ባህሪ ላይ የተመሰረቱ ንጥረ ነገሮችን የሚያጎላ ዓይነት.

ደረጃ 4 - jQuery

አሁን ወደ jQuery እንሂድ።

ስክሪፕት.js

$ (ሰነድ) .ዝግጁ (ተግባር () (/ * የሚከተለው ኮድ የሚተገበረው DOM ከተጫነ በኋላ ብቻ ነው * / / * ይህ ባንዲራ ብዙ አስተያየቶችን እንዳይላክ ይከለክላል፡ * / var working = false; / * ቅጹን አስገባ ክስተት፡ * / $ ("#addCommentForm") አስረክብ (ተግባር (ሠ) (e.preventDefault () መከላከል (e.preventDefault)፤ (የሚሰራ) ከሆነ ሐሰት መመለስ፤ መስራት = እውነት፤ $ (" # አስረክብ ") val (" በመስራት ላይ .. "); $ (" span .error ") ያስወግዱ (); / * የቅጽ መስኮችን ለማስገባት.php: * / $ .ፖስት (" submit.php ", $ (this) .serialize (), function (msg) (መስራት = ሐሰት፤ $ ("#አስረክብ")። ቫል ("አስገባ")፤ (msg.status) ከሆነ (/ * / ማስገባቱ የተሳካ ከሆነ፣ በገጹ ላይ ካለው የመጨረሻው በታች አስተያየት ያክሉ። የስላይድ ዳውን ውጤት / * / $ (msg.html) .ደብቅ () .insertBefore ("# addCommentContainer"). ተንሸራታች ዳውን (); $ ("# አካል"). val ("");) ሌላ (/ * / ካለ ስሕተቶች ናቸው፣ በ / msg.errors ነገር ላይ በማዞር ወደ ገጹ / * / $ .እያንዳንዳቸው (msg.errors, function (k, v) ($ ("መለያ") አሳይ. አባሪ (" "+ v+"");))))))," json");));));

የተግባር ጥሪን እንጠቀማለን። $ (ሰነድ) .ዝግጁ ()ተግባርን ከአንድ ክስተት ጋር የሚያገናኝ። ተለዋዋጭ መስራትየAJAX ጥያቄ በሂደት ላይ መሆኑን የሚጠቁም ባንዲራ ሆኖ ይሰራል (በመሆኑም ተመሳሳይ አስተያየት መድገምን ይከላከላል)።

ለPOST AJAX ጥያቄ የመመለስ ጥሪ ተግባር ውስጥ ንብረቱን እናረጋግጣለን። ሁኔታአስተያየቱ በተሳካ ሁኔታ እንደገባ ለማወቅ. ከሆነ፣ ከአኒሜሽን ጋር ከመጨረሻው አስተያየት በኋላ ውጤቱን ወደ ገፁ እንጨምረዋለን። ተንሸራታች.

ችግሮች ከነበሩ, ከዚያም በማከል የስህተት መልዕክቶችን እናሳያለን ስፋት ስህተት ወደ ተጓዳኝ አካል መለያ(የአካል ባህሪ መለያይዟል መታወቂያስህተት ያለበት ግቤት)።

ዝግጁ!

ማጠቃለያ

ስክሪፕቱን በአገልጋዩ ላይ ለማስኬድ ጠረጴዛ መፍጠር ያስፈልግዎታል አስተያየቶች በእርስዎ MySQL የውሂብ ጎታ ውስጥ. ከፋይል በ SQL ኮድ ማድረግ ይችላሉ table.sqlበ phpMyAdmin ውስጥ በ SQL ትር ላይ መግባት ያለበት። ከዚያ በፋይሉ ውስጥ ካለው MySQL የውሂብ ጎታ ጋር ለመገናኘት መለኪያዎችን ማዘጋጀት ያስፈልግዎታል አገናኝ.php .