Javascript将选项传递给变量并使用php保存到txt文件

Posted

技术标签:

【中文标题】Javascript将选项传递给变量并使用php保存到txt文件【英文标题】:Javascript pass option to variable and save to txt file with php 【发布时间】:2014-07-01 18:54:23 【问题描述】:

我们正在这方面取得进展,我非常感谢您的帮助。

我有一个页面,您可以在其中从几个不同的背景图像选项中进行选择。当您单击一个选项时,它会实时更新背景(这很好),但我现在想要做的是能够-保存-您单击的选项,以便在您关闭浏览器后访问页面时它就在那里。

我不能使用数据库(它在工作),所以我正在尝试将您选择的选项保存到本地文本文件中,当您访问该站点时可以加载该文件。这是以最纯粹的形式驱动选项的代码:

var $bg = new Array(); // don't change this
var $choice = "";

$bg[0] = "";
$bg[1] = "images/bg3.png";
$bg[2] = "images/bgStyle_cheetah.png";

function changeBGImage(img) 
if (document.body) 
document.body.style.backgroundImage = "url("+$bg[img]+")"; 


</script>
</head>

<body>
<A href="javascript:changeBGImage(0)">1</A>
<A href="javascript:changeBGImage(1)">2</A>
<A href="javascript:changeBGImage(2)">3</A>
</body>

我该如何设计这个,以便在提交页面时保存选择以及如何重新加载这些设置?我知道我需要某种提交按钮,但它应该是 type=button 还是 type=submit 还是什么?感谢您的帮助!

【问题讨论】:

只是好奇,您有什么理由不为此使用 cookie 吗? 好吧,显然我不知道该怎么做...我正在尝试根据我所知道的逻辑解决这个问题,因此我们不胜感激。 如果您想使用提交按钮,将其保存到通常使用input type="submit" 链接的表单。但是,由于您想为本地用户加载,因此您确实应该使用 cookie/localstorage,因为 javascript/php 通常无法从用户的计算机上读取文件 我明白了,那么我应该搜索什么来将 cookie/localStorage 的使用合并到我已有的代码中? 【参考方案1】:

一个选项正在处理 Ajax 请求。例如Microajax library

例子:

Javascript:

function changeBGImage(img) 
    if(document.body)
        microAjax("script.php?image_id="+img, function (res) 
            document.body.style.backgroundImage = "url("+$bg[img]+")";
        );
    

script.php

<?php
    $image_id = $_GET['image_id'];
    $file = "my_image_option.txt";
    file_put_contents($file, $image_id);
?>

【讨论】:

以上是关于Javascript将选项传递给变量并使用php保存到txt文件的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 使用 AJAX 将 Javascript 变量传递给 PHP 并检索那些

将 PHP 变量传递给 Javascript

使用 xmlhttprequest 将 javascript 变量传递给 PHP

如何从 Blade 格式 HTML 将 PHP 变量传递给 JavaScript 函数

如何使用 Javascript 和 Ajax 将 HTML 单选按钮值传递给 PHP 变量?

如何使用 POST 方法将 javascript/jQuery 变量传递给 PHP [重复]