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
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 *
_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
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í?

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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