Tutaj podaję kod pliku "index.php"
<?php include("skrypt.php"); ?> <script type="text/javascript" src="javascript/jquery-1.5.2.js"></script> <script type="text/javascript"> $(document).ready(function(){ $.post('index.php', {poziom: 10}); }); $(document).ready(function(){ $('#przycisk1').click(function(){ $.post('index.php', $('#formularz').serializeArray()); }); }); </script> <div id="strona"> <?php wypelnienie($_POST['poziom']) ?> <form id="formularz"> <input type="text" name="poziom" /> <input type="button" name="przycisk1" value="Wyślij" /> </form> </div>
Bardzo prosty kod, żeby nie zaśmiecać. A więc do rzeczy. Problem polega na tym, że po załadowaniu strony, serwer PHP wyrzuca błąd, iż nie ma pojęcia, co to takiego jest "poziom". Informację tę powinien przesłać mi ten fragment kodu
$(document).ready(function(){ $.post('index.php', {poziom: 10}); });
A więc zaraz po załadowaniu DOM, powinien metodą POST przesłać do pliku index.php (a więc siebie samego) informację, że "poziom" w tablicy POST ma wartość 10. Jednak tego nie robi, próbowałem to samo zrobić funkcją .ajax(), ale efekt ten sam. Wie ktoś, co jest nie tak? A może po prostu nie można przesyłać danych tymi funkcjami do tego samego pliku? Gdy stosowało się zwykły formularz HTML i w action podało nazwę tego samego pliku, to to działało, ale może tu jest inaczej?
Sprawa tak samo ma się przy drugiej funkcji, a więc gdy wciskam przycisk, serwer PHP nadal twierdzi, że nie ma pojęcia, co to jest "poziom".