【问题标题】:Call a PHP on the same file在同一个文件上调用 PHP
【发布时间】:2015-11-02 22:05:56
【问题描述】:

我有一个问题:有没有办法从同一个文件中调用 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 发布数据。

抱歉英语不好,我是意大利人

【问题讨论】:

  • 你真的不应该那样做。在您正在处理的同一文件上使用 AJAX 函数可能会导致灾难性的结果,并且难以排除故障。
  • “抱歉英语不好,我是意大利人” - 没问题,io capito ;-)

标签: javascript php jquery file


【解决方案1】:
  1. 将 jQuery POST 请求更改为 $.post('filename.php', data)。 AJAX 请求仅调用 URL 请求。

  2. 隐藏在 URL 下的 AJAX 请求运行操作(在您的示例中为 filename.php)。所以如果你的php文件里面有函数,你必须调用它。

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

提示:将 PHP 代码与 Javascript 代码分开。

提示:如果您想将 AJAX 请求中的数据传递给 Javascript 代码,您的 php 代码必须返回一些数据(例如 echoreturn)。

【讨论】:

    【解决方案2】:

    您可以使用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
    }
    

    【讨论】:

      猜你喜欢
      • 2014-08-03
      • 2014-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多