Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Funkcja dołączona do Headera
Forum PHP.pl > Forum > Przedszkole
fakir
Witam wszystkich,
Mam problem.
Otóż mamy taki kodzik:

  1. <?php
  2. function cfunkcyja($arg) {
  3. if (!empty($arg)) {
  4. echo "+$arg";
  5. }
  6. }
  7. ?>
  8. <?php
  9. $test = 'kupa';
  10. $test2 = 'mocz';
  11. header("Location: <a href="http://wielkakupa.pl/tag/mop&quot;" target="_blank">http://wielkakupa.pl/tag/mop"</a> .cfunkcyja($test).cfunkcyja($test2));

?>[/php]


Nie mogę uzyskać tego, aby header brzmiał i dzięki temu przekierowywał na odpowiednią stronę: http://wielkakupa.pl/tag/mop+kupa+mocz

Output mam:
+kupa+mocz
Warning: Cannot modify header information - headers already sent by (output started at /t.php:4) on line 12


Jak to zrobić? Jak dołączyć funkcję do Headera, aby był jednością?

Pomóżcie sad.gif
Z góry dzięki!
fakir
Dzięki za odpowiedź, ale to widziałem. Jak mam:

  1. <?php
  2.  
  3. function cparam($arg) {
  4. if (!empty($arg)) {
  5. echo "+$arg";
  6. }
  7. }
  8.  
  9. $test = 'kupa';
  10. $test2 = 'mocz';
  11.  
  12. header("Location: <a href="http://kupa.pl/tag/$as_mop&quot;" target="_blank">http://kupa.pl/tag/$as_mop"</a> .cparam($test).cparam($test2));
  13.  
  14. ?>

To mam output +kupa+mocz

PS Jakieś dziadostwo mi dodaje w kodzie, jakiś link automatyczny, nie mogę tego usunąć, sorry.
sh3d2
nic dziwnego, na stosie wywolan cparam jest pierwsza, a ona zamiast zwracac wartosc, to ja echuje, wiec masz echo przy wywolaniu, a dopiero potem header, stad caly blad.
zamien echo na return i bedzie ok
fakir
Dzięki wielkie za odpowiedź!
Niestety teraz znów mam Header sent already sent:

  1. <?php
  2.  
  3. function cparam($arg) {
  4. if (!empty($arg)) {
  5. return "+$arg";
  6. }
  7. }
  8.  
  9. $test = 'kupa';
  10. $test2 = 'mocz';
  11.  
  12. header("Location: <a href="http://kupa.pl/tag/$as_mop&quot;" target="_blank">http://kupa.pl/tag/$as_mop"</a> .cparam($test).cparam($test2));
  13.  
  14. ?>


  1. Warning: Cannot modify header information - headers already sent by (output started at /t.php:1) on line 13

BTW Korzystam z codepad.org, by to przetestować, ale chyba to nie tego wina.

Pozdrawiam!
sh3d2
masz spacje przed tagiem <?php
fakir
Hmm, usunąłem wszystkie zbędne spacje i...
Output:
No errors or program output.

  1. <?php
  2. function cparam($arg) {
  3. if (!empty($arg)) {
  4. return "+$arg";
  5. }
  6. }
  7. $test = 'kupa';
  8. $test2 = 'mocz';
  9. header("Location: http://kupa.pl/tag/$as_mop" .cparam($test).cparam($test2));
Damonsson
Mission accomplished wink.gif
fakir
Yeah, to faktycznie działa! Sprawdziłem na swojej stronie. Super, ogromne dzięki Wam!
sh3d2
Cytat(fakir @ 26.09.2012, 00:09:18 ) *
Hmm, usunąłem wszystkie zbędne spacje i...
Output:
No errors or program output.


wlasnie takiego wyniku nalezalo sie spodziewac, kod wykonal sie jako cli czy inny eval, wiec zadna przegladarka nie dostala bezposrednio naglowka coby wykonac przekierowanie.
stad "no output".
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.