Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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 $get从url获取多个变量_Php_Get - Fatal编程技术网

Php $get从url获取多个变量

Php $get从url获取多个变量,php,get,Php,Get,我正在制作一个摄影网站。数据库中有一个图像表、事件表和类别表,它们通过外键链接。此时,我从数据库中拍摄照片时生成事件,并将它们转换为锚定链接 <?php while ( $a_row = mysql_fetch_row( $result ) ){ foreach ( $a_row as $field ){ ?> <a href="images.php?event=<?php echo $field;?> "> <php? echo $field;

我正在制作一个摄影网站。数据库中有一个图像表、事件表和类别表,它们通过外键链接。此时,我从数据库中拍摄照片时生成事件,并将它们转换为锚定链接

<?php
while ( $a_row = mysql_fetch_row( $result ) ){

 foreach ( $a_row as $field ){

?>
<a href="images.php?event=<?php echo $field;?> "> <php? echo $field; ?> </a>
<?php
 }
}
?>
我的问题是-如果我要实现类别,并且有一个类似以下内容的url:

/images.php?事件=被称为party和类别的事件=类别CalledFashionPhotography

如何将这两个变量从url中分离出来,以便在查询中使用


谢谢。

这些将自动显示在这些变量中

$_GET['event']
$_GET['category']

PHP为您完成所有这些工作。

每个url参数都成为
$\u GET
中的一个单独的键

因此,对于/images.php?event=eventCalledParty&category=categoryCalledFashionPhotography,您将获得:

$_GET['event'] => 'eventCalledParty' 
$_GET['category'] => 'categoryCalledFashionPhotography' 
你可以据此采取行动:

if ($_GET['category'] == 'categoryCalledFashionPhotography') {
    //do stuff here
}

我对php有点生疏,但我认为在你的foreach中,你想要的是得到这个字段的名称以及它的值

foreach($_GET as $name->$value)
{
  if($name == 'event') {
    $event = mysql_real_escape_string($value);
  }
  else if($name == 'category')
  {
    $category = mysql_real_escape_string($category);
  }
}
foreach($\u获取为$key=>$value) { $event[$key]=mysql\u real\u escape\u字符串($value);
}

我还应该注意,在查询中使用数据之前,不应转义数据。否则,它对你没有多大用处。说得好。值得将其添加到答案中,而不是在注释中,这里循环的用途是什么?这应该是foreach($\u GET as$name=>$value)。register globals会将此代码弄得一团糟:)最好添加
$event=array()请注意,您当前的代码没有意义。不必使用foreach,我应该知道,我已经知道post是这样工作的:/谢谢你,你需要先检查一下$u GET['something']是否设置了!使用empty()或isset()。我主要是想把slexAtrukov的注意力集中在如何一步一步地使用$GET上。好的建议。
foreach($_GET as $name->$value)
{
  if($name == 'event') {
    $event = mysql_real_escape_string($value);
  }
  else if($name == 'category')
  {
    $category = mysql_real_escape_string($category);
  }
}
$event = mysql_real_escape_string($_GET['event']);
$category = mysql_real_escape_string($_GET['category']);