0

我尝试使用 jquery 和 ajax 将变量发送到 php 脚本。然后我想在创建文件名时使用该变量,但它失败了。文件名始终为“0”并且不在目录“redirect”中。

这是代码:

阿贾克斯:

    var pageName=$('#movie').val();

    $.ajax({
        type: "POST",
        url: "phpstuff.php",
        data: { pageName: 'pageName'},
        cache: false,
        success: function()
            {
                alert(pageName);
            }
    });

“pageName”变量从 id 为“movie”的输入框中获取值

php文件

function createPage ($newPage){

$file=fopen("redirect/"+$newPage+".php","w") or exit("Fail to create the page");
$data = "some text I want to be in a file";
fwrite ($file, $data);
fclose($file);
}

$newPage = $_POST["pageName"];
createPage($newPage);

我已经在网上搜索了几个小时,但仍然无法解决问题。

4

3 回答 3

4

线

data: { pageName: 'pageName'},

应该

data: { pageName: pageName},

print_r( $_POST["pageName"] ) 将向您显示正在传递的内容,在第一个版本中 $_POST["pageName"] is 'pageName'

你也可以使用

data: 'pageName='+pageName,

http://api.jquery.com/jQuery.ajax/上对 data 参数的描述不是很清楚,因为它谈论 GET 而没有提到 POST。

于 2012-11-01T14:25:17.443 回答
3

字符串连接应该使用.

"redirect/" . $newPage . ".php"
于 2012-11-01T14:16:42.437 回答
1

尝试更改此行:

$file=fopen("redirect/"+$newPage+".php","w") or exit("Fail to create the page");

$file=fopen("redirect/".$newPage.".php","w") or exit("Fail to create the page");

注意从+到的变化.。在 PHP+中用于添加,.用于字符串连接。

于 2012-11-01T14:17:50.980 回答