Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Automatyczne przekierownie na inną stronkę
Forum PHP.pl > Forum > Przedszkole
harbii
Mam powiedzmy taki skrypcik, który dostaje zmienną:

  1. <?php
  2. if ($kkkk == ""){
  3.  
  4. header("Location: <a href=\"http://www.google.pl");&#092;" target=\"_blank\">http://www.google.pl");</a>
  5.  
  6.  }
  7.  
  8. else {
  9. echo 'ok';
  10. }
  11. ?>


chodzi o to aby albo się zatrzymał jeżeli $kkkk jest puste albo niech otworzy inną stronkę - bo coś ten header nie działa.
Maciekbjw
Ja bym próbował zrobić to tak:
  1. <?php
  2.  
  3. if(empty($zmienna) || !isset($zmienna))
  4. {
  5. echo 'Nie robię nic!';
  6. }
  7. else
  8. {
  9. header("Location: <a href=\"http://php.pl");&#092;" target=\"_blank\">http://php.pl");</a>
  10. }
  11. ?>
harbii
oki znalazłem błąd ale wywala mi

Cannot modify header information - headers already sent by (output started at d:\www\baner.php:5)
webdice
Co wy za głupoty wypisujecie? Składnia header" title="Zobacz w manualu PHP" target="_manual w tym przypadku wygląda tak:

  1. <?php
  2. header ('location: <a href=\"http://php.pl');&#092;" target=\"_blank\">http://php.pl');</a>
  3. ?>


Co do Twojego błędu wpisz go w google lub na forum, a zaraz znajdziesz rozwiązanie.

EDIT: To jednak forum coś miesza z kodem.
PiXel2.0
Cytat(harbii @ 16.04.2008, 21:22:03 ) *
oki znalazłem błąd ale wywala mi

Cannot modify header information - headers already sent by (output started at d:\www\baner.php:5)


Taki blad powstaje gdy jakis znak (nawet spacja) zostal juz wyslany do przegladarki i sekcja z naglowkami http zostala juz zamknieta wiec nie mozna uzyc funkcji header().

Jesli nic nie wysylales wszesniej to blad moze powodowac naglowek BOM jesli plik jest kodowany w UTF-8 i zostal zapisany z tym naglowkiem ktorego nie widac w edytorze, ale istnieje i uniemozliwia w ten sposob wysylanie naglowkow.
soulreaver1
A musi być header? Jeśli nie to np. :

  1. <?php
  2. echo "<HTML><META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=pusto.php\"></HTML>";
  3. ?>
Crozin
1) W nagłówku Location podajemy adres URL, a nie link HTML
2) Jeżeli wysylasz nagłówek Location zakończ wykonywanie skrptu - inaczej możliwe jest wykonanie skryptu poniżej:
  1. <?
  2.  
  3. if(wyraznie){
  4. header('Location: <a href=\"http://www.google.pl');&#092;" target=\"_blank\">http://www.google.pl');</a>
  5. }
  6.  
  7. ?>
PiXel2.0
  1. <?php
  2. $url = 'http://www.google.pl';
  3. header("Location: {$url}");
  4. ?>
harbii
pomysł soulreaver1 wypalił - dzięki
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.