Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Łączenie skryptów jQuery i PHP
Forum PHP.pl > Forum > XML, AJAX
MiXen
Witam. Przepisuję ostatnio moją stronę tak, aby była bardziej dynamiczna i używam do tego jQuery. Strona przedtem była pisania głownie w PHP. No i tutaj pojawiają się problemy, bo wstukując w skrypcie JS/jQuery komendę <?PHP ... ?> skrypt wariuje i wogóle się nie wykonuje, tutaj moje pytanie jak mogę to połączyć, aby nie przepisywac skryptów PHP na JS, bo wiem, że jest to praktycznie nie zawsze możliwe. Bardzo prosze o pomoc.
CTRL
Plik w którym podajesz co ma robić przez GET i nie wyświetlasz żadnych bajerów jeśli chodzi o wygląd. .load w jquery, i wychodzi coś takiego:
$("#lewypanel").load('mini.php?p=lewypanel');
Wystarczy powycinać kod i wsadzić w coś takiego
Orzeszekk
Cytat(MiXen @ 26.02.2012, 17:02:04 ) *
Witam. Przepisuję ostatnio moją stronę tak, aby była bardziej dynamiczna i używam do tego jQuery. Strona przedtem była pisania głownie w PHP. No i tutaj pojawiają się problemy, bo wstukując w skrypcie JS/jQuery komendę <?PHP ... ?> skrypt wariuje i wogóle się nie wykonuje, tutaj moje pytanie jak mogę to połączyć, aby nie przepisywac skryptów PHP na JS, bo wiem, że jest to praktycznie nie zawsze możliwe. Bardzo prosze o pomoc.


1. Pliki PHP umieszczaj w plikach z rozszerzeniem PHP.
2. Pliki JS umieszczaj w plikach z rozszerzeniem JS.

Kod PHP wykonuje sie po stronie serwera. Kod JS wykonuje sie po stronie klienta. Nie ma mozliwosci wykonac kodu PHP po stronie klienta, poniewaz efektem dzialania kodu PHP jest kod HTML (ewentualnie JS).

jesli chcesz dodac jakies efekty do strony (w PHP, ale to niewazne, rownie dobrze moglaby byc w C#/javie/perlu),
musisz dołączyc do swojego dokumentu HTML w sekcji HEAD plik skryptu JS, ewentualnie zakodowac go w tagach <script type="text/javascript"> // KOD // </script>.

Jesli chcesz manipulowac jakimis obiektami po stronie klienta, musisz nadac im ID ( w skrypcie PHP, dodaj do template np <div id="stopka"> tresc stopki... </div>), a nastepnie, w pliku js napisac cos takiego.

function onReady()
{
var stopka= $('div.stopka');
// dzialasz na elemencie stopce
}

$(document).bind("ready", onReady);

wtedy twoj skrypt zostanie uruchomiony po zaladowaniu strony i co ma byc zrobione zostanie zrobione. Powodzenia smile.gif
Jesli chcesz przekazac jakas zmienną ze skryptu PHP do skryptu JS mozesz to zrobic taka konstrukcja:

<html>
<head>
</script type="text/javascript">
var zmienna = <?php echo $zmienna1; ?>;
</script>
</head>
<body>
.....

wtedy php przetwarzajac twoja strone wstawi wartosc zmiennej $zmienna1 do skryptu, tak jakbys ty to tam wpisał.
MiXen
Dziękuję, więc trzeba tak robićwink.gif Ale mam problem, kiedyś robiłem pobieranie pliku poprzez funkcję header z parametrem Location, teraz niestety się wykłada skrypt i nie włącza pobierania pliku, więc pytam się, jak bym mógł to zastąpić?
CTRL
Ale powiedz w jakim momencie to się dzieje, bo skąd mamy to wiedzieć. Nagłówki się psują tylko jak masz przed nimi html, ale to pewnie wiesz. A htmlem jest nawet spacja smile.gif Miałem gdzieś skrypt pobierania bez przekierowania, po prostu się ściągało, tylko że działało z nagłówkami, czyli nie dało się dać przed tym htmla
MiXen
Skrypt działa okey, jak był wywoływany normalnie, więc tu wina htmla chyba nie jest, ale jak wywołuję przez JQuery, po prostu ładuje mi zawartość pliku, a nie ściąga go. Mówiąc wprost, masz tysiące różnych znaczków na stronie ;E Może po prostu jest łątwiejszy sposób na wymuszenie ściągania wink.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.