在按钮OnClick中运行php函数(不提交)


Run php function in button OnClick (not submit)

我想通过单击按钮对函数DeleteCus运行以下查询。我试着用下面的代码。但是它不起作用。

得到http://localhost/AdminLTE-2.1.1/CusRegReport.php?id=134运行notification.php后的url获取错误lin 67 中的未定义索引:id

<button type="button"  id = "button" class="btn btn-danger" data-dismiss="modal" onclick ="window.location.href = href='PHP/notification.php?hello=true'">
<?php

 if (isset($_GET['hello'])) {
DeleteCus();

}
session_start();
$dbc = mysqli_connect('localhost','root','','dashboard') or die(mysqli_connect_error(''));
function notification(){
    global $dbc;
    $query = "SELECT `customer_id`, `customer_name` FROM `customer` WHERE `confirmation`IS NULL LIMIT 0, 30 ";
    $result = mysqli_query($dbc,$query);        
    while($row=mysqli_fetch_array($result))
    {
        echo "<a href='CusRegReport.php?id=" . $row['customer_id'] . "'><i class='fa fa-users text-red'>&nbsp;&nbsp;" . $row['customer_name'] . "&nbsp;&nbsp; needs to register</i></a>";        
     $_SESSION["count"] =mysqli_num_rows($result);  
    }
}
function RegReport(){
    global $dbc; 

    $id = $_GET['id'];  
   // $id = $mysqli->real_escape_string ($id);   
    $sql = "SELECT * FROM `customer` WHERE `customer_id` = '$id'";
    $r = mysqli_query($dbc,$sql);
    while($line=mysqli_fetch_array($r))
    {
        $a= "<br/>" . $line['customer_name'] . "<br/>" . $line['ad_line_one'] .$line['ad_line_two'] .$line['ad_line_three'] .$line['web'] .$line['pub_pvt'] .$line['reg_no'] .$line['tax_no'] .$line['description'] .$line['attachments'] .$line['contact_name'] .$line['contact_salutation'] .$line['contact_designation'] .$line['contact_email'] .$line['contact_tp1'] .$line['contact_tp2'] .$line['md_fname'] .$line['md_lname'] .$line['md_email'] .$line['date']. "</a>";  
    }
}
function DeleteCus(){
global $dbc;   
$id =  $_GET['id'];
$sql = "DELETE FROM `customer` WHERE `customer`.`customer_id` = '$id'";
  $r = mysqli_query($dbc,$sql); 
}
?>

请将按钮代码替换为以下代码:

<button type="button"  id = "button" class="btn btn-danger" data-dismiss="modal" onclick ="window.location.href='PHP/notification.php?hello=true'" />

TRY按钮的此代码

<button type="button"  id = "button" class="btn btn-danger" data-dismiss="modal" onclick ="window.location.href ='PHP/notification.php?hello=true'">

从按钮单击事件窗口中删除多余的href。location.html='HP/notification.PHP?hello=真正的

试试这个:-

尝试

<button type="button"  id = "button" class="btn btn-danger" data-dismiss="modal" 
onclick="javascript:window.location.href='www.exampe.com/PHP/notification.php?hello=true&id=<?php echo $_GET['id'];?>'; return false;" >

也在您的功能中

function DeleteCus($dbc,$id){
 $dbc=$dbc; 
if(isset['$_GET['id'])){  
$id =  $_GET['id'];
$sql = "DELETE FROM `customer` WHERE `customer`.`customer_id` = '$id'";
  $r = mysqli_query($dbc,$sql); 
}
}

当你调用你的函数时,请将其更改为

if (isset($_GET['hello'])) {
DeleteCus($dbc,$id);

}

方法DeleteCus中有$id = $_GET['id'];,但您没有在按钮PHP/notification.PHP的链接中传递该参数?你好=真的。因此,它应该是<button type="button" id = "button" class="btn btn-danger" data-dismiss="modal" onclick ="window.location.href ='PHP/notification.php?hello=true&id=XXX'">。这就是为什么它在调用PHP方法

时返回未定义的索引id