Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.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/3/html/78.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
PHP文件中的AJAX_Php_Html_Ajax - Fatal编程技术网

PHP文件中的AJAX

PHP文件中的AJAX,php,html,ajax,Php,Html,Ajax,第一个问题是如何使用这个网站,所以如果我没有遵守书中的每一条规则,请原谅我 我来自C++背景,在PHP/AJAX方面没有太多的经验,所以我知道我可能用一种次优/不适当的方式来处理一些不同的编码任务,用不同的语言编写代码,但是无论如何…… 我有一个使用PHP编写的成员登录系统(连接到mysql数据库)的网站,该网站使用.PHP文件编写,以适应该登录系统 我想在我的.php页面上使用AJAX和JS,使它们具有更好的用户体验,我知道这是可能的(正如我所做的),但我想知道是否有任何负面/技术原因不应该这

第一个问题是如何使用这个网站,所以如果我没有遵守书中的每一条规则,请原谅我

我来自C++背景,在PHP/AJAX方面没有太多的经验,所以我知道我可能用一种次优/不适当的方式来处理一些不同的编码任务,用不同的语言编写代码,但是无论如何…… 我有一个使用PHP编写的成员登录系统(连接到mysql数据库)的网站,该网站使用.PHP文件编写,以适应该登录系统

我想在我的.php页面上使用AJAX和JS,使它们具有更好的用户体验,我知道这是可能的(正如我所做的),但我想知道是否有任何负面/技术原因不应该这样做(以及是否有更好的方法),因为php是服务器端,AJAX是客户端

如有任何建议,将不胜感激

谢谢

编辑 我添加了一些代码来显示我想添加到php站点的内容类型

<?php
require "class.loginsys.php";
$LS = new LoginSystem();
$LS->init();
?>

<!-- HTML page structure -->

<!DOCTYPE html>
<html>
    <head>
        <title>OnyxProjectsPage</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
        <script type = "text/javascript">
        function createTable()
        {
            var xhr;
            if (window.XMLHttpRequest) // Mozilla, Safari, ...
            { 
                xhr = new XMLHttpRequest(); 
            }   
            else if (window.ActiveXObject) // IE 8 and older
            { 
                xhr = new ActiveXObject("Microsoft.XMLHTTP");
            }   

            xhr.open("GET", "createDatabase.php"); 
            //xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");  
            xhr.send();

            xhr.onreadystatechange = display_data;
            function display_data() 
            {
                if (xhr.readyState == 4) 
                {
                    if (xhr.status == 200) 
                    {  
                        alert("Table Created");
                    } 
                    else 
                    {
                        alert('There was a problem with the request.');
                    }
                }
            }
        }
        </script>

    </head>

    <body>
        <!-- Header background bar -->
        <div id="container" style="width: 1920px">
        <div id="header" style="background-color:#4c4c4c;">

        <form class="well-home span6 form-horizontal" name="ajax-demo" id="ajax-demo">
            <div class="controls">
                <button type="button" onclick="createTable()">Create Testplan</button>

            </div>
        </form>
    </body>
</html>

OnyxProjectsPage
函数createTable()
{
var-xhr;
if(window.XMLHttpRequest)//Mozilla、Safari。。。
{ 
xhr=newXMLHttpRequest();
}   
else if(window.ActiveXObject)//IE 8及更早版本
{ 
xhr=新的ActiveXObject(“Microsoft.XMLHTTP”);
}   
open(“GET”,“createDatabase.php”);
//setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);
xhr.send();
xhr.onreadystatechange=显示数据;
函数显示_数据()
{
if(xhr.readyState==4)
{
如果(xhr.status==200)
{  
警报(“创建的表格”);
} 
其他的
{
警报(“请求有问题”);
}
}
}
}
创建测试计划

使用
AJAX
/
JavaScript
并不比普通的
PHP
更危险。您可以争辩说,人们可以禁用JavaScript,因此无法执行您的预期结果

通常,正如您所提到的,使用AJAX将满足用户体验,因为他们不必每次发送请求时都重新加载页面

在我看来,最好的解决办法是:

检查用户是否在其浏览器中启用了Javascript(关键字:
noscript
)。如果是这样,您可以使用像
jQuery
这样的框架。使用此功能,您可以利用内置ajax功能(请看一看)。否则,为每位访客准备一个备用/故障保护模式

LT;博士


把它们混合在一起。在任何情况下,在将数据插入数据库(或与这类内容相关的所有内容)之前,在服务器端检查并验证,即使您已经在客户端检查了数据

就我个人而言,我更喜欢两者的结合,但与达夫提供的示例不同

我会编写您的PHP/HTML登录页面,当用户尝试登录时,它会通过ajax请求运行您的PHP脚本。如果PHP脚本返回success,那么ajax可以成功重定向用户

这样做的好处是,您可以在不离开页面的情况下处理空字段/无效登录。如果只使用PHP,则必须将用户重定向到脚本,然后在出现错误时重定向回脚本


然后您必须思考,如果我将用户重定向回登录页面,我如何告诉用户出现错误?

Ajax/JS是客户端代码。PHP是服务器端代码。你的问题到底是什么?比如:你试过什么,什么不管用PHP和Ajax没有任何共同点。您还可以使用C++代替PHP,仍然使用Ajax。“Ajax”是一种来自Javascript的技术,它在浏览器中执行,而PHP在服务器上执行?Ajax和PHP是完全不同的东西,也许我还不够具体——我添加了一些基本代码,展示了一个PHP网页示例,页面上使用了Ajax。我的问题是这样做可以吗?这种问题几乎没有正确的答案。“ok to do”意味着什么?安全表演整洁的代码?这取决于许多因素。如果这对你有效,我想这是“可以做的”。作为开发人员,我们都知道,从来没有正确的方法,有几种方法:)“检查是否启用了Javascript,使用ajax进行操作。”这可能会引起混乱。