2015-11-02 27 views
0

我有一個問題:有沒有辦法從同一個文件調用php查詢?在同一個文件上調用PHP

這裏是我的代碼:

<?php 
function aggiungiPagine(){ 

    global $conn; 

    header('Access-Control-Allow-Origin: *'); 

    $nomePagina = $_POST['nomePagina']; 
    $descrizionePagina = $_POST['descrizione']; 

    $comando = "select * from Pagine where Nome='$nomePagina'"; 

    $query = mysqli_query($conn, $comando); //trova tutti i risultati con quelle carateristiche 
    $raws = mysqli_num_rows($query); //individua il numero di record trovati ed inseriti nella matrice $query 

    if($raws == 0){ // controllo che non sia stato trovato l'utente 
     $comando = "INSERT INTO Pagine (ID_Pagina,Tipo,Nome,Descrizione,Contenuto) VALUES (NULL,'Principale','$nomePagina','$descrizionePagina','')"; 
     $result=mysqli_query($conn, $comando)or die(mysqli_error()); 
     $error ="pagina inserita"; 
    } 
    else{ 
     $error="Pagina con lo stesso nome gia trovata"; 
    } 
    mysqli_close($conn); //chiudo la connessione col db 
} ?> 

,並在同一個文件中的js腳本:

<script> 
$(document).on('click', "#btnAggPagPrinc", function(event) { 
    $.post(aggiungiPagine(), $("#aggPagPrinc :input").serializeArray(), function(info){ 
     tappoOverlay(); 
     caricaPagPrinc(); 
    }); 
}); 

使用jQuery發佈的數據。

對不起,我英文不好,我是意大利

+1

你真的不應該那樣做。在您使用的相同文件上使用AJAX功能可能會導致災難性結果,並且很難排除故障。 –

+0

*「對不起英語,我是意大利人」* - 沒有問題,io capito ;-) –

回答

0
  1. 更改jQuery的POST請求$.post('filename.php', data)。 AJAX請求僅調用URL請求。

  2. 隱藏在URL下的AJAX請求運行操作(在你的例子中它是filename.php)。所以如果你的php文件裏面有函數,你必須調用它的。

  3. 添加到PHP文件的末尾,您只需添加aggiungiPagine()即可調用函數。

提示:從Javascript代碼中分離PHP代碼。提示:如果您想要將數據從AJAX請求傳遞到Javascript代碼,您的php代碼必須返回一些數據(例如echoreturn)。

0

您可以使用ajax發佈內容。

<script> 
    $("#btnAggPagPrinc").on('click', function(event) { 
    var stuff = $("#aggPagPrinc :input").serializeArray(); 
    $.ajax({ 
     type: 'POST', 
     url: 'filename.php', 
     data: stuff 
    }); 
    }); 
</script> 

和您的PHP頁面(不管它是否是相同的頁面),請執行此操作。

if(isset($_POST) && !empty($_POST)){ 
    aggiungiPagine(); //call your function 
} 
相關問題