开发者

show page in words in address bar

I need a little help of my brilliant friends. Actually i m new to development so that i have no much idea how can i show my page in words like www.testsite.com/index.php?pname=**Home** except of www.testsite.com/index.php?pid=**1** i have the following code for showing page in number

if (!$_GET['pid']) {
    $pid = '1';
} else {
    $pid = ereg_replace("[^0-9]", "", $_GET['pid']); }

and the sql code

$sqlCommand = "SELECT id, link FROM main_page WHERE showing='1' ORDER BY id ASC";
$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error()); 
$menu='';
while ($row = mysqli_fetch_array($query)) { 
    $pid = $row["id"];
    $link = $row["link"];
    if ($linkl开发者_Python百科abel){
    $menu .='<a href="index.php?pid='.$pid.'">'. $link .'</a>';
     }}

i want to show and href name of page not id how can i do that. help plz


Your example will fail if I enter *1*2*3*

you should be searching for the contents of

**(contents)**

and nothing else. That will get you the name and the number.

Here is my example

$string = "**123naasdme456**";
preg_match("/[^\*+](?P<val>\w+)[^\*+]/",$string,$matches);
echo $matches[0];

will echo 123naasdme456

and here it is implemented into your code

function getReal($urlVar)
{
  if(preg_match("/[^\*+](?P<val>\w+)[^\*+]/",$urlVar,$matches))
  {
    return $matches[0];
  }
  return false; // or default value
}
$pid = getReal($_GET['pid']);
$name = getReal($_GET['pname']);


You should add an extra field in your database (table main_page) with the name name or something similar. Then you could:

if (!$_GET['pname']) {
  $pid = 'home';
} else {
  $pid = mysql_real_escape_string($pid);
  $sql = mysql_query("SELECT name FROM main_page WHERE name = '$pid'");

  if (mysql_num_rows($sql) == 1))
  {
     echo "Content";
  } else {
     echo "404 error. Couldn't find the page you were looking for.";
  }
}


URL Rewriting. http://www.addedbytes.com/for-beginners/url-rewriting-for-beginners/

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜