gpt4 book ai didi

php - 调用与 javascript 函数位于不同文件中的 php 函数来从数据库检索数据

转载 作者:行者123 更新时间:2023-12-02 20:31:20 26 4
gpt4 key购买 nike

如何调用与 JavaScript 函数位于不同文件中的 PHP 函数?

我有一个 JavaScript 函数,它从 onClick 函数接收变量。该变量是一个 id,我将使用它从 MySQL 数据库检索数据。然后将该变量传递给 PHP 函数,该函数将访问数据库以获取数据并返回到我的 JS 函数进行显示,但它似乎不起作用。我怎样才能让它发挥作用?我正在使用 CodeIgniter PHP。

这是我的代码:

JavaScript 位于名为 divUpdate.php 的不同文件中

<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>

<script type="text/javascript">
base_url = '<?= base_url();?>index.php/';
</script>
<script type="text/javascript">
function changeDiv(venueID){
//document.getElementById('venue_description').innerHTML=venueID;
$.get(base_url+'home/get_venue_description/' + venueID,
function(data) {
$('venue_description').html(data);
});
}
</script>

onClick 函数调用上面的 JavaScript 的地方:

<li><a href="#self" class="menulink" class=&{ns4class};
onClick="changeDiv(\''. $venue_details->VenueID . '\')">;

下面的函数是从 divUpdate.php 中的 JavaScript 调用的。下面的函数也在模型中 - venue_model.php

function retrieveData($venueID){
$query = $this->db->query("SELECT * FROM venue WHERE VenueID = '$venueID' ");
return $query;
}

然后,在 Controller home.php 中,我有一个 JavaScript 使用的函数来传递 id,然后模型将使用该 id 从数据库检索数据

function get_venue_description($venueID){
echo $this->venue_model->retrieveData($venueID);
}

由于某种原因,JavaScript divUpdater.php 中的代码无法工作。它看起来正确但不起作用。

最佳答案

基本上,在你的 Javascript 中,你应该这样做

http://www.mywebsite.com/foo.php?venueID=123

或者框架中的表单,例如

http://www.mywebsite.com/controller/action/123

您可以在 Firefox 中使用 Firebug 执行 console.log(base_url) 因为它看起来像

    base_url = '<?= base_url();?>index.php/';
$.get(base_url+'home/get_venue_description/' + venueID,

您的网址类似于:

http://www.mysite.com/index.php/home/get_venue_description/123

并在您的 PHP 文件中执行

$venueID = $_GET['venueID'];
if (preg_match('/^\d+$/', $venueID) {
$query = $this->db->query("SELECT * FROM venue WHERE VenueID = '$venueID' ");
}

preg_match() 的意思是,如果$venueID 只包含数字而没有其他内容。这是为了防止 SQL 注入(inject),即有人发送一些字符串来让您的查询执行您不希望执行的操作。

此外,请在 PHP 文件中执行一些 print_r()var_dump() 操作,以便确保从浏览器获取的内容是正确的。

关于php - 调用与 javascript 函数位于不同文件中的 php 函数来从数据库检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4066432/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com