ጎብ and እና ድር ጣቢያ (ወይም ይልቁን ከድር አገልጋይ ጋር አሳሽ) መካከል በይነተገናኝ ግንኙነቶችን ለማቀናበር ፕሮግራሙ በመካከላቸው ያለውን የውሂብ ልውውጥ ሁኔታዎችን መስጠት አለበት ፡፡ ተለዋዋጭዎችን ከደንበኛው ጃቫስክሪፕት ስክሪፕት ወደ አገልጋዩ PHP ስክሪፕት እና በተቃራኒው ለማዛወር ብዙ ቀላል አማራጮችን እንመልከት ፡፡
አስፈላጊ ነው
የፒኤችፒ ፣ የጃቫስክሪፕት እና የኤችቲኤምኤል ቋንቋዎች መሠረታዊ እውቀት
መመሪያዎች
ደረጃ 1
በገጹ ምስረታ ደረጃ አንድ ተለዋዋጭ ከእሴቱ ጋር ከፒኤችፒ ስክሪፕት ወደ ጃቫስክሪፕት ስክሪፕት ማስተላለፍ አስቸጋሪ አይደለም። PHP ስክሪፕት ራሱ የያዙትን እስክሪፕቶች ጨምሮ የተጠየቀውን ገጽ የኤችቲኤምኤል ኮድ ያመነጫል። ይህ ማለት ማንኛውንም ተለዋዋጮች ከእሴቶቻቸው ጋር መተላለፍ በሚገባቸው የጃቫስክሪፕት ኮድ ውስጥ መጻፍ ይችላል ማለት ነው። ለምሳሌ ፣ ይህ የ ‹php› ስክሪፕት HOUR: MINUTE በሚለው ቅርጸት የአሁኑን የአገልጋይ ጊዜ የያዘ“አገልጋይ ጊዜ”የተባለውን ተለዋዋጭ ለደንበኛው ስክሪፕት ያስተላልፋል ፡፡
<? php
$ JSvarName = 'serverTime';
$ JSvarValue = ቀን ('H: i');
$ JScode = $ JSvarName. '= "'. $ JSvarValue. '";';
አትም ''. $ JScode.'alert (እና አሁን በአገልጋዩ ላይ + '. $ JSvarName.'); '
?>
ደረጃ 2
በተቃራኒው አቅጣጫ የተለዋጮችን ስሞች እና እሴቶችን ለማስተላለፍ ቀላሉ መንገድ (በደንበኛው አሳሾች ውስጥ ካለው የጄ.ኤስ.ኤስ. እስክሪፕት እስከ ድር አገልጋዩ እስከ PHP ስክሪፕት) በገጹ የኤችቲኤምኤል ኮድ ውስጥ ይህን ሊመስል ይችላል-
var አሁን = አዲስ ቀን ();
var varName = 'clientTime';
var varValue = now.getHours () + ":" + now.getMinutes ();
window.location.href = 'https://sa/test2.php?' + varName + '=' varValue;
ይህ ስክሪፕት የ ‹ደንበኛ ታይም› ተለዋዋጭ እና የአሁኑን የኮምፒተር ጊዜ የያዘውን እሴት በተመሳሳይ ሰዓት HOUR: MINUTE ወደ ስክሪፕቱ test2.php ይልካል ፡፡ ይህ መረጃን የማስተላለፍ ዘዴ "የተመሳሰለ" ተብሎ ይጠራል - ወዲያውኑ ገጽ እንደገና መጫን ያስከትላል። ይበልጥ በትክክል ፣ ከአሁኑ ገጽ ይልቅ ፣ የ test2.php ስክሪፕት ውጤቱ በአሳሹ ውስጥ ይጫናል። የዚህ php ስክሪፕት ኮድ እንደዚህ ሊመስል ይችላል
<? php
($ _ GET) የሚያስተጋባ ከሆነ 'የተቀባዩ ተለዋዋጭ'.key ($ _ GET). '='. $ _ GET [key ($ _ GET)];
?>
ተለዋዋጮችን ከአገልጋዩ ወደ አሳሹ ለማሸጋገር እና ሁሉንም ወደእዚህ ወደ ሚመለከታቸው የ ‹php› ፋይሎች ሦስቱን ከግምት ውስጥ ማስገባት ይችላሉ ፡፡
<? php
($ _ GET) የሚያስተጋባ ከሆነ 'የተቀባዩ ተለዋዋጭ'.key ($ _ GET). '='. $ _ GET [key ($ _ GET)];
$ JSvarName = 'serverTime';
$ JSvarValue = ቀን ('H: i');
$ JScode = $ JSvarName. '= "'. $ JSvarValue. '";';
አትም ''. $ JScode.'alert (እና አሁን በአገልጋዩ ላይ + '. $ JSvarName.'); '
?>
ተግባር sendData () {
var አሁን = አዲስ ቀን ();
var varName = 'clientTime';
var varValue = now.getHours () + ":" + now.getMinutes ();
window.location.href = "https://sa/test2.php?" + varName + "=" + varValue;
ሐሰትን መመለስ;
}
መረጃን ወደ አገልጋይ ይላኩ በዚህ በተጣመረ (ፒኤችፒ + ጃቫስክሪፕት) ስክሪፕት ውስጥ የ ‹ፒፒፕ› ኮድ የአሁኑን የአገልጋይ ጊዜን ካለው እሴት ጋር “serverTime” የተባለ ተለዋዋጭ “በማለፍ” የጃቫስክሪፕት ኮድ ያስገኛል ፡፡ ገጹ በአሳሹ ውስጥ ሲጫን ፣ የጃቫስክሪፕት ጽሑፍ በዚህ ጊዜ መልእክት ያሳያል። ከዚያ ተጠቃሚው በ “ውሂብ ወደ አገልጋይ ላክ” በሚለው አገናኝ ላይ ጠቅ በማድረግ የ “ተለዋጭ ስም” (“ደንበኛ ጊዜ”) እና እሴቱ (የደንበኛው ጊዜ) ወደ php በማስተላለፍ የ ‹GET› ጥያቄን ለአገልጋዩ የሚልክለውን የላኪ ዳታ () ተግባር ይጀምራል ፡፡ ስክሪፕት. ከ $ _GET ልዕለ-ግላዊ ድርድር የአንድ ተለዋዋጭ ስም እና እሴት ካነበበ በኋላ ‹php› ስክሪፕት ያትመው እና የተገለጸውን ስክሪፕት በሙሉ እንደገና ይጀምራል ፡፡
ደረጃ 3
ከዚህ በላይ የተገለጸው ነገር ሁሉ “የተመሳሰለ” የውሂብ ዝውውር ሁኔታን ይተገበራል። በደንበኞች እና በአገልጋይ ስክሪፕቶች መካከል መረጃን የመለዋወጥ “ያልተመሳሰል” ዘዴ ትግበራ የራሱ ስም AJAX (አልተመሳሰል ጃቫስክሪፕት እና ኤክስኤምኤል) አለው። ይህ ርዕስ የተለየ ጽሑፍ ይገባዋል ፡፡