Witam,
mam 2 pytania:
**1. **mam zmienną $sessionID = 0; którą tworzę sobie gdzieś na początku mojej strony.
W pewnym momencie muszę przesłać dane z tej zmiennej dalej po kliknięciu na przycisk. Zrobiłem więc to:
<?php
$funkcja = "getData('wordsToReview.php&sessionID=$sessionID', 'pytanieodpowiedz')";
echo "<button onclick=$funkcja>Kliknij zeby odswiezyc</button>";
?>
Tylko, że w firefoxowym "Inspektorze" widzę, że button na stronie wygląda tak:
<button 'pytanieodpowiedz')="" onclick="getData('wordsToReview.php&sessionID=0',"> … </button>
Więc z tego wynika, że gdzieś cudzysłowy się zdublowały. Co w takiej sytuacji zrobić? Jest jakiś trzeci typ cudzysłowy w PHP? ^^
2. Powyżej przesyłam dane za pomocą AJAX'u do innego pliku PHP, po czym po otrzymaniu danych odświeżam DIV'a.
Jak widać, przesyłam dane zmiennych metodą GET (czyli zamieszczam zmienne w adresie strony). A jak to wygląda metodą POST?
Tak wygląda funkcja którą używam do wymiany danych z serwerem:
// tworzymy zmienna
var object = false;
// tworzymy obiekt XMLHttpRequest (dla IE jest troche inaczej, stad funkcja warunkowa)
if (window.XMLHttpRequest) object = new XMLHttpRequest();
else if (window.ActiveXObject) object = new ActiveXObject("Microsoft.XMLHTTP");
if(!object){
alert("Błąd podczas tworzenia XMLHttpRequest");
}
// ponizsza funkcja pobiera dane ze wskazanego zrodla (pliku lub skryptu php) do wskazanego
// DIVa poprzez obiekt XMLHttpRequest
function getData(dataSource, divID)
{
// kontynuuje wylacznie gdy obiekt nie jest zajety
if (object.readyState==4 || object.readyState==0)
{
// tworzy zmienna odpowiadajaca konkretnemu obiektowi na stronie
var obj = document.getElementById(divID);
// czyta z pliku lub wykonuje skrypt
object.open("GET", dataSource);
// definiuje metode obslugi odpowiedzi serwera
object.onreadystatechange = function()
{
// kontynuuje jesli transmisja zostala zakonczona powodzeniem
if (object.readyState == 4 && object.status == 200)
obj.innerHTML= object.responseText;
}
// wysyla zadanie do serwera
object.send(null);
}
}