Autor | Zpráva | ||
---|---|---|---|
visionic Profil * |
Ahoj lidi,
řeším tu problém s AJAXEM nebo neschopnost mít čas naučit se pochopit AJAX. Problém je v tom, že používám vše zastarale a snažím se zdokonalit běh webu a trochu ho modernizovat. Mám tedy funkční php script a html formulář a chtěl bych do něj zapojit AJAX, aby se mi po odeslání formuláře nereloadovala znovu stránka. Pomůže mi někdo? PHP if (isset($_POST['login']) && ($_POST['login'] != "" && ($_POST['login'] != "login")) && isset($_POST['pass']) && ($_POST['pass'] != "")) { $host = "tajne"; $user = "tajne"; $pwd = "tajne"; $db = "tajne"; @$link = mysql_connect($host, $user, $pwd); if ($link) { if (mysql_select_db($db, $link)) { $sql = "SELECT * FROM user WHERE login='" . $_POST['login'] . "' AND pass=MD5('" . $_POST['pass'] . "') LIMIT 1;"; $result = mysql_query($sql5, $link); if ($result) { if ($row = mysql_fetch_assoc($result)) { $_SESSION = $row; $_SESSION['auth'] = "authed"; } mysql_free_result($result); } } mysql_close($link); } HTML <form method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>"> <input class="alert-login" name="login" type="text" value="" placeholder="Zadejte uživatelské jméno" required> <input class="alert-password" name="pass" type="text" value="" placeholder="Zadejte heslo" required> <input class="alert-button cursor" name="submit" type="submit" value="OK"> </form> Zde je vše potřebné a teď bych potřeboval postrčit. Už se mi několikrát stalo, že to za mě celé někdo napsal, což by bylo vhodné. ALE raději bych potřeboval pochopit podstatu a dokopat k výsledku, než k hotovému řešení. Upozorňuji že v javascriptu umím jen události a nebo používat jquery dle návodu. PHP a HTML5 a CSS3 jsou na lepší znalostní bázi. Děkuji všem za pomoc. V php kodu jsem tedka udelal chybku pri postovani sem. Proto bych na ni nekladl duraz. Nejde preci o php kod. |
||
_es Profil |
#2 · Zasláno: 30. 1. 2016, 13:11:27
visionic:
„používám vše zastarale“ „a trochu ho modernizovat“ „chtěl bych do něj zapojit AJAX, aby se mi po odeslání formuláře nereloadovala znovu stránka.“ Čo je „zastaralé“ a „nemoderné“ na tom, že po odoslaní prihlasovacích dát vráti server novú stránku? A čo by tým „moderným“ spôsobom získal návštevník? Na odoslanie formulára bez reloadu stránky ani nie je treba JS - stačí ho nasmerovať do iframe na stránke alebo do nového okna. Otázne je však, čo sa má po odoslaní formulára či po dokončení PHP skriptu stať - to si nenapísal. |
||
visionic Profil * |
_es:
1. Nechci reload stranky z duvodu ze mam pomoci javascriptu vyvolanou tabulku s logovanim a pri reloadu zmizi a ja bych chtel aby zustala. 2. Stane se zalogovani uzivatele do SESSIONS. Z odeslaneho formulare najde schodu loginu a pokud se za md5 heslo shoduje, nacte uzivatele do sessions a prida mu hodnotu sessions authed a tim se mu otevre uzivatelske opravneni, ktere se urcuje podle hodnoty prav v tabulce. Toto mi funguje, jen nechci ten reload. _es: Chci s ajaxem začít a chci ho používat ve formulářích, proto by mi tato věc pomohla a dále si ho budu rozvíjet sám. Jsem samouk a vše mám tvořené samo sebou. Proto to nechci řešit iframem. Aby jsi to pochopil, zde je odkaz: visionic.cz Po kliknutí na zámek vpravo nahoře v menu. |
||
_es Profil |
visionic:
„z duvodu ze mam pomoci javascriptu vyvolanou tabulku s logovanim a pri reloadu zmizi“ No a to je taký problém, spraviť PHP skript tak, aby vrátil to, čo chceš aby na stránke bolo? visionic: „Chci s ajaxem začít a chci ho používat ve formulářích“ Z prísneho pohľadu sa vlastne AJAXom ani formuláre neodosielajú. Ide o zobratie dát z formulára a ich odoslanie inak ako odoslaním formulára. Čo má aj niektoré negatíva, vyplývajúce z toho, že z pohľadu prehliadača formulár odoslaný nebol, závislosť na zapnutom JS,... |
||
visionic Profil * |
#5 · Zasláno: 30. 1. 2016, 17:09:27
_es:
No kdybych věděl jak, tak bych to dávno udělal. Jen jsem žil v domění, že php neumí odeslat formulář bez reloadu. Musí přece odeslat hodnoty POST ne? |
||
_es Profil |
#6 · Zasláno: 30. 1. 2016, 17:13:26
visionic:
„Jen jsem žil v domění, že php neumí odeslat formulář bez reloadu.“ PHP predsa beží na serveri, formulár odosiela prehliadač. „No kdybych věděl jak“ No však máš predsa plný prístup k PHP skriptu, tak ho sprav tak, aby bola jeho výstupom aj tá „tabulka s logovanim“. |
||
visionic Profil * |
_es:
„No však máš predsa plný prístup k PHP skriptu, tak ho sprav tak, aby bola jeho výstupom aj tá ‚tabulka s logovanim‘.“ Mozna uz jsem te pochopil. Jdu to teda zkusit. Mam vlastne takhle udelanej alertbox, pri odeslane hodnote se zobrazi a rekne, zda je to odeslane a nebo je neco spatne. Tak problem vyresen, sice me stve ten reload, ale s tim se zit da. Ale jen jsem se chtel zeptat, protoze mi to vyznelo tak, ze nemam zapojit do chodu stranky ajax. Nejaky duvod? Urcite v jinych strankach bych chtel zapojit treba nacitani produktu. Zobrazeni je po devíti produktech a po kliknutí jich prida dalsich 9. Tohle resit pouze pres javascriptem je asi dost prasácký, když vezme a načte dopředu 250produktů a pak je postupne budu zobrazovat po devíti. Nebylo by lepší načíst je až po kliknutí? |
||
Časová prodleva: 9 let
|
0