【问题标题】:How to use parameters in url php?如何在url php中使用参数?
【发布时间】:2014-05-04 09:51:15
【问题描述】:

我有一个号码页,即

change=1.php
change=2.php
change=3.php

它们都有相似的编码,但留下 1 或 2 个变量值。 而且我知道这是一个非常糟糕的主意!如何使链接如下所示:

change.php?id=1
change.php?id=2
change.php?id=3

http://oi62.tinypic.com/708gfm.jpg

<?php
include 'connection.php';
session_start();
include 'details.php';
/*$pkmn_id = $_SESSION['pkmn_id'];
$poke = $_SESSION['path'];*/


$data = mysql_query(" SELECT * FROM user_pokemon_db WHERE team = 1 AND user_id = '".$id."' "); 
while($rows = mysql_fetch_array($data))
{ 
 $rep_id = $rows[0];
 $pkmn_id = $rows['pkmn_id'];
 $path = mysql_query(" SELECT * FROM pokemons WHERE pk_id = '".$pkmn_id."' ");
 $poke = mysql_result($path, 0, "path");
 echo $poke; 
 echo "<br />";
 $level = $rows['level']; 
 echo $level;
 echo "<br />";
 $exp = $rows['exp']; 
 echo $exp;
 echo "<br />";
 echo "<br />";
 }

$data = mysql_query(" SELECT * FROM user_pokemon_db WHERE user_id = '".$id."' AND team = 0");
while($rows = mysql_fetch_assoc($data))
{ 
 $db_id = $rows['id'];
 $array[] = $db_id;

 $level = $rows['level'];
 $array1[] = $level;

 $exp = $rows['exp'];
 $array2[] = $exp;

 $pkmn_id = $rows['pkmn_id'];

 $data1 = mysql_query(" SELECT * FROM pokemons WHERE pk_id = '".$pkmn_id."' ");
 while($rows = mysql_fetch_assoc($data1))
{ 
 $poke = $rows['path'];
 $array3[] = $poke;
}
}

$team = 1;
$_SESSION['team'] = $team;
$_SESSION['rep_id'] = $rep_id;
?>

我的 PHP 代码。

【问题讨论】:

  • 这些页面是数组格式吗?
  • 没有。我已将它们保存为“change=1.php”...等等...!
  • 把它们保存在哪里?数据库?文件?
  • 不...不是那样的。!我们将文件保存在 php 中,例如:“change.php”……但我使用了“=1”……所以它变成了“change=1.php”。所以我通过增加数字创建了更多页面..
  • 我真的不明白,你能粘贴那个PHP部分吗?

标签: php url parameters


【解决方案1】:

您可能希望使用 GET 变量,为此您需要将所有文件合并为一个,命名为 change.php。在这个文件中,您需要$foo = $_GET["id"] 行,它将获取url change.php?id=1 中变量“id”的值。

if (isset($_GET["id"])) {

    $foo = $_GET["id"];

//your code here

}else{
    echo 'ERROR!!! No id in URL';
    }

您可以在 URL 中包含多个变量,如下所示:change.php?id=1&amp;a=bar&amp;b=toofoo

【讨论】:

    【解决方案2】:

    您可以获取当前脚本的文件名并解析整数。

    __FILE__
    

    给出当前脚本的名称。那么,

    $myStr = preg_replace('/\.php$/', '', __FILE__);
    $result = preg_replace('/change=$/', '', $myStr);
    echo $result; // it's your id
    

    【讨论】:

      猜你喜欢
      • 2013-02-21
      • 1970-01-01
      • 2017-09-30
      • 2013-09-29
      • 1970-01-01
      • 2013-03-30
      • 1970-01-01
      • 2022-11-30
      • 1970-01-01
      相关资源
      最近更新 更多