有没有一种方法可以通过按钮onclick来调用php函数?(无需将函数放入自己的文件(教师请求))

问题描述 投票:0回答:1

我正在做一个学校项目,该项目基本上是php中的网站,可以在我的数据库中创建产品。我唯一的问题是找到一种通过“ onclick”按钮执行php函数的方法。注意:对葡萄牙语变量名称感到抱歉(老师的其他要求)有代码:

<?php
function criarProduto($descricao,$preco){
    $connection = mysqli_connect("localhost", "root", "", "lojadb","3308");

    if(!$connection){
        die("ERROR: Could not connect. " . mysqli_connect_error());
        echo "<center><h1>Erro na conexão à base de dados</h1><center>";
    }

    $sql = "INSERT INTO produtos(descricao, preco) VALUES ('" . $descricao . "', " . $preco . ")";

    $results = mysqli_query($connection, $sql);

    if (mysqli_num_rows($results) > 0) {
        $row = mysqli_fetch_array($results);  
        $produto = new Produto($row);
    }
    else {
        echo "<center><h1>Erro na agregação de dados na base de dados</h1></center>";
    }

    mysqli_close($connection);
}
//meter a verificação de texto(se tem alguma coisa escrita)
echo "<center><h1>Criar produto</h1></center>";
echo "Descrição: <input type='text' name='descricao'>";
echo "<br>Preço: <input type='text' name='preco'>";
echo "<input type='button' value='Gravar'></input></center>";
?>
php html function button onclick
1个回答
0
投票

JavaScript无法直接运行PHP函数,您可以使用以下两种方法来调用PHP文件或PHP代码段:

[您有两个选择,您可以创建一个调用AJAX请求的onclick函数,该请求将运行一个PHP文件,也可以创建一个表单并完全跳过onclick。这是两个的演示:

AJAX方法:

$("button").click(function(){
  $.ajax({url: "myFunction.php", success: function(result){
    alert("Success")
  }});
});

Read about AJAX requests here

这里是表单方法:

<?php 

if(isset($_POST['submit'])) {
   // Do some code here, as the button was clicked
   // in this case we will run criarProduto()
   criarProduto();       
}

?>

<form action="" method="post">
    <input type="Submit" name="submit"></input>
</form>

注意,检测是否收到POST请求很重要,因为这是您区分发送的表单和普通用户加载页面的方式。还要注意,action =“”为空白,因为我们要运行它们当前所在的页面,如果要从另一个文件中获取PHP,则应在此处输入url路径。

[如果选择PHP方法,将重新加载页面,如果选择AJAX方法,则将在后台发出请求,并且不会重新加载页面,这两种方法都可以。

© www.soinside.com 2019 - 2024. All rights reserved.