【问题标题】:Save UserNames from HTML input, using JavaScript function to server in XML or TXT files使用 JavaScript 函数将用户名从 HTML 输入中保存到 XML 或 TXT 文件中的服务器
【发布时间】:2015-01-05 09:26:06
【问题描述】:

我花了很多时间在谷歌上搜索这方面的信息,但我能找到的只是代码示例和解释的单独和平......我的编程技术技能非常低,所以我问,有人可以像ABC一样一步一步地指导我,我必须做什么。所以这是我的情况: 我正在使用 JS 和 CSS 在 HTML 中创建一个简单的游戏。您所要做的就是找出两个图像之间的 6 个差异。在该父窗口的 div 中有 Index.html(如父窗口)和 JS 函数更改图像。有一些音频,一些带有画布元素的动画......一切都与 FireFox 完美配合。现在我要做的就是保存 用户名和他们的时间发现所有差异需要多长时间, server 然后,当游戏结束时,在父窗口的 div 中显示所有数据。用户名以 HTML input 开头进入游戏,我将该数据保存在 Main.js ParentObject.UserName 中。我有JS函数

 GameOver(ParentObject.UserName, ParentObject.StartTime)

我想在触发此功能时将数据保存在服务器上。我应该使用什么,如何做到这一点.. 这是很简单的数据保存,但我被卡住了......我尝试了一些 php 代码,但我做错了......

function GameOver(UserName, StartTime){
    var FinishTime = new Date();
    var Time = (FinishTime - StartTime);
    if (UserName == "" || UserName == " "){
        UserName = "Player";
    }
    alert("Game over\n"+ UserName+", your time is: "+millisToMinutesAndSeconds(Time));

    document.getElementById("Container").scrolling= "yes";
    SaveUserName(UserName);
}

function SaveUserName(Name){
    try{    
        if (window.XMLHttpRequest) {
            // code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        } else { // code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange=function() {
            if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                alert(xmlhttp.responseText);
            }
        }
        xmlhttp.open("POST","SaveData.php?q="+Name,true);
        xmlhttp.send();

        //xmlhttp.open("GET","newfile.txt",false);
        //xmlhttp.send();
        //document.getElementById("DivContainer").innerHTML=xmlhttp.responseText;
    }catch(e){
        alert(e);
    }
}

PHP 文件 SaveData.php 代码只是为了看看它是否工作(但它不是):

<?php
header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='UTF-8'?>";
echo "<note>";
echo "<from>Jani</from>";
echo "<to>Tove</to>";
echo "<message>Remember me this weekend</message>";
echo "</note>";
?> 

【问题讨论】:

    标签: javascript php html server


    【解决方案1】:

    取消注释代码

    xmlhttp.open("POST","SaveData.php?q="+Name,true);
    xmlhttp.send();
    

    SaveData.php(删除所有当前代码并使用下面的代码)

    <?php
    
    if(isset($_POST['q']))
      echo $_POST['q'];
     else
      echo "Not posted";
    ?> 
    

    然后检查输出

    【讨论】:

    • 检查输出我可以用这个吗? document.getElementById("DivContainer").innerHTML=xmlhttp.responseText;这个 php 代码在哪里保存所有数据?我可以显示像 User.xml 这样的特定文件吗?
    • 不,这只是为了打印数据(用户名)。要保存这些数据,您可以使用数据库、文件等。上面的代码只是表明您已成功到达服务器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-26
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多