Autor Zpráva
WordpressKokos
Profil
Zdravím:

Chtěl bych odměnovat uživatele za to že jsou 10 minut na stránce kód mám:

<form id="mainForm" target="Submit" action="" method="post">
</form>

<input type="hidden" name="Submit" />

<script type="text/javascript">
function submitHidden( )
{
    document.getElementById("mainForm").submit();
}
window.onload = setInterval( submitSubmit, 10*60*1000 );
</script>


Což v podstatě má pomoct volání skriptu v php:

if(isset($_POST['Submit']))
{
    $coins = 10;
    
                
            //update balance
            mysqli_query($conn, "UPDATE users SET balance = balance + '$coins' WHERE username= '".$_SESSION['username']."'");
            
}

Vůbec se ten javascript nespouští což je pochopitelné jelikož nerozuím v javaskriptu ani tečku. Prosím pomoc.
Keeehi
Profil
submitSubmit není submitHidden

Počítej s tím, že to někdo objeví a bude to odesílat "ručně".

A má to ještě jednu vadu, ta stránka se refershne po těch deseti minutách. Za to bych tě jako uživatel zabil.
WordpressKokos
Profil
Pohoda, čeknu v php time() a pokud někdo odešle dřiv jak 10 minut objeví se mu tučný error :D :D


Počkal jsem 1 minutu a otevřelo to novou záložku s tou samou stránkou a nic se mi nepřičetlo


A ješte mi to ukázalo chcete povolit vyskakovací okno ????
WordpressKokos
Profil
Co potřebuji je javascript který komunikuje s php na té samé stránce


Je vůbec možné spojit javascript s php a nenačist přitom stránku znovu ?
Keeehi
Profil
WordpressKokos:
Je vůbec možné spojit javascript s php a nenačist přitom stránku znovu ?
Ano, říká se tomu AJAX.
WordpressKokos
Profil
<form id="mainForm" name="reload" action="" method="post">
<input type="hidden" name="Submit" />
</form>


<script type="text/javascript">
function submitreload( )
{
    document.getElementById("mainForm").submit();
}
window.onload = setInterval( submitreload, 10*60*1000 );
</script>


Kód změněn už to funguje. Ale jop, furt se ta stránka musí reloadovat.

Můžeš mi ukázat kousek kódu v AJAX jak by tato jquery funkce mohla fungovat v AJAX ?

díky
Keeehi
Profil
WordpressKokos:
Můžeš mi ukázat kousek kódu v AJAX jak by tato jquery funkce mohla fungovat v AJAX ?
A otevřel jsi ten odkaz? Kód je tam hned na začátku.

Ale víš co? Pro tebe bude nejlepší přidat na stránku neviditelný iframe s nějakým name a tomu formuláři nastavit target s tím samým, co napíšeš do máme ifarmu.
WordpressKokos
Profil
No ale jak potom udělám:

if(isset($_POST['Submit'])) jaký je ten if statement pro iframe


Díky že se mnou máš trpělivost :D
Keeehi
Profil
WordpressKokos:
jaký je ten if statement pro iframe
Úplně stejný. Na PHP to nemá vliv. Formulář se odesílá pořád úplně stejně. Jen to, že se odešle do skrytého rámu způsobí, že se stránka znovu nenačte.
WordpressKokos
Profil
a aby se lidem refresho session a nebyly vyhození po té co expirují session můžu za if(isset($_POST['Submit'])){ dát session_start(); ?

Mám ho tam když se načte stránka ale potom se už načítá jen to if(isset($_POST['Submit'])){ v tom iframe že ?
Keeehi
Profil
WordpressKokos:
session_start() musíš volat pokaždé (ale vždy jen jednou v rámci jednoho běhu scriptu) když chceš pracovat s polem $_SESSION. S expirací to nemá co dělat.
Dobu, po kterou je session minimálně aktivní určují konfigurační volby session.gc_maxlifetime a session.cookie_lifetime. Do doby nastavené těmito volby bude session existovat. Po této době už nemusí (ale stále může).

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: