$_GET и modrewrite въпрос?

Styl3rbg

Registered
Имам следният код:
PHP:
<?php
 $p = htmlspecialchars(addslashes($_GET['p']));
  switch ($p) {
  default:
  header("Location: ?p=focus");
  break;
  case "focus":
  echo "dsadsa";
  break;
  case "songs":
  echo "dsadsa22";
  break;
  }
?>
Това е код от профила, а ето и линка http://localhost/profile/user/Styl3r, но след като цъкна например на песни ме препраща към http://localhost/profile/user/&p=songs
HTML:
HTML:
<a class="buttxt" href="&p=songs"> песни (NUM)</a>
 
Самият въпрос малко си го пропуснал, но предполагам скрипта ти не иска да работи защото в линка си написал "&p=songs". Трябва да е "?p=songs"
С "?" се обозначава началото на query string-а. Когато параметрите са повече от един, тогава се разделят с &. Ето пример:
test.php?var1=foo&var2=bar&var3=baz :)
 
Styl3rbg каза:
PHP:
<?php
 $p = htmlspecialchars(addslashes($_GET['p']));
  switch ($p) {
  default:
  header("Location: ?p=focus");
  break;
  case "focus":
  echo "dsadsa";
  break;
  case "songs":
  echo "dsadsa22";
  break;
  }
?>

Можеш ли да кажеш защо ти е addslashes в този случай?


А по темата. След като ползваш mod rewrite не би ли следвало в анчор(<a>) тага да слагаш линка с наклонени черти /songs ?
 
Ползвам само за site.com/profile/user/$username
А понеже $username е $_GET и затова е с ?
Принципно е profile.php?user=$usernmae&p=focus

ПП: Ето кода от .htaccess за тези, които може би не са разбрали
Код:
RewriteRule ^profile/user/([^/]*)$ profile.php?user=$1 [L]
 
ами тогава, както ти каза F1r3Fl3x(голям зор, докато го напиша :D) правиш го по следния начин

/?p=songs

а ако пак прави проблем, напиши целия URL в href.
 
1. В profile.php трябва да имаш $_GET['p'].
2. С този линк не става ли? - http://localhost/profile/user/Styl3r/?p=songs
3. Ако не става, просто си добави още едно правило с profile.php?user=$1&p=$2
 
relax4o каза:
1. В profile.php трябва да имаш $_GET['p'].
2. С този линк не става ли? - http://localhost/profile/user/Styl3r/?p=songs
3. Ако не става, просто си добави още едно правило с profile.php?user=$1&p=$2
Ти за тъп ли ме мислиш? Разбира се, че имам втория $_GET в profile.php, но това никак не става.. Всичко опитах
ПП: http://localhost/profile.php?user=Styl3r&p=focus Така става, но..
ПП2: http://localhost/profile/user/Styl3r/songs Така стана :)
 
Styl3rbg каза:
Ти за тъп ли ме мислиш?

Не съм го казал, и мисля, че е нормален въпрос, понеже в темата под твоята(абе на @streleca-stz) потребителя беше забравил да си взима данните за проверка, та за това и питам. :)
 

Back
Горе