Hướng dẫn pass value to php - chuyển giá trị cho php

Tôi muốn chuyển các biến JavaScript sang PHP bằng cách sử dụng đầu vào ẩn dưới dạng.

Nội phân chính

  • Làm cách nào để chuyển các biến JavaScript sang PHP?
  • Làm thế nào sử dụng biến JavaScript trên cùng một trang trong PHP?
  • Làm thế nào sử dụng biến JavaScript trong truy vấn PHP SQL?
  • Làm thế nào truyền dữ liệu từ JavaScript sang PHP bằng AJAX?

Nhưng tôi không thể nhận được giá trị của

$(document).ready(function () {
  createCookie("height", $(window).height(), "10");
});

function createCookie(name, value, days) {
  var expires;
  if (days) {
    var date = new Date();
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
    expires = "; expires=" + date.toGMTString();
  }
  else {
    expires = "";
  }
  document.cookie = escape(name) + "=" + escape(value) + expires + "; path=/";
}
1 vào
$(document).ready(function () {
  createCookie("height", $(window).height(), "10");
});

function createCookie(name, value, days) {
  var expires;
  if (days) {
    var date = new Date();
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
    expires = "; expires=" + date.toGMTString();
  }
  else {
    expires = "";
  }
  document.cookie = escape(name) + "=" + escape(value) + expires + "; path=/";
}
2. Có điều gì sai không?

Đây là mã:



Code for displaying the query result.

Hướng dẫn pass value to php - chuyển giá trị cho php

Đã hỏi ngày 16 tháng 12 năm 2009 lúc 20:46Dec 16, 2009 at 20:46

Sun Jiangongsun JiangongSUN Jiangong

5.11216 Huy hiệu vàng56 Huy hiệu bạc76 Huy hiệu đồng16 gold badges56 silver badges76 bronze badges

2

Bạn không thể chuyển các giá trị biến từ mã JavaScript trang hiện tại sang mã PHP hiện tại ... Mã PHP chạy ở phía máy chủ và nó không biết gì về những gì đang diễn ra ở phía máy khách.

Bạn cần chuyển các biến sang mã PHP từ biểu mẫu HTML bằng cách sử dụng một cơ chế khác, chẳng hạn như gửi biểu mẫu bằng các phương thức GET hoặc POST.



  
    My Test Form
  

  
    

Please, choose the salary id to proceed result:

'; echo '' ...; // and others echo ''; } ?>
', $row['salaried'], '', $row['bla-bla-bla'], '

Đã trả lời ngày 16 tháng 12 năm 2009 lúc 20:52Dec 16, 2009 at 20:52

Sergey Kuznetsovsergey KuznetsovSergey Kuznetsov

8.4614 Huy hiệu vàng24 Huy hiệu bạc21 Huy hiệu đồng4 gold badges24 silver badges21 bronze badges

8

Chỉ cần lưu nó trong cookie:

$(document).ready(function () {
  createCookie("height", $(window).height(), "10");
});

function createCookie(name, value, days) {
  var expires;
  if (days) {
    var date = new Date();
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
    expires = "; expires=" + date.toGMTString();
  }
  else {
    expires = "";
  }
  document.cookie = escape(name) + "=" + escape(value) + expires + "; path=/";
}

Và sau đó đọc nó với PHP:


Nó không phải là một giải pháp đẹp, nhưng nó hoạt động.

Đã trả lời ngày 12 tháng 2 năm 2014 lúc 23:50Feb 12, 2014 at 23:50

5

Có một số cách chuyển các biến từ JavaScript sang PHP (tất nhiên không phải là trang hiện tại).

Bạn có thể:

  1. Gửi thông tin trong một biểu mẫu như đã nêu ở đây (sẽ dẫn đến việc làm mới trang)
  2. Vượt qua nó trong Ajax (một số bài đăng ở đây về điều đó) (không có trang làm mới trang)
  3. Thực hiện yêu cầu HTTP thông qua yêu cầu XMLHTTPREQUEST (không có trang làm mới trang) như thế này:

 if (window.XMLHttpRequest){
     xmlhttp = new XMLHttpRequest();
 }

else{
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
 }

 var PageToSendTo = "nowitworks.php?";
 var MyVariable = "variableData";
 var VariablePlaceholder = "variableName=";
 var UrlToSend = PageToSendTo + VariablePlaceholder + MyVariable;

 xmlhttp.open("GET", UrlToSend, false);
 xmlhttp.send();

Tôi chắc chắn rằng điều này có thể được tạo ra để trông fancier và lặp qua tất cả các biến và không có gì - nhưng tôi đã giữ nó cơ bản để làm cho nó dễ hiểu hơn cho người mới.

Mukyuu

5.9168 Huy hiệu vàng38 Huy hiệu bạc56 Huy hiệu Đồng8 gold badges38 silver badges56 bronze badges

Đã trả lời ngày 28 tháng 11 năm 2012 lúc 18:45Nov 28, 2012 at 18:45

user1849393user1849393user1849393

2132 Huy hiệu bạc4 Huy hiệu đồng2 silver badges4 bronze badges

2

Dưới đây là ví dụ hoạt động: Nhận giá trị biến JavaScript trên cùng một trang trong PHP.



document.writeln(p1);";
?>

Đã trả lời ngày 25 tháng 7 năm 2014 lúc 7:25Jul 25, 2014 at 7:25

Arslan Tabassumarslan TabassumArslan Tabassum

8661 Huy hiệu vàng10 Huy hiệu bạc25 Huy hiệu đồng1 gold badge10 silver badges25 bronze badges

5

Khi trang của bạn lần đầu tiên tải mã PHP chạy đầu tiên và đặt bố cục hoàn chỉnh của trang web của bạn. Sau khi bố trí trang, nó đặt tải JavaScript lên. Bây giờ JavaScript trực tiếp tương tác với DOM và có thể thao tác bố cục nhưng PHP không thể cần phải làm mới trang. Chỉ có cách duy nhất là làm mới trang của bạn và truyền các tham số trong URL trang để bạn có thể lấy dữ liệu qua PHP. Vì vậy, chúng tôi sử dụng AJAX để tương tác với JavaScript với PHP mà không tải lại trang. Ajax cũng có thể được sử dụng như một API. Một điều nữa nếu bạn đã khai báo biến trong PHP. Trước khi tải trang thì bạn có thể sử dụng nó với ví dụ JavaScript của mình.


Mã trên là chính xác và nó sẽ hoạt động. Nhưng mã dưới đây là hoàn toàn sai và nó sẽ không bao giờ hoạt động.


  • Chuyển giá trị từ JavaScript sang PHP thông qua AJAX

    Đó là cách an toàn nhất để làm điều đó. Bởi vì nội dung HTML có thể được chỉnh sửa thông qua các công cụ phát triển và người dùng có thể thao tác dữ liệu. Vì vậy, tốt hơn là sử dụng Ajax nếu bạn muốn bảo mật hơn biến đó. Nếu bạn là người mới đến Ajax, vui lòng tìm hiểu Ajax, nó rất đơn giản.

Cách tốt nhất và an toàn nhất để chuyển biến JavaScript vào PHP là thông qua AJAX

Ví dụ Ajax đơn giản

var mydata = 55;
var myname = "syed ali";
var userdata = {'id':mydata,'name':myname};
    $.ajax({
            type: "POST",
            url: "YOUR PHP URL HERE",
            data:userdata, 
            success: function(data){
                console.log(data);
            }
            });
  • Truyền giá trị từ JavaScript sang PHP thông qua các trường ẩn.

Nếu không, bạn có thể tạo đầu vào HTML ẩn bên trong biểu mẫu của bạn. giống


Sau đó, thông qua JQuery hoặc JavaScript chuyển giá trị cho trường ẩn. giống



  
    My Test Form
  

  
    

Please, choose the salary id to proceed result:

'; echo '' ...; // and others echo ''; } ?>
', $row['salaried'], '', $row['bla-bla-bla'], '
0

Bây giờ khi bạn gửi biểu mẫu, bạn có thể nhận được giá trị trong PHP.

Đã trả lời ngày 12 tháng 7 năm 2019 lúc 9:41Jul 12, 2019 at 9:41

Sayed Mohd Alisayed Mohd AliSayed Mohd Ali

2.1113 huy hiệu vàng11 Huy hiệu bạc27 Huy hiệu đồng3 gold badges11 silver badges27 bronze badges

1

Đây là cách tôi đã làm điều đó (tôi cần phải chèn một múi giờ địa phương vào PHP:



  
    My Test Form
  

  
    

Please, choose the salary id to proceed result:

'; echo '' ...; // and others echo ''; } ?>
', $row['salaried'], '', $row['bla-bla-bla'], '
1

Đã trả lời ngày 17 tháng 6 năm 2014 lúc 15:54Jun 17, 2014 at 15:54

Tôi đã cố gắng tự mình tìm ra điều này và sau đó nhận ra rằng vấn đề là đây là một cách nhìn ngược về tình huống. Thay vì cố gắng chuyển mọi thứ từ JavaScript sang PHP, có lẽ tốt nhất là đi theo con đường khác, trong hầu hết các trường hợp. Mã PHP thực thi trên máy chủ và tạo mã HTML (và cũng có thể là tập lệnh Java). Sau đó, trình duyệt tải trang và thực thi tập lệnh HTML và Java.

Có vẻ như cách hợp lý để tiếp cận các tình huống như thế này là sử dụng PHP để tạo JavaScript và HTML bạn muốn và sau đó sử dụng JavaScript trong trang để làm bất cứ điều gì PHP không thể làm. Có vẻ như điều này sẽ mang lại cho bạn những lợi ích của cả PHP và JavaScript một cách khá đơn giản và thẳng thắn.

Một điều tôi đã làm mang lại sự xuất hiện của việc truyền mọi thứ cho PHP từ trang của bạn một cách nhanh chóng là sử dụng thẻ HTML Image để gọi mã PHP. Một cái gì đó như thế này:



  
    My Test Form
  

  
    

Please, choose the salary id to proceed result:

'; echo '' ...; // and others echo ''; } ?>
', $row['salaried'], '', $row['bla-bla-bla'], '
2

Mã PHP trong pic.php thực sự sẽ tạo mã HTML trước khi trang web của bạn thậm chí được tải, nhưng mã HTML về cơ bản được gọi là nhanh chóng. Mã PHP ở đây có thể được sử dụng để tạo một hình ảnh trên trang của bạn, nhưng nó có thể có bất kỳ lệnh nào bạn thích bên cạnh đó trong đó. Có thể nó thay đổi nội dung của một số tệp trên máy chủ của bạn, v.v. hình ảnh. Bạn cũng có tùy chọn chuyển các biến cho mã PHP thông qua các tham số trong URL. Bộ đếm trang sẽ sử dụng kỹ thuật này trong nhiều trường hợp.

MPLUNGJAN

159K27 Huy hiệu vàng167 Huy hiệu bạc225 Huy hiệu Đồng27 gold badges167 silver badges225 bronze badges

Đã trả lời ngày 3 tháng 6 năm 2012 lúc 15:47Jun 3, 2012 at 15:47

PHP chạy trên máy chủ trước khi trang được gửi cho người dùng, JavaScript được chạy trên máy tính của người dùng sau khi nhận được, do đó tập lệnh PHP đã được thực thi.

Nếu bạn muốn chuyển giá trị JavaScript cho tập lệnh PHP, bạn sẽ phải thực hiện XMLHTTPREQUEST để gửi dữ liệu trở lại máy chủ.

Đây là câu hỏi trước đây mà bạn có thể làm theo để biết thêm thông tin: Hướng dẫn Ajax

Bây giờ nếu bạn chỉ cần chuyển một giá trị biểu mẫu cho máy chủ, bạn cũng có thể thực hiện một bài đăng biểu mẫu bình thường, điều đó làm điều tương tự, nhưng toàn bộ trang phải được làm mới.



  
    My Test Form
  

  
    

Please, choose the salary id to proceed result:

'; echo '' ...; // and others echo ''; } ?>
', $row['salaried'], '', $row['bla-bla-bla'], '
3

Nhấp vào Gửi sẽ gửi trang và in ra dữ liệu đã gửi.

Đã trả lời ngày 16 tháng 12 năm 2009 lúc 20:50Dec 16, 2009 at 20:50

Elle Helle hElle H

11.4K7 Huy hiệu vàng36 Huy hiệu bạc42 Huy hiệu Đồng7 gold badges36 silver badges42 bronze badges

1

Chúng ta có thể dễ dàng chuyển các giá trị ngay cả trên các trang giống nhau/ khác nhau bằng cách sử dụng cookie được hiển thị trong mã như sau (trong trường hợp của tôi, tôi đang sử dụng nó với tích hợp Facebook) -



  
    My Test Form
  

  
    

Please, choose the salary id to proceed result:

'; echo '' ...; // and others echo ''; } ?>
', $row['salaried'], '', $row['bla-bla-bla'], '
4

Và tôi đã truy cập nó (trong bất kỳ tệp nào) bằng cách sử dụng -



  
    My Test Form
  

  
    

Please, choose the salary id to proceed result:

'; echo '' ...; // and others echo ''; } ?>
', $row['salaried'], '', $row['bla-bla-bla'], '
5

Đã trả lời ngày 28 tháng 2 năm 2016 lúc 16:00Feb 28, 2016 at 16:00

Tushar Walzadetushar WalzadeTushar Walzade

3.6014 Huy hiệu vàng32 Huy hiệu bạc52 Huy hiệu Đồng4 gold badges32 silver badges52 bronze badges

Mã của bạn có một vài điều sai với nó.

  • Bạn xác định hàm javascript, func_load3 (), nhưng không gọi nó.
  • Chức năng của bạn được xác định sai vị trí. Khi nó được xác định trong trang của bạn, các đối tượng HTML mà nó đề cập đến chưa được tải. Hầu hết các mã JavaScript kiểm tra xem tài liệu có được tải đầy đủ trước khi thực thi hay bạn chỉ có thể di chuyển mã của mình qua các yếu tố mà nó đề cập đến trong trang.
  • Hình thức của bạn không có cách nào để gửi nó. Nó cần một nút gửi.
  • Bạn không kiểm tra xem biểu mẫu của bạn đã được gửi.

Có thể đặt một biến JavaScript trong một biến ẩn trong một biểu mẫu, sau đó gửi nó và đọc lại giá trị trong PHP. Dưới đây là một ví dụ đơn giản cho thấy điều này:



  
    My Test Form
  

  
    

Please, choose the salary id to proceed result:

'; echo '' ...; // and others echo ''; } ?>
', $row['salaried'], '', $row['bla-bla-bla'], '
6

Đã trả lời ngày 22 tháng 7 năm 2014 lúc 12:48Jul 22, 2014 at 12:48

Bạn có thể sử dụng JQuery AJAX và Phương pháp POST:



  
    My Test Form
  

  
    

Please, choose the salary id to proceed result:

'; echo '' ...; // and others echo ''; } ?>
', $row['salaried'], '', $row['bla-bla-bla'], '
7

Để lấy lại phản hồi từ tập lệnh PHP, JSON phân tích lại phương thức respone trong phương thức

$(document).ready(function () {
  createCookie("height", $(window).height(), "10");
});

function createCookie(name, value, days) {
  var expires;
  if (days) {
    var date = new Date();
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
    expires = "; expires=" + date.toGMTString();
  }
  else {
    expires = "";
  }
  document.cookie = escape(name) + "=" + escape(value) + expires + "; path=/";
}
3. Đây là tập lệnh PHP bạn có thể sửa đổi theo nhu cầu của mình:



  
    My Test Form
  

  
    

Please, choose the salary id to proceed result:

'; echo '' ...; // and others echo ''; } ?>
', $row['salaried'], '', $row['bla-bla-bla'], '
8

Đã trả lời ngày 26 tháng 10 năm 2020 lúc 4:47Oct 26, 2020 at 4:47

Có phải chức năng của bạn, đặt giá trị biểu mẫu ẩn, được gọi là? Nó không có trong ví dụ này. Bạn sẽ không gặp vấn đề gì khi sửa đổi một giá trị ẩn trước khi đăng biểu mẫu trở lại máy chủ.

Đã trả lời ngày 16 tháng 12 năm 2009 lúc 20:53Dec 16, 2009 at 20:53

pestilence669pestilence669pestilence669

5.6081 Huy hiệu vàng22 Huy hiệu bạc34 Huy hiệu đồng1 gold badge22 silver badges34 bronze badges

4

Có thể bạn có thể sử dụng phương thức serialize () jQuery để mọi thứ sẽ diễn ra.



  
    My Test Form
  

  
    

Please, choose the salary id to proceed result:

'; echo '' ...; // and others echo ''; } ?>
', $row['salaried'], '', $row['bla-bla-bla'], '
9

// Bằng cách này, bạn cũng có thể nhận được giá trị ẩn trong phía máy chủ.

Đã trả lời ngày 31 tháng 3 năm 2016 lúc 17:57Mar 31, 2016 at 17:57

Giải pháp rõ ràng này đã không được đề cập trước đó. Bạn cũng có thể sử dụng cookie để chuyển dữ liệu từ trình duyệt trở lại máy chủ.

Chỉ cần đặt cookie với dữ liệu bạn muốn chuyển sang PHP bằng JavaScript trong trình duyệt.

Sau đó, chỉ cần đọc cookie này ở phía PHP.

Đã trả lời ngày 9 tháng 8 năm 2018 lúc 12:16Aug 9, 2018 at 12:16

1

Sử dụng dấu + để kết hợp biến JavaScript của bạn vào cuộc gọi chức năng PHP của bạn.

$(document).ready(function () {
  createCookie("height", $(window).height(), "10");
});

function createCookie(name, value, days) {
  var expires;
  if (days) {
    var date = new Date();
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
    expires = "; expires=" + date.toGMTString();
  }
  else {
    expires = "";
  }
  document.cookie = escape(name) + "=" + escape(value) + expires + "; path=/";
}
0

Lưu ý = dấu hiệu có hai lần.

Đã trả lời ngày 14 tháng 8 năm 2021 lúc 1:57Aug 14, 2021 at 1:57

2

Chúng tôi không thể truyền trực tiếp các giá trị biến JavaScript cho mã PHP ... Mã PHP chạy ở phía máy chủ và nó không biết gì về những gì đang diễn ra ở phía máy khách.

Vì vậy, tốt hơn là sử dụng AJAX để phân tích giá trị JavaScript vào mã PHP.

Hoặc thay vào đó, chúng tôi có thể thực hiện điều này với sự trợ giúp của cookie trong mã của chúng tôi.

Cảm ơn & chúc mừng.

Đã trả lời ngày 8 tháng 8 năm 2019 lúc 13:15Aug 8, 2019 at 13:15

Rohit Sainirohit SainiRohit Saini

5055 huy hiệu bạc11 huy hiệu đồng5 silver badges11 bronze badges

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

Cách để chuyển biến JavaScript sang PHP là thông qua yêu cầu. Loại URL này chỉ hiển thị nếu chúng ta sử dụng hành động Get, hành động bài đăng ẩn thông tin trong URL. Phía máy chủ (PHP): Trên trang PHP phía máy chủ, chúng tôi yêu cầu dữ liệu được gửi bởi biểu mẫu và hiển thị kết quả. $ result = $ _get ['dữ liệu'];through a request. This type of URL is only visible if we use the GET action, the POST action hides the information in the URL. Server Side(PHP): On the server side PHP page, we request for the data submitted by the form and display the result. $result = $_GET [ 'data' ];

Làm thế nào sử dụng biến JavaScript trên cùng một trang trong PHP?

Bạn có thể dễ dàng nhận được giá trị biến JavaScript trên cùng một trang trong PHP.Hãy thử codel sau.var res = "thành công"; php echo "