Temat: Odczytanie danych po hashu z URL i ich obróbka

Mam pewien problem. Chodzi o to, że chcę zczytać dane po hashu z
url, a PHP mi tego nie oferuje i muszę wszystko przerobić na
Javascript, a nie mam pojęcia jak to zrobić.

W PHP miałem taki kod, jak poniżej. Czyli skrypt sprawdzał
pokolei, czy jest cookies i jeśli jest to wrzucał go w $zmienna,
jeśli nie ma, a jest odpowiedniej długości ciąg znaków w URL to
wrzucał określoną część z URLa do zmiennej. Jeśli żadnej z
tych dwóch opcji nie ma to daje mój ciąg znaków.


<?php ob_start();
session_start();
$ciag = 9;
$nas = $_SERVER['REQUEST_URI'];
$nas1 = strlen($nas) - $ciag - 2;
$login = substr($nas,$ciag, $nas1);
if (isset($_COOKIE['ciacho'])) {
$zmienna = $_COOKIE['ciacho'];
} elseif ($nas1 > 4)
{
$zmienna = $login;
}
else
{
$zmienna = 'mojtekst';
}
setcookie('ciacho', $zmienna, time() +(3600*24), '/' );
ob_end_flush();
?>


Jednak takie rozwiązanie mi nie pasuje i chciałbym mieć
zczytywanie danych po hashu z URL z zachowaniem takiej samej
kolejności. Tu się kłania Javascript.

Skrypt musi sprawdzać pokolei:
1. czy jest cookies i jak jest to podstawić do zmiennej
2. jeśli nie to zczytuje dane z hasha i podstawiam do zmiennej
3. żaden z powyższych to wstawiam własny ciąg znaków pod hash

a zmienną już mogę podstawić, gdzie chcę.
Cookies 24 godziny, jak wyżej.

Samo zczytywanie z hasha nie jest takie trudna, ale jak zrobić
resztę.



Mam kilka części tego skryptu, ale nie wiem, jak to połączyć,
aby działało:

Zczytywanie hash z url, ale bez podstawienia do zmiennej o nazwie
"zmienna"

<script type="text/javascript">
function init()
{ if (document.location.hash == "")
{
document.getElementById("url").href = 'mojtekst';
} else {


document.getElementById("url").href=window.location.hash.substring(1);


<!-- substring(1); usuwa "#" -->
}
}

window.onload=init;
</script>


zapisanie i odczytanie cookies:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<title>Ciacho</title>
</head>

<body>
<script type="text/javascript">
var tresc='Treść pierwszego cookie'; //ustalamy treści cookie
tresc=escape(tresc); //kodujemy tekst (w tym przykładzie nie jest
to niezbędne)
document.cookie="ciastko1="+tresc; //tworzymy cookie o nazwie
ciastko1

var waznosc=new Date(); //tworzymy nowy obiekt zawierający datę
var tresc='Treść stałego cookie'; //ustawianie treści cookie
tresc=escape(tresc); //kodowanie tekstu
waznosc.setTime(waznosc.getTime()+1000*60*60*24*7); //ustawianie
daty wygaśnięcia (na 7 dni)
document.cookie="ciastko2=" + tresc + ";expires=" +
waznosc.toGMTString(); //tworzy cookie, parametr expires oznacza
termin wygaśnięcia

function czytaj_ciacho(nazwa)
{
nazwa+="="; //uzupełnia nazwę
startCookie=document.cookie.indexOf(nazwa); //sprawdza czy
istnieje cookie o podanej nazwie
if (startCookie==-1) {return ""} //jeżeli nie istnieje
startCookie+=nazwa.length; //początek treści cookie
if (document.cookie.indexOf(";",startCookie)==-1) //jeżeli jest
więcej cookie
{
koniecCookie=document.cookie.length; //jeżeli nie ma podstawia
jako koniec cookie, koniec całego tekstu
}
else
{
koniecCookie=document.cookie.indexOf(";",startCookie); //
podstawia pod koniec miejsce występowania ";" (czyli początek
następnego cookie)
}
textCookie=document.cookie.substring(startCookie,koniecCookie);
//kopiuje treść cookie
textCookie=unescape(textCookie); //rozkodowuje treść
return textCookie; //zwraca wartość
}
</script>
<script>
document.write("lol");
document.write(czytaj_ciacho("ciastko1"));

</script>
</body>
</html>


Ja chce móc użyć w treści lub linku

document.write("zmienna");

i to w kilku miejscach
Dlatego muszę mieć info z hasha w zmiennej.
Na koniec ewentualnie znalazłem taki skrypt i on również mógłby
pomóc, ale o ajaxie nie mam pojęcia:
http://www.queness.com/post/328/a-simple-a...-with-jqu...

Jak to wszystko połączyć ze sobą, aby to zadziałało, jak
potrzebuję.
Technologia dla mnie nie jest istotna, bo chcę, żeby to działało.

Chodzi o to, że przeczytałem, że żeby to zrobić muszę wykorzystać javascript do zczytania hasha, ajax do połaczenia i przekazania danych do PHP, a w PHP mogę to bez problemu obrabiać. Takie rozwiązanie byłoby super, ale nie wiem, jak to zrobić.

konto usunięte

Temat: Odczytanie danych po hashu z URL i ich obróbka

Arkadiusz Zielazny:
Mam pewien problem. Chodzi o to, że chcę zczytać dane po hashu z url, a PHP mi tego nie oferuje

a manuala czytal?

$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));

konto usunięte

Temat: Odczytanie danych po hashu z URL i ich obróbka

Wojciech Zbigniew Piotrowicz:
Arkadiusz Zielazny:
Mam pewien problem. Chodzi o to, że chcę zczytać dane po hashu z url, a PHP mi tego nie oferuje

a manuala czytal?

$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));

Nie.... adresu URL z pola tam na gorze, w przegladarce NIE DA sie przeczytac tego co jest po # uzywajaz PHP. Ten element nie jest nigdy przekazywany do servera przez przegladarke i jedyny sposob by to odczytac jest cos po stronie clienta - flash, js etc.Andrzej Winnicki edytował(a) ten post dnia 29.06.10 o godzinie 22:39

konto usunięte

Temat: Odczytanie danych po hashu z URL i ich obróbka

Andrzej Winnicki:
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));

Nie.... adresu URL z pola tam na gorze, w przegladarce NIE DA sie przeczytac tego co jest po # uzywajaz PHP.

ok, jakos nigdy nie musialem tego parsowac, a funkcja mi przyszla na mysl, bo się kiedys natknalem ;-)

mea culpa.

konto usunięte

Temat: Odczytanie danych po hashu z URL i ich obróbka

a o $_SERVER[] słyszał?

konto usunięte

Temat: Odczytanie danych po hashu z URL i ich obróbka

Sebastian Zaborowski:
a o $_SERVER[] słyszał?

No nieeeee.. nastepny :) Serio... poczytajcie najpierw, upewnijcie sie a dopiero potem robcie sugestie. Zostalo juz ustalone iz potrzeba do tego JSa, kolega ma teraz konkretny problem i lepiej zasugerowac mu cos w tym temacie niz naprowadzac na droge, ktora nie istnieje ;)

konto usunięte

Temat: Odczytanie danych po hashu z URL i ich obróbka

<script type="text/javascript">
alert(location.hash);
</script>

Następna dyskusja:

Pobranie danych z innej strony




Wyślij zaproszenie do