Autor | Zpráva | ||
---|---|---|---|
Ondrej Profil * |
#1 · Zasláno: 5. 7. 2011, 15:48:13
Zdravím!
Již několik hodin řeším drobný problém s jQuery a AJAXem. Jelikož s AJAXem pracuji dnes poprvé, nemám žádné zkušenosti. Chci, aby se se zadáním hesla uživatelem do <input> zobrazila ve vedlejším <div> informace, zda je heslo správné. Pravděpodobně dělám špatně to odeslání proměnných PHP kódu. Zrealizoval jsem to takto, ovšem nefunguje to: jquery.js $(document).ready(function() { $("#pass_change").bind("change",function() { $.ajax({ type : "POST", url : "check_pass.php", dataType : "json", data: { soucasne_heslo: $("#pass_change").val(), uzivatel: $("#user").attr("value") }, success : function(data){ if (data.error == false) $("check_pass").text("Správné heslo"); if (data.error == true) $("check_pass").text("Špatné heslo!"); } }); }); }); check_pass.php <?php sleep(3); $spojeni=mysql_connect("127.0.0.1", "...", "...") or die("Nelze se připojit k MySQL: " . mysql_error()); mysql_select_db("databaze") or die("Nelze vybrat databázi: ". mysql_error()); $vysledek=mysql_query("select hesla from pass where jmena = '".$_POST["uzivatel"]."'"); $serverove_heslo=MySQL_Fetch_Array($vysledek); if (md5($_POST["soucasne_heslo"]) == $serverove_heslo["hesla"]) { $return['error'] = false; } else { $return['error'] = true; } echo json_encode($return); Asi to vidíte na první pohled, já bohužel ne. Co mám špatně, prosím? Děkuji! |
||
Str4wberry Profil |
#2 · Zasláno: 5. 7. 2011, 15:58:49
Ondreji, co si představujete pod takovým slovem „nefunguje“?
|
||
Ondrej Profil * |
#3 · Zasláno: 5. 7. 2011, 16:04:30
Str4wberry:
Ach, děkuji za upozornění; vyjadřuji se neohrabaně. Nic se v <div> nezobrazí. Zůstane nedotčený. Patrně nevykoná výše uvedený kód žádný výstup. |
||
Alphard Profil |
#4 · Zasláno: 5. 7. 2011, 18:11:59
S javascriptem vám moc neporadím, možná ale doporučím nějaký nástroj, který vám pomůže.
Používáte funkce prohlížeče nebo pluginy pro monitorování sítě? Při ladění AJAXu jsou velmi užitečné, zobrazí vám požadavek i odpověď serveru. V Opeře Dragonfly (Ctrl + Shift + I) karta Network. Ale lepší možnosti poskytují pluginy do Firefoxu, např. Firebug. PHP část lze zjednodušit. Ve where může být pomocí and připojena podmínka porovnávající heslo, pak stačí kontrolovat počet vrácených záznamů. |
||
Ondrej Profil * |
#5 · Zasláno: 5. 7. 2011, 18:23:35
Alphard:
Děkuji, Vaše odpověď mi do budoucna velice pomůže! |
||
Ondrej Profil * |
#6 · Zasláno: 5. 7. 2011, 18:25:26
Jinak už jsem tu "záhadu" vyřešil.
Místo: $("check_pass").text("Správné heslo"); Má být: $("#check_pass").text("Správné heslo"); Už jsem se důkladně profackoval, takže snad si to zapamatuji. Každopádně všem moc děkuji! |
||
Witiko Profil |
#7 · Zasláno: 6. 7. 2011, 00:19:34 · Upravil/a: Witiko
Ondrej:
Ještě bych tam pro zkrácení přihodil ternární operátor: $("#check_pass").text((data.error?"Špatné":"Správné") + "heslo"); |
||
Časová prodleva: 13 let
|
0