Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] $_GET gubi przekazywane dane
Forum PHP.pl > Forum > Przedszkole
PawelC
No więc mam kod odpowiedzialny za przesłanie danych metodą GET, w linku:
  1. <?php
  2. $wynik = explode(",", $slowa);
  3.            echo '<b>Słowa kluczowe: </b>';
  4.            foreach($wynik as $key){
  5.            $klucz=trim($key);
  6.            $keyword=str_replace(' ','-',$klucz);
  7.            $wynik=trim($keyword);
  8.            echo '<a href="tag-'.$wynik.'.html">'.$key.'</a>, ';
  9.            }
  10. ?>

Zamieniam puste pola w wypadku 2-3 wyrazowych słów na - , więc adres końcowy wygląda tak:
Kod
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:
  1. <?php
  2. $tag=$_GET['tag'];
  3. $wynik=str_replace('-',' ',$tag);
  4. $zapytanie=mysql_query("select * from wpisy where slowa like '%$wynik%'");
  5. while($row=mysql_fetch_array($zapytanie)){
  6. echo '<a href="link_'.$row['id'].'.html" title="'.$row['anchor'].'">'.$row['anchor'].'</a><br />';
  7. }
  8. ?>

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?
Foxx
Wyświetl sobie zawartość $_GET['tag'] w tym drugim skrypcie.
PawelC
Wyświetlam i zamiast katalog stron www, jest samo katalog. Czyli błąd jest nie przy odbieraniu, ale przy wysyłaniu danych.
kefirek
No jak ty chcesz coś przesłac ? Skoro masz
  1. <a href="tag-slowo-kluczowe.html">'.$key.'</a>



A powino byc

  1. <?php
  2. echo '<a href="tag.php?tag=$wynik">'.$key.'</a>';
  3. ?>
PawelC
używam mod_rewrite do przepisywania linków, dlatego jest taka forma linku a nie inna
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.