Πώς να περάσετε μια μεταβλητή

Πίνακας περιεχομένων:

Πώς να περάσετε μια μεταβλητή
Πώς να περάσετε μια μεταβλητή

Βίντεο: Πώς να περάσετε μια μεταβλητή

Βίντεο: Πώς να περάσετε μια μεταβλητή
Βίντεο: Τι είναι μια μεταβλητή? 2024, Νοέμβριος
Anonim

Για να οργανώσει διαδραστική επικοινωνία μεταξύ ενός επισκέπτη και ενός ιστότοπου (ή μάλλον ενός προγράμματος περιήγησης με έναν διακομιστή ιστού), ο προγραμματιστής πρέπει να παρέχει σενάρια για την ανταλλαγή δεδομένων μεταξύ τους. Ας εξετάσουμε αρκετές απλές επιλογές για την οργάνωση της μεταφοράς μεταβλητών από το script JavaScrip του πελάτη στο σενάριο PHP του διακομιστή και αντίστροφα.

Διαβίβαση δεδομένων από PHP σε JavaScript και αντίστροφα
Διαβίβαση δεδομένων από PHP σε JavaScript και αντίστροφα

Είναι απαραίτητο

Βασικές γνώσεις PHP, JavaScript και γλώσσες HTML

Οδηγίες

Βήμα 1

Στο στάδιο της δημιουργίας σελίδων, δεν είναι δύσκολο να μεταφέρετε μια μεταβλητή μαζί με την τιμή της από ένα σενάριο php σε ένα σενάριο JavaScript. Το ίδιο το σενάριο PHP δημιουργεί τον κώδικα HTML της ζητούμενης σελίδας, συμπεριλαμβανομένων των σεναρίων που περιέχει. Αυτό σημαίνει ότι μπορεί να γράψει τυχόν μεταβλητές στον κώδικα JavaScript που πρέπει να περάσει μαζί με τις τιμές τους. Για παράδειγμα, αυτό το σενάριο php θα μεταβιβάσει στο σενάριο πελάτη μια μεταβλητή που ονομάζεται "serverTime" που περιέχει τον τρέχοντα χρόνο διακομιστή με τη μορφή ΩΡΑ: ΛΕΠΤΟ:

<? php

$ JSvarName = 'serverTime';

$ JSvarValue = ημερομηνία ('H: i');

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

print ''. $ JScode.'alert ("Και στον διακομιστή τώρα" + '. $ JSvarName.'); '

?>

Διαβίβαση μιας μεταβλητής και της αξίας της από PHP σε Javascript
Διαβίβαση μιας μεταβλητής και της αξίας της από PHP σε Javascript

Βήμα 2

Ο απλούστερος τρόπος μετάδοσης των ονομάτων και των τιμών των μεταβλητών στην αντίθετη κατεύθυνση (από το σενάριο JS στο πρόγραμμα περιήγησης του πελάτη στο σενάριο PHP στον διακομιστή ιστού) μπορεί να μοιάζει με αυτόν στον κώδικα HTML της σελίδας:

var now = νέα ημερομηνία ();

var varName = 'clientTime';

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

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

Αυτό το σενάριο θα στείλει στο script test2.php το όνομα της μεταβλητής "clientTime" και την τιμή της που περιέχει την τρέχουσα ώρα του υπολογιστή με την ίδια μορφή ΩΡΑ: MINUTE. Αυτή η μέθοδος μεταφοράς δεδομένων ονομάζεται "σύγχρονη" - θα οδηγήσει σε άμεση επαναφόρτωση σελίδας. Πιο συγκεκριμένα, αντί της τρέχουσας σελίδας, το αποτέλεσμα του σεναρίου test2.php θα φορτωθεί στο πρόγραμμα περιήγησης. Ο κώδικας για αυτό το σενάριο php μπορεί να έχει την εξής μορφή:

<? php

εάν ($ _ GET) ηχώ "Λήψη μεταβλητής".key ($ _ GET). "=". $ _ GET [κλειδί ($ _ GET)];

?>

Μπορείτε να συνδυάσετε και τα τρία εξεταζόμενα μέρη του κώδικα για μεταβίβαση μεταβλητών από το διακομιστή στο πρόγραμμα περιήγησης και να επιστρέψετε σε ένα αρχείο php όπως αυτό:

<? php

αν ($ _ GET) ηχώ "Λήψη μεταβλητής".key ($ _ GET). "=". $ _ GET [κλειδί ($ _ GET)];

$ JSvarName = 'serverTime';

$ JSvarValue = ημερομηνία ('H: i');

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

print ''. $ JScode.'alert ("Και στον διακομιστή τώρα" + '. $ JSvarName.'); '

?>

συνάρτηση sendData () {

var now = νέα ημερομηνία ();

var varName = 'clientTime';

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, αφού έχει διαβάσει το όνομα και την τιμή μιας μεταβλητής από τον πίνακα superglobal $ _GET, θα το εκτυπώσει και θα ξεκινήσει ξανά ολόκληρο το περιγραφόμενο σενάριο.

Ανταλλαγή μεταβλητών και των τιμών τους μεταξύ PHP και JavaScript
Ανταλλαγή μεταβλητών και των τιμών τους μεταξύ PHP και JavaScript

Βήμα 3

Όλα όσα περιγράφονται παραπάνω εφαρμόζουν το σενάριο της «σύγχρονης» μεταφοράς δεδομένων. Η εφαρμογή της "ασύγχρονης" μεθόδου ανταλλαγής δεδομένων μεταξύ σεναρίων πελάτη και διακομιστή έχει το δικό της όνομα AJAX (Asynchronous Javascript και XML). Αυτό το θέμα αξίζει ένα ξεχωριστό άρθρο.

Συνιστάται: