ďťż
Podstrony
|
telcocafeMam taki kod:echo "<input TYPE='button' value='Dodaj artykuł' onclick='".redirect('add.php')."'/>"; A to funcja redirect, ktora jest w osobnym pliku: function redirect($location) { if ($type == "header") { header("Location: ".$location); } else { echo "<script type='text/javascript'>location='".$location."'</script>\ n"; } } Działanie powinno być takie: gdy wcisnę przycisk, zostanę przekierowany na stronę add.php. Jednak tak nie jest. Jest za dobrze: odrazu po wejsciu na stronę index.php zostaję przekierowany na add.php, zamist dopiero po kliknięciu na button. Dlaczego? Jak zrobić by było dobrze? ale pomieszales. przeciez Javascript nie moze byc w taki sposob zastapiony przez PHP. twoj kod dziala tak, ze w stringu, ktory chcesz wyswietlic probuje dodac wynik wywolania funkcji redirect. a jako ze ta funkcja przekierowuje na inna strone, to nic dziwnego, ze przeniesiesz sie na add.php. Twoj kod jest troche niejasny, wiec napisz co chcesz dokladnie osiagnac, to cos sie poradzi Stary a ja bym ci radził zmontować to na przykład w samym PHP. Guzik możesz zrobić jako guzi formularza (submit). I ustawiasz gdzie ma być strona przekierowana w razie kliknięcia i chyba załątwi ci to sprawę. Będzie na pewno jaśniej Dlaczego cię od razu przekierowuje? Bo zmienna $type jest różna od 'header'... Ale problem. Poza tym nie mozesz zrobic tak: echo "<input TYPE='button' value='Dodaj artykuł' onclick='".redirect('add.php')."'/>" JS w onclick nie może skorzystać z funkcji PHP... Dlaczego cię od razu przekierowuje? Bo zmienna $type jest różna od 'header'... Ale problem. Poza tym nie mozesz zrobic tak: echo "<input TYPE='button' value='Dodaj artykuł' onclick='".redirect('add.php')."'/>" JS w onclick nie może skorzystać z funkcji PHP... No wiesz, raczej ci nie wyjaśnie, co oznaczaja zmienna $type z phpFuzion, bo to sprawa programistów phpFusion do czego oni ją wykorzystują. W każdym razi podpowiem ci, że jeżeli wywołasz funkcję header jako: <? header('Location: http://google.pl'); ?> To przekieruje cię do strony google.pl, o ile nagłówki nie zostały jeszcze wysłane, tzn. jeżeli jeszcze nic nie wyświetliłeś. Co do przekierowania możesz zrobić tak: <a href="#" onclick="window.location='index.php'">przekieruj do index.php</a> Możesz też użyć funkcji header, ale najprawdopobniej coś już zostało wysłane do przeglądarki. Możesz też zrobić tak: <meta http-equiv="refresh" content="5; URL=index.php" /> co przekieruje cię do index.php po 5 sekundach. |
|||
Sitedesign by AltusUmbrae. |