Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][PHP][SMARTY]
Forum PHP.pl > Forum > Przedszkole
tomi1985
witam,

mam problem z przesłaniem danych wygenerowanych poprzez php do jquery a następnie wyświetlenia ich w smartach

Kod
if(isset($_POST['logIn'])){
    $checkLogIn = $this->config->logIn(); // sprawdzanie usera i nadawanie uprawnienien
    echo json_encode($checkLogIn); // wysylanie danych do jquery
}


teraz jquery
Kod
$('#logInUser').click(function(){ //validation new report
        var infoAjax    = $('#infoAjax');
        var bgAjax      = $('#bgAjax');
        
        $.ajax({
            url:        'index.php',
            dataType:   'JSON',
            type:       'POST',
            data:       $('#form').serialize() + '&logIn=oo',
            beforeSend: function(){
                infoAjax.html('Trwa logowanie do systemu raportowania błędów<br /><img src="img/loading.gif">').css({'width':'400px',' position':'fixed','left':'50%'}).show();
                bgAjax.show();
            },
            success: function(obj){
                infoAjax.html(obj.info);
                if(obj.check == 1){
                    setTimeout(function() {
                        location.replace(obj.link); //load to new page after logIn
                    }, 2500);    
                }else{
                    setTimeout(function() {
                       infoAjax.fadeOut();
                       bgAjax.fadeOut();
                    }, 2500);
                }
            },        
            error : function(){              
                infoAjax.html('<p>Przepraszamy, ale logowanie jest chwilowo niedostępne.<br /><font color="red">Prosimy o kontakt z administratorem</font></p>');
                
                setTimeout(function() {
                   infoAjax.fadeOut();
                   bgAjax.fadeOut();
                }, 2500);
            }
        });  
        return false; // block load form action
    });


a teraz kodzik w pliku tpl

Kod
<div id="frameLogIn">    
        <img src="img/LogoSystemError.png" alt="System Raportowania Błędów" />                            
        <div id="logIn">
            <form id="form" action="index.php" method="post">
                <input id="inputLogin" type="text" name="login" placeholder="Login"  /><br />
                <input id="inputPassword" type="password" name="password" placeholder="Hasło"  /><br />        
                <input class="submit" id="logInUser" type="submit" value="Zaloguj" />
            </form>
        </div>
    </div>
    <div id="infoAjax"></div>
    <div id="bgAjax"></div>


Nie mam już pojecia jak dane z php przekazać do jquery a następnie wyświetlić w "infoAjax"
mateusz.jarzewski
Nie widze tu żadnych smartów, co jest rzeczą dobrą..
tomi1985
przeczytaj moj post jeszcze raz z zrozumieniem ;/;/;/



vonski
Ale jaki masz konkretnie problem? Bo albo czegoś nie widzę, albo ten AJAX wygląda ok. Tzn. wysyłasz do skryptu PHP (w index.php) formularz #form, na podstawie tych danych logujesz (lub nie) usera i zwracasz (czyli przesyłasz dane z PHP do JS) obiekt zakodowany w JSON. No i na koniec wyświetlasz jakieś info w elemencie #infoAjax za pomocą tej linijki: infoAjax.html(obj.info);
Dlatego nie rozumiem tego "Nie mam już pojecia jak dane z php przekazać do jquery a następnie wyświetlić w "infoAjax" " bo wg mnie to się właśnie odbywa w powyższym skrypcie smile.gif
tomi1985
no wlasnie teoretycznie tak... jak zmienilem pliczki z html na tpl... zaimplementowalem smarty to dane sa przekazywane z php do jquery ( sprawdzalem firebugiem) ale jquery juz mi ich nie wyswietla w pliku tpl
Daimos
musisz zrozumieć, że smarty nie mają nic do javascriptu, Smarty to system szablonów, który jeszcze na poziomie serwera jest przekształcany na czysty HTML i dopiero na tym etapie rozpoczyna się zabawa z javascript. Dałeś nam wycinki, które nic nie mówią, kody wydają się być ok, być może w obiekcie zwrotnym nie masz nic i dlatego nic się nie uzupełnia. Wstaw tam na sztywno teksty i zobaczysz, czy w ogóle jest coś wstawiane, a może tego kodu tpl tam nie ma? Może cache smarty wyczyść?
tomi1985
ok, dzieki za rade... poszukam
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.