2012-07-02 42 views
1

我是这种东西的小菜。我该如何使用php?=

但我一直在网站上逛逛,我看是善良的一致好评此

www.store.com/product.php?id=123 

这是真的很酷的网站。但我该怎么做?

进出口使用这样

www.store.com/product/product123.php 

的东西,如果你能告诉我怎么去做到这一点会被卡住真棒!

+0

你想重写你的网址?或想从网址获取参数? –

回答

1

你在看什么是$_GET论点。

在你的PHP代码,尝试写这样的事情:

$value = $_GET['foo'];

然后打开你的网页是这样的:

hello.php?foo=123

这将设置$value123

0

这些被称为URL参数(它们包含的内容称为查询字符串),它们不是PHP唯一的,但可以使用$_GET superglobal在PHP中访问。

同样,您可以使用超全局的$_POST获取POST参数,尽管在POST请求中为these parameters are not appended to the URL

注意:一般来说,出于可用性目的(因此也是SEO目的),您希望尽可能避免使用查询字符串。现在,标准做法是使用URL重写来向用户显示友好的URL。所以,你的应用程序可能会接受像一个网址:

/products.php?id=32 

但用户只能看到:

/product/32 

您可以通过使用mod_rewrite或类似URL重写功能开启友好的URL进入前查询做到这一点字符串URL,而不需要用户键入查询字符串。

1

您需要在这里使用$_GET

如果您使用以下命令:

?id=123 

那么这将是如何使用它,结果

$_GET['id'] (returns the 123) 

根据您的需要,例如,你可以使用尽可能多的$_GET参数:

?id=123&foo=bar&type=product 

$_GET是一个数组中的参数url,所以你可以像数组一样使用它。

0

创建一个与此代码调用product.php文件:

<?php 
echo "The argument you passed was: " . $_GET['id']; 
?> 

现在在浏览器中运行这个网址:

http://<yourdomain>/product.php?id=123 

,你会明白如何$ _GET作品。

+0

我会建议使用'

'。这也将允许用户尝试通过GET参数将数组传递给PHP,这是非标准的。 –

+0

好的,我现在明白了,谢谢。但是,如何在输入时将它们带到product123页面?id = 123 in? – jaco6

+0

@ user1495292:你确定这是你想要做的吗?如果是的话,你可以这样做:'if($ _ GET ['id'] == 123)header(“Location:path/to/product123.php”);'注意你可以标记一个答案,认为答案就够了。 – Rox

0

你可能想看看在www.php.net的文件,尤其是这些页面:http://www.php.net/manual/en/reserved.variables.php

具体来说,看看$ _GET$ _POST,这是两个经常使用了从浏览器向服务器传输信息的方式。 (简而言之,GET参数是在URL中指定的,就像在你的问题中一样,而POST参数是“隐藏的”视图,但可以包含更多的数据 - 通常是表单等的内容,比如你发布你的问题的文本框在)。