-3

我正在尝试将 jquery 与一个简单的 php 代码一起使用:

$('#some').click(function() {
    <?php
    require_once('some1.php?name="some' + index + '"');
    ?>
});

它没有显示错误,所以我不知道出了什么问题。

在 some1 我有:

<?php
    //Start session
    session_start();

    //Include database connection details
    require_once('../sql/config.php');

    //Connect to mysql server
    $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
    if(!$link) {
        die('Failed to connect to server: ' . mysql_error());
    }

    //Select database
    $db = mysql_select_db(DB_DATABASE);
    if(!$db) {
        die("Unable to select database");
    }

    //Function to sanitize values received from the form. Prevents SQL injection
    function clean($str) {
        $str = @trim($str);
        if(get_magic_quotes_gpc()) {
            $str = stripslashes($str);
        }
        return mysql_real_escape_string($str);
    }

    //Sanitize the POST values
    $name = clean($_GET['name']);
?>

它不完整,因为我想做一个 sql 命令(插入)。

我希望当我单击#some 来执行该文件时(在尚未定义的表中创建一个条目)。

4

2 回答 2

1

您使用的功能require_once()不正确。它需要一个文件,而不是 URL。因此?name=...,您传递给它的 URL 参数不会做任何事情(并且可能会破坏整个语句)。

作为一个 PHP 函数,它是在服务器端处理的。因此,如果该index变量来自 JavaScript 代码,那么它根本不会被服务器端知道。因此,无论你试图包含什么,无论它服务于什么目的,都需要以不同的方式完成。

于 2012-04-13T23:25:55.360 回答
0

我认为您需要在这里做的是向您的页面发出 ajax 请求,如下所示:

 $('#some').click(function() {
    $.ajax({
      url: 'some1.php?var=' + index,
      success: function(data) {
        alert('success.');
      }
    });
  });
于 2012-04-13T23:30:45.293 回答