ugrás a tartalomhoz

gyors segítség! - php ranbdom text!

mrtom · 2009. Jan. 7. (Sze), 11.54
Lehet, hogy ez túl egyszerű kérdés, vagy PHP-ben ez nem megoldható, de megkérdezem

Tehát van egy szövegrotátorom, ami egy .txt fájlból nyeri a szöveget, amit a böngésző megnyitásakor véletlenszerűen ír ki.

Azt akarom megcsinálni, hogy ha a lapra teszek egy linket, és azt leklikkelik, akkor az a szöveg újratöltődjön, nem az egész lap., csak a szöveg.

Remélem ez így érthető. Van ennek megoldása? Én JS-re gondoltam.

Aki tud, segítsen, fontos lenne!
 
1

AJAX

Poetro · 2009. Jan. 7. (Sze), 12.33
Bár amit leírtál nem teljesen egyértelmű, hogy milyen szöveg töltődik újra, de a megoldás AJAX lesz, ha oldal újratöltődés nélkül PHPvel akarod a szöveget generáltatni.
2

A folyamat egyszerű

Adam · 2009. Jan. 8. (Cs), 23.16
Egyszerű, a következő a folyamat:
  1. Link: click event handler definiálása;
  2. Event handler lekéri XMLHTTPRequest-tel az új szöveget;
  3. Beleírja (lecseréli) a visszakapott szöveget (responseText) a régi helyére.

Javallott valamilyen JS könyvtár (jQuery, Prototype, stb.) használata.

jQuery megoldás:

HTML (a link, ha nincs JS, akkor szerveroldalon kér le új idézetet!):

<div id="quote">Idezet</div>
<a href="?action=getNewQuote" id="requestQuote">Uj idezet kerese</a>
Oldal betöltés után lefuttatandó JavaScript:

$('#requestQuote').click(function()
{
    $.get('/getNewQuoteURL', null, function(responseData)
    {
        $('#quote').text(responseData);
    }, 'text');
});
Üdv,
Ádám
3

nem megy

mrtom · 2009. Jan. 9. (P), 18.37
javaslatod kipróbáltam, de nekem a teljes oldalt tölti újra

csatolom az újratöltendő kódot, ha valaki segítene:

<? $textfile ="textbox.txt";$items = file("$textfile");$item = rand(0, sizeof($items)-1);echo $items[$item];?>
4

Szerveroldal != kliensoldal

Adam · 2009. Jan. 9. (P), 20.28
Te ide a szerveroldalt raktad, miközben a kliensoldali how-to-ról kérdeztél minket!