როგორ უნდა გაიაროს ცვლადი

Სარჩევი:

როგორ უნდა გაიაროს ცვლადი
როგორ უნდა გაიაროს ცვლადი

ვიდეო: როგორ უნდა გაიაროს ცვლადი

ვიდეო: როგორ უნდა გაიაროს ცვლადი
ვიდეო: А.В.Клюев - Что Творит Эволюционная Божественная Сила - Трансформация - Эго - Глубокие Пояснения(11) 2024, აპრილი
Anonim

ვიზიტორსა და ვებსაიტს (უფრო სწორად, ბრაუზერს ვებ სერვერთან) ინტერაქტიული კომუნიკაციის ორგანიზების მიზნით, პროგრამისტმა უნდა მიაწოდოს მათ შორის მონაცემთა გაცვლის სცენარები. განვიხილოთ კლიენტის JavaScript სკრიპტიდან PHP სკრიპტზე და პირიქით ცვლადების გადაცემის ორგანიზების რამდენიმე მარტივი ვარიანტი.

PHP– დან JavaScript– ზე და პირიქით მონაცემების გადაცემა
PHP– დან JavaScript– ზე და პირიქით მონაცემების გადაცემა

Ეს აუცილებელია

PHP, JavaScript და HTML ენების ცოდნა

ინსტრუქციები

Ნაბიჯი 1

გვერდის ფორმირების ეტაპზე არ არის რთული ცვლადის გადატანა მის მნიშვნელობასთან ერთად php სკრიპტიდან JavaScript სკრიპტზე. თავად PHP სკრიპტი ქმნის მოთხოვნილი გვერდის HTML კოდს, მათ შორის მის დამწერლობას. ეს ნიშნავს, რომ მას შეუძლია JavaScript კოდში ჩაწეროს ნებისმიერი ცვლადი, რომელიც უნდა გადაეცეს მათ მნიშვნელობებთან ერთად. მაგალითად, ეს php სკრიპტი კლიენტის სკრიპტს გადასცემს ცვლადს სახელად "serverTime", რომელიც შეიცავს სერვერის მიმდინარე დროს HOUR ფორმატში: MINUTE:

<? php

$ JSvarName = 'serverTime';

$ JSvarValue = თარიღი ('H: i');

$ JScode = $ JSvarName. '= "'. $ JSvarValue. '";';

ბეჭდვა ''. $ JScode.'alert ("და ახლა სერვერზე" + '. $ JSvarName.'); '

?>

ცვლადის გადაცემა და მისი მნიშვნელობა PHP– დან Javascript– ზე
ცვლადის გადაცემა და მისი მნიშვნელობა PHP– დან Javascript– ზე

ნაბიჯი 2

ცვლადების სახელების და მნიშვნელობების საპირისპირო მიმართულებით გადაცემის უმარტივესი გზა (კლიენტის ბრაუზერში JS სკრიპტიდან დაწყებული ვებ სერვერზე PHP სკრიპტით) შეიძლება ასე გამოიყურებოდეს გვერდის HTML კოდში:

var ახლა = ახალი თარიღი ();

var varName = 'კლიენტი დრო';

var varValue = now.getHours () + ":" + now.getMinutes ();

window.location.href = 'https://sa/test2.php?' + varName + '=' varValue;

ეს სკრიპტი გამოგზავნის სკრიპტს test2.php "clientTime" ცვლადის სახელს და მის მნიშვნელობას, რომელიც შეიცავს მიმდინარე კომპიუტერის დროს იმავე ფორმატში HOUR: MINUTE. მონაცემთა გადაცემის ამ მეთოდს "სინქრონულს" უწოდებენ - ეს გამოიწვევს გვერდის დაუყოვნებლივ გადატვირთვას. უფრო ზუსტად, მიმდინარე გვერდის ნაცვლად, test2.php სკრიპტის შედეგი ჩაიტვირთება ბრაუზერში. ამ php სკრიპტის კოდი შეიძლება ასე გამოიყურებოდეს:

<? php

if ($ _ GET) echo 'მიღებული ცვლადი'.key ($ _ GET). '='. $ _ GET [გასაღები ($ _ GET)];

?>

თქვენ შეგიძლიათ დააკავშიროთ კოდის სამივე გათვალისწინებული ნაწილი სერვერიდან ბრაუზერში ცვლადების გადასასვლელად და შემდეგ ერთ PHP ფაილში დაბრუნდეთ.

<? php

if ($ _ GET) echo 'მიღებული ცვლადი'.key ($ _ GET). '='. $ _ GET [გასაღები ($ _ GET)];

$ JSvarName = 'serverTime';

$ JSvarValue = თარიღი ('H: i');

$ JScode = $ JSvarName. '= "'. $ JSvarValue. '";';

ბეჭდვა ''. $ JScode.'alert ("და ახლა სერვერზე" + '. $ JSvarName.'); '

?>

ფუნქცია sendData () {

var ახლა = ახალი თარიღი ();

var varName = 'კლიენტი დრო';

var varValue = now.getHours () + ":" + now.getMinutes ();

window.location.href = "https://sa/test2.php?" + varName + "=" + varValue;

დაბრუნება ყალბი;

}

მონაცემთა გაგზავნა სერვერზე ამ კომბინირებულ (PHP + JavaScript) სკრიპტში, php კოდი წარმოქმნის JavaScript კოდს ცვლადის "serverTime" ცვლის "გავლით", რომლის მნიშვნელობაა სერვერის ამჟამინდელი დრო. როდესაც გვერდი ჩაიტვირთება ბრაუზერში, JavaScript სკრიპტი აჩვენებს შეტყობინებას ამ დროისთვის. შემდეგ მომხმარებელი დააწკაპუნებს ბმულზე "მონაცემების გაგზავნა სერვერზე", ამოქმედდება sendData () ფუნქცია, რომელიც გაგზავნის GET მოთხოვნას სერვერზე, გადასცემს ცვლადი სახელს ("clientTime") და მისი მნიშვნელობა (კლიენტის დრო) php დამწერლობა. Php სკრიპტი, რომელიც წაიკითხავს $ _GET სუპერგლობალური მასივიდან ცვლადის სახელს და მნიშვნელობას, ბეჭდავს მას და ხელახლა დაიწყებს აღწერილ სკრიპტს.

ცვლადების და მათი მნიშვნელობების გაცვლა PHP- სა და JavaScript- ს შორის
ცვლადების და მათი მნიშვნელობების გაცვლა PHP- სა და JavaScript- ს შორის

ნაბიჯი 3

ზემოთ აღწერილი ყველაფერი ახორციელებს მონაცემთა "სინქრონული" გადაცემის სცენარს. კლიენტისა და სერვერის სკრიპტებს შორის მონაცემთა გაცვლის "ასინქრონული" მეთოდის დანერგვას აქვს საკუთარი სახელი AJAX (ასინქრონული Javascript და XML). ეს თემა ცალკე სტატიას იმსახურებს.

გირჩევთ: