Skocz do zawartości

$_GET brak wartości


PawelC

Rekomendowane odpowiedzi

No więc mam kod odpowiedzialny za przesłanie danych metodą GET, w linku:

<?php
$wynik = explode(",", $slowa);
		echo '<b>Słowa kluczowe: </b>';
		foreach($wynik as $key){
		$klucz=trim($key);
		$keyword=str_replace(' ','-',$klucz);
		$wynik=trim($keyword);
		echo '<a href="tag-'.$wynik.'.html">'.$key.'</a>, ';
		}
?>

Zamieniam puste pola w wypadku 2-3 wyrazowych słów na - , więc adres końcowy wygląda tak:

tag-slowo-kluczowe.html

I problem mój polega na tym, że na następnej stronie, odbieram dane przesyłane w linku, w taki sposób:

<?php
$tag=$_GET['tag'];
$wynik=str_replace('-',' ',$tag);
$zapytanie=mysql_query("select * from wpisy where slowa like '%$wynik%'");
while($row=mysql_fetch_array($zapytanie)){
echo '<a href="link_'.$row['id'].'.html" title="'.$row['anchor'].'">'.$row['anchor'].'</a><br />';
}
?>

I w tym momencie zamieniam - na puste miejsce, i wszystko było by ładnie pięknie ale nie jest, ponieważ w wypadku słów 2-3 wyrazowych nie wyświetla np darmowy katalog stron, tylko samo darmowy. Dlaczego tak jest i gdzie popełniam błąd?

Odnośnik do komentarza
Udostępnij na innych stronach

No w nim to jest kopalnia :D

RewriteRule ^([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)\.html$ /tag.php?tag=$1 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)\.html$ /tag.php?tag=$1 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)-([^-]*)\.html$ /tag.php?tag=$1 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)\.html$ /tag.php?tag=$1 [L]
RewriteRule ^([^-]*)-([^-]*)\.html$ /tag.php?tag=$1 [L]
RewriteRule ^([^-]*)\.html$ /tag.php?tag=$1 [L]

Co najdziwniejsze każde takie coś:D[^-]*) oznacza jeden wyraz bo w przeciwnym razie nie będzie działało, dla kilku wyrazów w tagu. Regułke mod_Rewrite znajomy mi napisał :D

Odnośnik do komentarza
Udostępnij na innych stronach

https://www.forum.optymalizacja.com/index.php?showtopic=69289

level 5

E: Ciężko napisać posta samą myszką :D

Filtruj dane pochodzące z zewnątrz zanim ich użyjesz.

Poczytaj jeszcze to: https://www.forum.optymalizacja.com/index.php?showtopic=62516

nihil fit sine causa

Odnośnik do komentarza
Udostępnij na innych stronach

Spróbuj w htaccess zamienić

RewriteRule ^([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)\.html$ /tag.php?tag=$1 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)\.html$ /tag.php?tag=$1 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)-([^-]*)\.html$ /tag.php?tag=$1 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)\.html$ /tag.php?tag=$1 [L]
RewriteRule ^([^-]*)-([^-]*)\.html$ /tag.php?tag=$1 [L]
RewriteRule ^([^-]*)\.html$ /tag.php?tag=$1 [L]

na

RewriteRule ^(.*)\.html$ /tag.php?tag=$1 [L]

and

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności