【问题标题】:PHP/ASP Trouble understanding [closed]PHP/ASP 问题理解 [关闭]
【发布时间】:2015-11-23 18:55:31
【问题描述】:

我来自 .Net 背景,我正在尝试熟悉 PHP。 到目前为止,还没有那么有趣。

我不明白的是这些语言对多个页面的痴迷,大量使用 JQuery 的 AJAX 调用。

但也许我做错了什么?

我正在尝试制作一个在 ASP 中可能看起来像这样的简单登录页面

<body runat="server">
    <div id="form-container runat="server">
    <form id="form1" runat="server">

        <asp:Label ID="usernameLabel" runat="server"  Text="Username:"></asp:Label>
        <asp:TextBox ID="username" Text="" runat="server" />

        <asp:Label ID="passwordLabel" runat="server"  Text="Password:"></asp:Label>
        <asp:TextBox ID="password" Text="" runat="server" />

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

然后,在我的后台我可以引用 ASP 元素,几乎就像通过调用这样的东西从 css 文件访问 html...

if(String.IsNullOrEmpty(username.Text)){
//do something
}
else if(String.IsNullOrEmpty(password.Text){
//do something 
}
else{
// attempt login
}

但是在 PHP 中,我看到的指南告诉我创建独立的 php 页面,并使用 Jquery 与该服务器端代码进行交互。所以我必须构建大量代码才能复制上面的登录。

我做错了什么,或者这只是php和asp之间的区别? 或者换句话说,我如何将我的 php 函数嵌入到我的网页中,并像使用 asp 一样与 php 元素进行交互?

一如既往,谢谢。

【问题讨论】:

  • 不太清楚你在问什么。 jQuery 和 AJAX 与 PHP 本身无关;您可以轻松地使用它们,也可以不使用 ASP.NET。
  • @EdCottrell 好吧,我看到的所有指南似乎都使用 Jquery/Ajax 来使用 PHP。我怎么可能不使用 JQuery/Ajax 并使用 PHP 生成类似的结构?抱歉,如果这不代表我最初的问题。
  • 使用 HTML 表单并提交到 PHP 页面。命名元素可以通过$_POST$_GET 访问,具体取决于使用的方法......或者我在重新查看后误读了它......
  • @Christopher 我不知道您在看什么指南,但同样,jQuery 和 AJAX 与 PHP 无关。 jQuery 是一个 JavaScript 库。 AJAX 是一种 JavaScript 技术,用于在客户端与服务器之间进行通信并再次返回,而无需导航到新页面。您可以像在 ASP.NET 中一样在 PHP 中处理 POST 数据;你不必使用 jQuery。听起来您需要在 PHP 中搜索基本的表单处理教程;无论你在看什么都不是我所说的“基本”。

标签: php jquery asp.net


【解决方案1】:

在 PHP 中,您没有 ASP.Net 中的代码隐藏概念。 PHP 在 HTML 页面本身上使用服务器标签。另外 PHP 没有像 ASP.Net 这样的服务器控件,只需使用 HTML 控件。

就像在 ASP.Net 中一样,您不需要 Ajax 或 jQuery 来实现您正在谈论的登录页面。您没有放太多代码,但这里是您的代码到 PHP 的快速翻译:

<body>
    <div id="form-container>
    <form id="form1" action="">
        <span id="usernameLabel">Username:</span>
        <input type="text" id="username" />
        <span id="passwordLabel">Password:</span>
        <input type="text" id="password" />
    </form>
    </div>
<?php
    if($_POST["username"]) != null && $_POST["username"]) != ""){
        //do something
    }
    else if($_POST["password"]) != null && $_POST["password"]) != ""){
        //do something 
    }
    else{
        // attempt login
    }
?>
</body>

【讨论】:

  • 这是一个很好的解释,尽管您可以将if(blah != null &amp;&amp; blah != "") 条件简化为if(!empty(blah))
  • 谢谢,这就是我或多或少想要的。这比我在 Google 上找到的文章更有帮助。
  • 实际上,这仍然不是我真正想要的...看到为了发布,你必须默认重定向。为了在不重定向到新页面的情况下发布,您必须使用 AJAX。请参阅:stackoverflow.com/questions/6806028/… .... 在 ASP 中,这不是必需的。我不必重定向来让我的 C# 函数做某事。
  • 其实你错了。在 ASP.Net 中是完全一样的。如果不提交表单(即重定向),您将无法发布。 ASP.Net 会自动为您完成。检查任何 ASP.Net 页面的 HTML 源代码,您将看到提交页面的 JavaScript 代码。在 PHP 和 ASP.Net 中,如果您不想重新加载整个页面,则需要使用 Ajax。没有区别,因为两者都基于作为基础的 HTML。微软只是自动化了很多东西,所以 ASP.Net 开发人员不知道幕后发生了什么。
  • @RacilHilan 好的,我相信你。只是我宁愿不费心编写大量代码来让一个非常非常小的项目工作。我认为我为我的项目选择了错误的技术。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-26
  • 2015-04-10
  • 2018-10-08
  • 1970-01-01
相关资源
最近更新 更多