Łukasz K.

Łukasz K. Szlifujemy PHP +
jQuery (do gry) oraz
C# (serwer do gry)
...

Temat: PHP header i Ajax

Witam wszystkich.

Mam kolejny problem a mianowicie taki, że jest sobie stronka z jednym div'em który (technologia Ajax) przeładowuje się co sekundę. Do tego diva jest ładowany skrypt w php i po pewnym czasie jest trzeba "uciec" z tego do wyświetlenia normalnej strony.

Próbowałem w tym skrypcie header ale wówczas strona jest wczytywana do tego odświeżającego diva a nie o to mi chodzi.

Rozwiązanie pewnie banalne ale... Ma ktoś jakiś pomysł???

konto usunięte

Temat: PHP header i Ajax

Przekaż z poziomu ajaxa wywołanie kodu js który przekieruje przeglądarkę pod wskazany adres.
Marcin Lenkowski

Marcin Lenkowski Szukasz
programistów?
Zapraszamy do
Exulto!

Temat: PHP header i Ajax

w razie czego, jakbyś nie wiedział
document.location="http://example.com/sajt.html"
Łukasz K.

Łukasz K. Szlifujemy PHP +
jQuery (do gry) oraz
C# (serwer do gry)
...

Temat: PHP header i Ajax

Raczej nic z tego, dodaję taki kod do pliku php:

<script type="text/javascript">
document.location='index.php';
</script>

i nic...
Janusz Skudrzyk

Janusz Skudrzyk Członek zarządu,
weblabs.pl

Temat: PHP header i Ajax

W PHP:

if( $x == $y ) {
$tab['status'] = 0 ;
$tab['wartosc'] = 'tekst do wstawienia' ;
echo json_encode( $tab ) ;
}
else {
$tab['status'] = 1 ;
$tab['wartosc'] = 'przenosiny' ;
echo json_encode( $tab ) ;
}


W js (jQuery):

dataType: 'json',
success: function( result ) {
if( result.status == 0 ) $("#div").html( result.wartosc ) ;
else document.location="http://example.com/sajt.html";
}
Adam Pawliczek

Adam Pawliczek Usability expert, UX
designer,
Interaction
specialist

Temat: PHP header i Ajax

I raczej
window.location.href = 'http://...';
niż
document.location = 'http://...';
Mirosław Ratman

Mirosław Ratman Manager IT,
Architekt systemów
@Avast, Founder
@aSyncro ...

Temat: PHP header i Ajax

Łukasz Kozak:
Raczej nic z tego, dodaję taki kod do pliku php:

<script type="text/javascript">
document.location='index.php';
</script>

i nic...

Z tego co napisałeś wystarczy ukryć diva i zatrzymać odświeżanie. ale jak już koniecznie chcesz pakować do diva jakiś kod php (cały czas zastanawaim sie po co) to wrzuć

<?php
header("Location: http://www.example.com/");
exit;
?>
Łukasz K.

Łukasz K. Szlifujemy PHP +
jQuery (do gry) oraz
C# (serwer do gry)
...

Temat: PHP header i Ajax

Hm... powyższe przykłady nie działają.

Może bardziej zobrazuję przykład

plik index.php:

<?php
echo("Jakiś tam tekst, nagłówek i inne głupoty<br /><br />
<div id=\"main\"></div><script type=\"text/javascript\" src=\"skrypt.js\"></script>");
?>


i właśnie do div id=main ładowany jest plik.php

<?php
// tutaj są obliczenia, nie ma w nich błędu i za dużo trochę by tego było
if ($wyswietlaj==TRUE)
{
// wyswietlamy kilka rzeczy pobranych z bazy
}
else
{
// przeładowujemy całą stronę (nie tylko tego div)
}
?>


I teraz tak, czego bym w plik.php w znacznikach else nie napisał (odnośnie waszych propozycji) to nie działa.

Funkcja header - powoduje, że w div wyświetlana jest strona w stronie
JS - nie uruchamia się wcale

Już sam nie wiem co o tym myśleć...

P.s. Oczywiście w skrypt.js jest funkcja odświeżająca tego div'a co sekundę

P.s.2 Może jakoś uda się przerwać działanie skryptu???Łukasz Kozak edytował(a) ten post dnia 02.03.11 o godzinie 14:35
Mirosław Ratman

Mirosław Ratman Manager IT,
Architekt systemów
@Avast, Founder
@aSyncro ...

Temat: PHP header i Ajax

Łukasz Kozak:

<?php
// tutaj są obliczenia, nie ma w nich błędu i za dużo trochę by tego było
if ($wyswietlaj==TRUE)
{
// wyswietlamy kilka rzeczy pobranych z bazy
}
else
{

echo '<script type="text/javascript">document.location.href="http://domain.name/index.php";</script>';

// przeładowujemy całą stronę (nie tylko tego div)
}
?>


!!! pamietaj aby dodać http://domena po .href= + poczytaj o wstawianiu JS do kodu PHP i jak to jest wywoływane. Przypuszczam że w pewnych okolicznosciach Twój kod się zapętli - co spowoduje permanentny redirect i zwiech przeglądarkiMirosław R. edytował(a) ten post dnia 02.03.11 o godzinie 14:42
Łukasz K.

Łukasz K. Szlifujemy PHP +
jQuery (do gry) oraz
C# (serwer do gry)
...

Temat: PHP header i Ajax

Nie działa, ba... nawet się ten skrypt nie wykonuje
Mirosław Ratman

Mirosław Ratman Manager IT,
Architekt systemów
@Avast, Founder
@aSyncro ...

Temat: PHP header i Ajax

Łukasz Kozak:
Nie działa, ba... nawet się ten skrypt nie wykonuje

Włącz jakis debuger, zajzyj w logi - pewnie machnołem sie gdzies z jakims cudzysłowem. Powinieneś to sprawdzić a nie kopiować bez głowy. Dalismy Ci tylko sugestie jak to zrobić!
Łukasz K.

Łukasz K. Szlifujemy PHP +
jQuery (do gry) oraz
C# (serwer do gry)
...

Temat: PHP header i Ajax

Nie machnąłeś się z żadnym cudzysłowem. Po prostu w pliku.php nie uruchamia się żaden javascript (nie wiem dlaczego).

Temat: PHP header i Ajax

Mirosław R.:
Łukasz Kozak:
Nie działa, ba... nawet się ten skrypt nie wykonuje

Włącz jakis debuger, zajzyj w logi - pewnie machnołem sie gdzies z jakims cudzysłowem. Powinieneś to sprawdzić a nie kopiować bez głowy. Dalismy Ci tylko sugestie jak to zrobić!

Widocznie nie którzy, oczekują całych rozwiązań i tylko kopiuj wklej :)
Łukasz K.

Łukasz K. Szlifujemy PHP +
jQuery (do gry) oraz
C# (serwer do gry)
...

Temat: PHP header i Ajax

Jakub Bartkiewicz:

Widocznie nie którzy, oczekują całych rozwiązań i tylko kopiuj wklej :)


Eee... takie uwagi to dla siebie zostaw lepiej. Nie oczekuję GOTOWCA tylko naprowadzenia w którą stronę iść.

Temat: PHP header i Ajax

czyli twierdzisz ze Google i dokumentacje zniknęły z sieci, ze od razu naprowadzenie.

A po za tym dostałeś naprowadzenie.
Piotr Lewandowski

Piotr Lewandowski Programista
aplikacji
internetowych (PHP,
MySQL, SF2, Mag...

Temat: PHP header i Ajax

Mirosław R.:
Z tego co napisałeś wystarczy ukryć diva i zatrzymać odświeżanie. ale jak już koniecznie chcesz pakować do diva jakiś kod php (cały czas zastanawaim sie po co) to wrzuć

<?php
> header("Location: http://www.example.com/");
exit;
?>

No tak, ale skoro kolega robi to ajaxem, to czy przekierowanie nie będzie wtedy dotyczyło requestu ajaxowego i tym samym nie spowoduje przeładowania strony? (Pomijajac fakt ze naglowek http location nie powoduje przeladowania strony a raczej przekierowuje bierzacy request na inny url)

IMHO location.href jest ok w tym wypadku.
Zbigniew Prętki

Zbigniew Prętki Programista PHP

Temat: PHP header i Ajax

Jeśli kod JavaScript wczytywany poprzez AJAX i się nie wykonuje to należy go potraktować funkcją eval().
http://www.coderanch.com/t/117983/HTML-JavaScript/Exec... nie sprawdzałem, czy rozwiązania tam podane są prawidłowe.
Adam Pawliczek

Adam Pawliczek Usability expert, UX
designer,
Interaction
specialist

Temat: PHP header i Ajax

Nie dość że robicie z siebie jeleni pomagając leniowi, to pomagacie źle (header: location, EVAL!!!) i jeszcze dostajecie bezczelne pretensje za to że przeklejony kod nie działa...
Sami zaniżacie poziom forum rozwijając wątki typu "napiszcie mi rozwiązanie bo nie umiem..."
Łukasz K.

Łukasz K. Szlifujemy PHP +
jQuery (do gry) oraz
C# (serwer do gry)
...

Temat: PHP header i Ajax

Człowieku, zajmij się pracą a nie wyzywasz ludzi od jeleni. Okulary Ci parują jak KTOŚ komuś pomoże na tym forum? Poziom się zbytnio zaniży? To stwórz własne forum gdzie będziesz każdemu tłumaczył na swój sposób.
Mirosław Ratman

Mirosław Ratman Manager IT,
Architekt systemów
@Avast, Founder
@aSyncro ...

Temat: PHP header i Ajax

Łukasz Kozak:
Człowieku, zajmij się pracą a nie wyzywasz ludzi od jeleni. Okulary Ci parują jak KTOŚ komuś pomoże na tym forum? Poziom się zbytnio zaniży? To stwórz własne forum gdzie będziesz każdemu tłumaczył na swój sposób.

Mysle że troche przegiałeś i topik powinien zostać zamknięty przez moda.

Następna dyskusja:

PHP + AJAX




Wyślij zaproszenie do