Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Wyszukiwarka, a IE i Opera
Forum PHP.pl > Forum > Przedszkole
adrianozo
Witam wszystkich forumowiczów smile.gif
Otóż mam problem i od jakiś dwóch miesięcy nie mogę się go pozbyć.
Chodzi p wyszukiwarkę na mojej stronie.
W Firefox i Google Chrome jest ok i wpisując w wyszukiwarkę frazę Nazwa skrypt przenosi na stronę http://www.strona.pl/szukaj/wynik/nazwa.html i wszystko działa, natomiast wpisując to samo w IE tworzy adres http://www.strona.pl/?wynik=nazwa+ i jak wiadomo nic się nie dzieje, a w Operze tworzy taki adres: http://www.strona.pl/?wynik=+Nazwa&sub...&submit.y=0 i również nic się nie dzieje.

Myślę, że wina leży w tym miejscu:

  1. <?php
  2. if(isset($_GET['wynik']))
  3. {
  4. $wynik_filtru = trim($_GET['wynik']) ;
  5. }
  6. if(isset($_GET['submit']))
  7. {
  8. header('Location: /szukaj/wynik/'.$wynik_filtru.'.html');
  9. }
  10. ?>
  11. <?php
  12. if(isset($_GET['wynik']))
  13. {
  14. echo '<form action="?" method="get">
  15. <input type="text" name="wynik" value="'.$_GET['wynik'].'" class="text" />
  16. <input type="image" name="submit" src="images/gszukaj.png" value=" " class="submit" />
  17. </form>';
  18. }
  19. else
  20. {
  21. echo '<form action="?" method="get">
  22. <input type="text" name="wynik" value="Szukaj w serwisie..." onclick="this.value=\' \'" class="text" />
  23. <input type="image" name="submit" src="images/gszukaj.png" value=" " class="submit" />
  24. </form>';
  25. }
  26. ?>


Proszę o pomoc smile.gif
Z góry dziękuje.
Pozdrawiam,
nansss smile.gif
tehaha
jakoś tak przekombinowany ten sposób jak dla mnie, powinieneś od razu w action dać adres na który ma zostać wysłany formularz, ponadto jak wstawiasz jakąś zmienną do linku to powinieneś użyć urlencode()

a i jeszcze po header powinno być exit(), dlatego że funkcja header tylko ustawia nagłówek a skrypt leci dalej jeżeli chcesz przekierować musisz przerwać działanie skryptu
adrianozo
Teraz jest tak i niby się trochę poprawiło
  1. <?php
  2. if(isset($_GET['wynik']))
  3. {
  4. $wynik_filtru = stripslashes(trim($_GET['wynik']));
  5. }
  6. if(isset($_GET['submit']))
  7. {
  8. header('Location: <a href="http://www.nportfolio.pl/szukaj/wynik/'.$wynik_filtru.'.html&#39%3b%29;" target="_blank">http://www.nportfolio.pl/szukaj/wynik/&#39...39;.html');</a>
  9. exit();
  10. }
  11. ?>
  12. <?php
  13. if(isset($_GET['wynik']))
  14. {
  15. echo '<form action="?" method="get">
  16. <input type="text" name="wynik" value="'.$_GET['wynik'].'" class="text" />
  17. <input type="image" name="submit" src="images/gszukaj.png" value=" " class="submit" />
  18. </form>';
  19. }
  20. else
  21. {
  22. echo '<form action="?" method="get">
  23. <input type="text" name="wynik" value="Szukaj w serwisie..." onclick="this.value=\' \'" class="text" />
  24. <input type="image" name="submit" src="images/gszukaj.png" value=" " class="submit" />
  25. </form>';
  26. }
  27. ?>



IE bez zmian
Opera: http://www.strona.pl/szukaj/wynik/.html?wy...&submit.y=0
tehaha
a to? to niby co ma być?
  1. header('Location: <a href="http://www.nportfolio.pl/szukaj/wynik/'.$wynik_filtru.'.html&#39%3b%29;" target="_blank">http://www.nportfolio.pl/szukaj/wynik/&#39...39;.html');</a>

bo nie bardzo rozumiem tej linijki
adrianozo
Na forum sam dodaje ;/

Tutaj link do kodu

http://wklej.org/id/334684/
tehaha
użyj urlencode a nie stripslashes zanim umieścisz zmienną w linku i usuń ten znak zapytania w action
adrianozo
Po dostosowaniu do zaleceń
IE bez zmian
Opera wróciła do starego działania tj: http://strona.pl/?wynik=nazwa&submit.x=0&submit.y=0

KOD:
http://wklej.org/id/334691/
tehaha
a zrób dla testu po linijce 7 :
  1. $wynik_filtru = 'aa';


bo u mnie z takim czymś działa, a przestaje kiedy wkładam pustą zmienną albo z jakimiś spacjami
adrianozo
Nic nie zmieniło sad.gif
tehaha
to spróbuj w ogóle sam taki skrypt odpalić bez żadnych formularzy tylko to:
<?php
header('Location: http://www.nportfolio.pl/szukaj/wynik/test.html/');
exit();
?>

//dałem bez BBcode bo zachodziła automatyczna zmiana w kodzie
adrianozo
Firefox:

Nieprawidłowe przekierowanie

Firefox wykrył, że serwer przekierowuje żądanie tego zasobu w sposób uniemożliwiający jego ukończenie.


* Problem ten może się pojawić w wyniku zablokowania lub odrzucenia ciasteczek.

Opera:

Niby przekierowuje, ale wczytuje tylko logo

IE

W pasku na górze widać, że przekierowuje, ale nie wychodzi mu to coś... za długo myśli i wczytuje za długo
tehaha
generalnie coś masz nie źle namieszane w kodzie bo nawet na stronę główną nie da się wejść, najlepiej zacznij od początku od najprostszego przykładu i potem dokładaj
aczkolwiek jeżeli taki najprostszy kod zapisany bez niczego innego nie działa:
<?php
header('Location: http://www.google.pl');
exit();
?>
to wina może leżeć w serwerze
adrianozo
Z tym google działa ;]

A to moje nie sad.gif
tehaha
zacznij od początku i do tego najprostszego przykładu dodawaj po kawałeczku wtedy dojdziesz do skutku
adrianozo
A jednak dla google nie działa też ;(
tehaha
to działa czy nie działa bo jak taki przykład nie działa to może być to wina serwera, jak masz taką możliwość to przetestuj jeszcze swój kod na innym serwerze
adrianozo
Ale nawet jak nie działa tylko(albo aż) na IE oraz Opera?

Na innym serwerze dzieje się to samo sad.gif
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.