Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoc oko proste AJAX skripte...

[es] :: Javascript i AJAX :: Pomoc oko proste AJAX skripte...

[ Pregleda: 1572 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sicko87
Nis

Član broj: 223670
Poruke: 62
*.adsl.verat.net.

Jabber: sicko@elitesecurity.org


+1 Profil

icon Pomoc oko proste AJAX skripte...04.07.2009. u 22:27 - pre 180 meseci
Molio bih ako neko moze da mi napise ovde kod za jednu prostu skriptu koja ce recimo kad stavim u formi onBlur="proveri()" da recimo mogu da posaljem na stranu pisanu u PHP-u parametar iz polja forme i recimo da na taj nacin proverim dali ima u bazi username registrovan i sl.Recimo,funkcija proveri() bi trebalo da vraca vrednosti true ili false.Jos jedna stvar,vrlo je bitno da te vrednosti budu smestene u JS promenljivu da mogu da iz JavaScripta odredim dalji sled radnji...
Znaci,posaljem parametar iz polja forme u recimo "proveri.php",pri tom ne znam koji metod treba da se koristi(GET ili POST) i sad da vrednost polja bude smestena u php promenljivu da bi na strani proveri.php mogao da vrsim provere a da rezultat (true-false) bude vracen u JS promenljivu.Hvala unapred.

 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
77.105.18.*



+33 Profil

icon Re: Pomoc oko proste AJAX skripte...05.07.2009. u 09:18 - pre 180 meseci
Evo ovo je u suštini sve što bi trebao da imaš u toj JS f-ji, ali ako ideš sa jQuery-jem:
Code:

function provera(username) {
 $.ajax({
   type: 'POST',
   url: 'proveri.php',
   data: 'username=' + username,
   success: function(msg){
     if (msg == 'false') {
        $('#greska').html('Taj username vec postoji u bazi.');
     }
   }
 });
}

I recimo, sad ti imaš ovakav neki HTML:
Code:

<p>
Username: <span id = "greska"></span> <br />
<input type = "text" name = "username" onblur = "provera(this.value);" /> 
</p>

I onda će se u slučaju da onaj PHP vrati string 'false', u tom span-u ispisati ona poruka...
 
Odgovor na temu

sicko87
Nis

Član broj: 223670
Poruke: 62
*.adsl.verat.net.

Jabber: sicko@elitesecurity.org


+1 Profil

icon Re: Pomoc oko proste AJAX skripte...05.07.2009. u 10:19 - pre 180 meseci
Najpre hvala na ovako jasnom odgovoru...Jos jedno pitanje,sajt na kome mi ovo treba sam zamislio tako da nema registracije a primer za username sam dao samo ilustrativno.Ono sto mi zapravo treba je da ako neko u komentarima na sajtu pise pod nekim imenom da to ime bude poslato u proveri.php pa ako prvi put pise pod tim imenom da zatrazi automatski u JS promptu sifru i da to prosledim u npr. ime_upis.php stranu (na kojoj ce da upise u bazu-to mi nije problem),a ako vec neko "pise" pod tim imenom da mu izbaci link ispod "Unesi sifru za pisanje pod tim imenom" i da klikom na njega zatrazi u JS promptu sifru pa da posalje u proveri_sifru.php pa ako ova strana vrati false da ispise na primer "Greska u unosu sifre."

Znaci,potrebno mi je samo kako da prosledim promenljive u php strane i da ih vratim u JS(kao sto ste gore naveli) a sto se tice izrade samih php strana i JS sled dogadjaja to mi nije problem.Hvala jos jednom.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
77.105.18.*



+33 Profil

icon Re: Pomoc oko proste AJAX skripte...05.07.2009. u 12:30 - pre 180 meseci
A što bi uopšte za unos komentara nekome tražio šifru? Ok, neću da se mešam u to, ali samo ja mislim da bi pametnije bilo da ako ustanoviš da korisnik ne postoji, onda ne radiš ništa specijalno, puštaš ga da dalje unosi password, tekst komentara, itd., a tek onda tamo na server-side logici, upišeš podatke u bazu...

Mogao bi onda u tom cilju onaj kod od malopre da modifikuješ ovako:
Code:

<p>
Username: <br />
<input type = "text" name = "username" onblur = "provera(this.value);" /> 
</p>

<p id = "password_box" style = "display: none:">
Password:  <br />
<input type = "password" name = "password" id = "password" /> 
</p>

<input type = "hidden" id = "postojeci" value = "false" />

//ostatak forme

A u JS-u:
Code:

function provera(username) {
 $.ajax({
   type: 'POST',
   url: 'proveri.php',
   data: 'username=' + username,
   success: function(msg) {
     $('#password_box).show();
     $('#password).focus();
     if (msg == 'true') { //Ako korisnik sa tim username-om vec postoji
        $('#postojeci).val('true');
        $('#tekst').attr('disabled', 'disabled');
     }
   }
 });

I šta se tu dešava, nakon što korisnik unese username, a ustanovi se da taj username postoji, to skriveno polje će da se podesi na true, kako bi tamo u PHP znao da NE treba da unosiš novog korisnika. Takođe, polje za unos teksta će da se disable-uje, sve dok korisnik ne unese tačan password. To sad isto sam možeš da realizuješ sa nekim AJAX-om. A ako korisnik ne postoji, u svakom slučaju će se prikazati i polje za unos password-a, ovo skriveno polje će ostati false, i ti ćeš onda uneti novog korisnika i komentar.

Kao što vidiš, ja sam ti dao primer bez prompt-ova, jer te provere s klijentske strane mogu lako da se zaobiđu. Ovako ćeš u svakom slučaju na server da šalješ i password koji je korisnik uneo, kako bi i tu vršio dodatnu proveru.
 
Odgovor na temu

[es] :: Javascript i AJAX :: Pomoc oko proste AJAX skripte...

[ Pregleda: 1572 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.