【问题标题】:PHP: Sending a request and getting a responsePHP:发送请求并获得响应
【发布时间】:2014-11-17 13:06:23
【问题描述】:

我来自 ASP.NET MVC 背景,这是我第一次尝试用 PHP 编写东西。 在 ASP.NET MVC 中,我们可以为我们的数据开发模型,并使用我们编写的操作来获取它们或将它们发送到另一个操作。我的意思是

public ActionResult Login_Action(LoginModel _Model) {
    // Authenticating the user
    return RedirectToAction(X);
}

当调用它时,地址栏中显示的 url(如果使用 GET,如果是 POST,则页面名称后不会显示任何内容)将为:

www.WebsiteX.com/Login?Username=something&Password=something

问题是我什至不知道如何在谷歌中搜索这个(比如通过输入确切的内容),因为在微软方面,这些都是按照我描述的方式自动处理的。 但是在 PHP 的情况下,我怎样才能得到地址栏中的值呢?我是否必须获取实际地址,然后将值分解为数组?

如果有任何帮助,我将不胜感激。

【问题讨论】:

  • 你只需使用$_GET['the variable']
  • 更改Login?Username=something?Password=something -> Login?Username=something&Password=something
  • 那里也有一些完美的 PHP MVC 框架。考虑使用 Symfony。 MVC 模型会让人感觉很熟悉。
  • 你应该从the manual开始。

标签: php


【解决方案1】:

首先,这对我来说似乎无效:www.WebsiteX.com/Login?Username=something?Password=something 第一个参数需要为?,其他参数应为&

第二:您可以通过访问$_GET 全局数组来获取您的参数值。

例如。对于用户名echo $_GET["Username"];

【讨论】:

  • ? 是错字,抱歉,非常感谢您提供清晰的回答
  • @JAX 因为您是 PHP 新手,所以它不会自动为您转义输出,以便在 HTML 中使用它是安全的......在这种情况下,echo htmlspecialchars($_GET['Username'], ENT_QUOTES, 'UTF-8') 将是迂腐的方式防止 XSS。
【解决方案2】:

你在使用任何框架吗?你应该。然后,该框架将为您提供执行此操作的方法。在 ASP.NET 中,您使用框架,所以在 PHP 中也是如此。

使用 vanille PHP,您可以使用 $_GET['Username'] 获取 GET 值。但是,请使用框架。

我认为现在最流行的是 Laravel 和 Symfony。

示例: 在 laravel 中,您可以将参数绑定到变量,这样您就可以执行以下操作:

//Url: mywebsite.com/user/1/
Route::get('user/{id}', function($id)
{
    return 'User '.$id;
});

这与 ASP.NET 示例类似。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-13
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多