Cách sử dụng biến JavaScript trong PHP

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách lưu trữ giá trị biến JavaScript trong giá trị biến PHP. Vì một chạy ở phía máy chủ và một chạy ở phía máy khách. Hy vọng hướng dẫn này sẽ hữu ích cho bạn và tôi sẽ cố gắng làm cho hướng dẫn này dễ học

Biến JavaScript thành biến PHP

Giả sử chúng tôi có JavaScript và PHP trực tiếp trong cùng một tài liệu, thì PHP sẽ được thực thi trước và chúng tôi biết nó được thực thi ở phía máy chủ và JavaScript sẽ được thực thi thứ hai và chúng tôi biết rằng nó sẽ được thực thi ở phía trình duyệt. Bằng cách này, cả hai sẽ không bao giờ tương tác

Hãy hiểu với một ví dụ

Giả sử tôi khai báo một biến JavaScript và tôi không thể gán giá trị đó cho PHP. Điều này có thể được giải quyết trực tiếp bằng cách sử dụng Ajax. Nhưng vấn đề là tôi không biết Ajax

  
    
       var myjavascriptVar=123;
       
     
     
  

Mã số

//USING COOKIE

 document.cookie = "myjavascriptVar = " + myjavascriptVar 

 

Sử dụng Ajax

Cách lý tưởng nhất để chuyển giá trị biến JavaScript trong biến PHP là chuyển biến JS cho lệnh gọi AJAX. Nhưng để làm điều này, chúng ta cần tải lại trang có biến trong tham số $_GET và truy cập biến trong PHP bằng cách sử dụng $_GET[‘a’]

Trước khi chúng tôi có câu trả lời, xin lưu ý rằng không thể chuyển trực tiếp các biến từ JavaScript sang PHP

Điều này là do mã PHP được thực thi trên máy chủ, trong khi mã JavaScript được thực thi trong trình duyệt

Vào thời điểm mã JavaScript được trình duyệt thực thi, mã PHP đã chạy xong trên máy chủ

Tuy nhiên, có nhiều cách để khắc phục hạn chế này và chuyển dữ liệu từ JavaScript sang PHP

  • Sử dụng AJAX để truyền dữ liệu từ JavaScript sang PHP
  • Sử dụng API tìm nạp để gửi yêu cầu HTTP
  • Sử dụng Biểu mẫu để Truyền dữ liệu từ JavaScript sang PHP
  • Phần kết luận

Bài viết này sẽ giúp bạn tìm hiểu các giải pháp trên

Sử dụng AJAX để truyền dữ liệu từ JavaScript sang PHP

AJAX [JavaScript và XML không đồng bộ] là kỹ thuật gửi và nhận dữ liệu từ máy chủ không đồng bộ mà không cần phải làm mới trang

Điều này cho phép cập nhật một phần của trang web mà không cần tải lại toàn bộ trang. Nó thường được sử dụng cho những thứ như xác thực biểu mẫu và cập nhật nội dung động

Trong JavaScript, AJAX được thực hiện bằng cách sử dụng đối tượng

function sendData[] {
    var data = {
        name: "Nathan",
        email: "nathan@example.com",
    };

    var xhr = new XMLHttpRequest[];

    //👇 set the PHP page you want to send data to
    xhr.open["POST", "index.php", true];
    xhr.setRequestHeader["Content-Type", "application/json"];

    //👇 what to do when you receive a response
    xhr.onreadystatechange = function [] {
        if [xhr.readyState == XMLHttpRequest.DONE] {
            alert[xhr.responseText];
        }
    };

    //👇 send the data
    xhr.send[JSON.stringify[data]];
}
9

Đoạn mã dưới đây cho biết cách sử dụng đối tượng

function sendData[] {
    var data = {
        name: "Nathan",
        email: "nathan@example.com",
    };

    var xhr = new XMLHttpRequest[];

    //👇 set the PHP page you want to send data to
    xhr.open["POST", "index.php", true];
    xhr.setRequestHeader["Content-Type", "application/json"];

    //👇 what to do when you receive a response
    xhr.onreadystatechange = function [] {
        if [xhr.readyState == XMLHttpRequest.DONE] {
            alert[xhr.responseText];
        }
    };

    //👇 send the data
    xhr.send[JSON.stringify[data]];
}
9 để gửi dữ liệu tới tập lệnh PHP của bạn

function sendData[] {
    var data = {
        name: "Nathan",
        email: "nathan@example.com",
    };

    var xhr = new XMLHttpRequest[];

    //👇 set the PHP page you want to send data to
    xhr.open["POST", "index.php", true];
    xhr.setRequestHeader["Content-Type", "application/json"];

    //👇 what to do when you receive a response
    xhr.onreadystatechange = function [] {
        if [xhr.readyState == XMLHttpRequest.DONE] {
            alert[xhr.responseText];
        }
    };

    //👇 send the data
    xhr.send[JSON.stringify[data]];
}

Trong ví dụ này, chúng tôi đã xác định hàm

4

Đoạn mã trên thực hiện tương tự như đoạn mã

function sendData[] {
    var data = {
        name: "Nathan",
        email: "nathan@example.com",
    };

    var xhr = new XMLHttpRequest[];

    //👇 set the PHP page you want to send data to
    xhr.open["POST", "index.php", true];
    xhr.setRequestHeader["Content-Type", "application/json"];

    //👇 what to do when you receive a response
    xhr.onreadystatechange = function [] {
        if [xhr.readyState == XMLHttpRequest.DONE] {
            alert[xhr.responseText];
        }
    };

    //👇 send the data
    xhr.send[JSON.stringify[data]];
}
9

API

Send Data

0 là một cách hiện đại và linh hoạt hơn để gửi dữ liệu từ JavaScript sang PHP. Nó có thêm lợi thế là có thể xử lý các yêu cầu không đồng bộ

Tuy nhiên, nó không được hỗ trợ bởi tất cả các trình duyệt, vì vậy bạn có thể cần sử dụng polyfill nếu muốn hỗ trợ các trình duyệt cũ hơn

Sử dụng Biểu mẫu để Truyền dữ liệu từ JavaScript sang PHP

Một cách khác để chuyển dữ liệu từ JavaScript sang PHP là sử dụng biểu mẫu HTML

Khi người dùng gửi biểu mẫu, dữ liệu sẽ được gửi đến máy chủ dưới dạng yêu cầu HTTP. Dữ liệu này có thể được truy cập bởi tập lệnh PHP xử lý việc gửi biểu mẫu

Để sử dụng biểu mẫu để truyền dữ liệu từ JavaScript sang PHP, bạn cần tạo biểu mẫu trên trang web của mình và thêm nút gửi

Sau đó, bạn có thể sử dụng JavaScript để điền vào các trường biểu mẫu với dữ liệu bạn muốn chuyển tới PHP và kích hoạt gửi biểu mẫu khi người dùng nhấp vào nút gửi

Hãy xem xét ví dụ dưới đây

//USING COOKIE

 document.cookie = "myjavascriptVar = " + myjavascriptVar 
6

Trong ví dụ này, chúng tôi đã tạo một biểu mẫu HTML với hai trường

Send Data

5 ẩn và một nút gửi

Thuộc tính

Send Data

6 của biểu mẫu chỉ định tập lệnh PHP sẽ xử lý việc gửi biểu mẫu và thuộc tính
Send Data

7 chỉ định rằng dữ liệu sẽ được gửi bằng yêu cầu HTTP
40 để nhận tham chiếu đến các trường biểu mẫu và nút gửi

Cuối cùng, chúng tôi sử dụng phương pháp

//USING COOKIE

 document.cookie = "myjavascriptVar = " + myjavascriptVar 
41 để kích hoạt việc gửi biểu mẫu

Khi người dùng nhấp vào nút gửi, biểu mẫu sẽ được gửi tới tệp

43, giống như chúng ta đã làm trong ví dụ trước

Lưu ý rằng vì việc gửi biểu mẫu sẽ làm mới trang hiện tại, bạn có thể không thấy phản hồi từ PHP

Giải pháp này chỉ được khuyến nghị khi bạn cần gửi dữ liệu đến cùng một trang

Sau đó, bạn có thể viết mã sẽ xuất ra phản hồi như sau

function sendData[] {
    var data = {
        name: "Nathan",
        email: "nathan@example.com",
    };

    var xhr = new XMLHttpRequest[];

    //👇 set the PHP page you want to send data to
    xhr.open["POST", "index.php", true];
    xhr.setRequestHeader["Content-Type", "application/json"];

    //👇 what to do when you receive a response
    xhr.onreadystatechange = function [] {
        if [xhr.readyState == XMLHttpRequest.DONE] {
            alert[xhr.responseText];
        }
    };

    //👇 send the data
    xhr.send[JSON.stringify[data]];
}
6

Thuộc tính

Send Data

6 của biểu mẫu trên sẽ gửi biểu mẫu đến trang hiện tại

Sử dụng biểu mẫu yêu cầu bạn viết phần tử HTML trên trang của mình, sau đó sử dụng JavaScript để thao tác biểu mẫu

Bạn có thể gửi biểu mẫu bằng JavaScript hoặc thực hiện thủ công, nhưng đầu ra sẽ không được hiển thị trên trang nếu bạn đang gửi dữ liệu đến một trang khác

Đó là lý do tại sao giải pháp này chỉ hiệu quả khi bạn gửi dữ liệu đến trang hiện tại

Phần kết luận

Để chuyển các biến hoặc dữ liệu từ JavaScript sang PHP, bạn có thể sử dụng triển khai AJAX trong JavaScript [là

function sendData[] {
    var data = {
        name: "Nathan",
        email: "nathan@example.com",
    };

    var xhr = new XMLHttpRequest[];

    //👇 set the PHP page you want to send data to
    xhr.open["POST", "index.php", true];
    xhr.setRequestHeader["Content-Type", "application/json"];

    //👇 what to do when you receive a response
    xhr.onreadystatechange = function [] {
        if [xhr.readyState == XMLHttpRequest.DONE] {
            alert[xhr.responseText];
        }
    };

    //👇 send the data
    xhr.send[JSON.stringify[data]];
}
9] hoặc API
Send Data

0

Làm cách nào để chuyển biến hàm JavaScript sang PHP?

Nếu bạn muốn chuyển một giá trị JavaScript cho tập lệnh PHP, bạn phải thực hiện một XMLHttpRequest để gửi dữ liệu trở lại máy chủ. Now if you just need to pass a form value to the server, you can also just do a normal form post, that does the same thing, but the whole page has to be refreshed.

Làm cách nào để gán biến JavaScript vào biến PHP?

Javascript sẽ được diễn giải trong trình duyệt của Máy khách và bạn không thể gán nó cho biến PHP được diễn giải trên MÁY CHỦ. .
Đầu tiên thêm một cookie jquery plugin
Sau đó lưu trữ chiều rộng cửa sổ đó trong một biến cookie
Truy cập cookie của bạn bằng PHP như $_COOKIE['variable name']

Làm cách nào để lưu trữ biến biến JavaScript trong PHP?

Cách lý tưởng nhất để chuyển giá trị biến JavaScript trong biến PHP là chuyển biến JS cho lệnh gọi AJAX . Nhưng để làm điều này, chúng ta cần tải lại trang có biến trong tham số $_GET và truy cập biến trong PHP bằng cách sử dụng $_GET['a'].

Làm cách nào để lấy giá trị biến PHP trong JavaScript?

Sử dụng echo để chuyển biến PHP sang JavaScript . Khi bạn chạy đoạn mã trên, giá trị biến $name sẽ được chuyển đến biến data trong JavaScript. use echo to pass the variable from PHP to JavaScript directly. When you run the code above, the $name variable value will be passed to the data variable in JavaScript.

Chủ Đề