Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从javascript获取变量并在php中使用_Javascript_Php_Html - Fatal编程技术网

从javascript获取变量并在php中使用

从javascript获取变量并在php中使用,javascript,php,html,Javascript,Php,Html,我希望当用户单击一个图像时,会出现一个弹出窗口,要求用户输入一个名称,在这种情况下,我希望在目录中创建一个文件夹,因此用户必须输入要创建的新文件夹的名称 现在要创建弹出窗口,我需要使用javascript,要创建文件夹,我需要使用PHP(服务器端)。我正在使用以下代码: 当用户单击图像时: <div> <a id="myLink" onclick="MyFunction();"> <img src="images/create_folder.pn

我希望当用户单击一个图像时,会出现一个弹出窗口,要求用户输入一个名称,在这种情况下,我希望在目录中创建一个文件夹,因此用户必须输入要创建的新文件夹的名称

现在要创建弹出窗口,我需要使用javascript,要创建文件夹,我需要使用PHP(服务器端)。我正在使用以下代码:

当用户单击图像时:

<div>
    <a id="myLink" onclick="MyFunction();">
      <img src="images/create_folder.png" width="60px" alt="create folder"/>
    </a>
</div>

我用于执行此操作的代码:

<script>
    function MyFunction(){
    var foldername = prompt('Enter Folder Name');

        <?php
          $foldername = $_GET['foldername'];
          mkdir('users_page/folders/', true);
        ?>
    }
</script>

函数MyFunction(){
var foldername=prompt('Enter foldername');
}
但是,当我单击“确定”按钮时,显示的弹出窗口显示文件夹未被创建

谁能帮忙吗


谢谢

PHP代码在加载页面之前运行,这意味着它在javascript之前运行。为了通过javascript执行PHP代码,您需要实现一个请求。

查看我对这个问题的回答:


这是一个关于如何使用Jquery和PHP处理Ajax请求的注释示例。作为一个起点,您可能会发现它很有帮助。

这是了解php代码如何与javascript一起工作的一个很好的实践。确切地说,就是服务器和客户机的工作方式

首先,创建一个名为CreateFolder.php的新文件,并将其放在javascript文件的同一目录中,然后编写以下代码

<?php
    $foldername = $_POST['foldername'];
    mkdir('users_page/folders/matthewborgcarr/'.$foldername, true);
    echo 'the folder name is:' .$foldername;     // add this line
?>

然后,在javascript上,删除所有php代码并添加ajax函数

<script>
    function MyFunction(){
    var foldername = prompt('Enter Folder Name');

    $.ajax({
        type: "POST",
        url: 'CreateFolder.php',
        data: {foldername: foldername},
        success: function (dataCheck) {
            alert(dataCheck);      // foldername is returned on alert.
        }
    });
}
</script>

函数MyFunction(){
var foldername=prompt('Enter foldername');
$.ajax({
类型:“POST”,
url:'CreateFolder.php',
数据:{foldername:foldername},
成功:功能(数据检查){
警报(dataCheck);//在警报时返回foldername。
}
});
}

谢谢您的回复。我试过这个,但它不起作用。我对Ajax不太在行,你能给我进一步的信息吗。谢谢。你能不能更详细地说明你不工作。您的意思是没有创建新文件夹。最好通过cat/var/log/apache2/error.log向我显示apache日志。是的,没有创建新文件夹。提示正在工作,但当我在输入文件夹名称后单击“确定”时,不会创建文件夹。很明显,php文件和javascript之间没有连接。变量foldername未传递。1。检查权限(php脚本是否可以创建文件夹?)。2.php脚本和javascript是否在同一个域上运行(dev.myfancy-app.com)?否则,您必须执行“跨域请求”,在这种情况下是否可以使用cookie。如果是,这是一种良好的做法吗?如何做到这一点?我认为cookie在这种情况下不起作用,因为您希望避免额外的请求,并且需要另一个请求才能访问PHP AFAIK中的cookie内容。这很不寻常/有黑客味……我理解。。。那么,还有其他方法可以做到这一点吗?我认为你按照edisonthk的指示走上了一条很好的道路。