Autor Zpráva
hexcross..
Profil *
Zdravím postupuji přesně podle tohoto návodu na zive.cz :
http://programovani.blog.zive.cz/2009/07/ajax-jednoducha-kontrola-jmena-ve-formulari/

Takže : test.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">
  <head>
  <meta http-equiv="Content-Language" content="cs" />
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Ajax</title>
    <script type="text/javascript" src="ajax.js"></script>
    <style type="text/css">
      #cilovyDiv {
      width: 184px;
      height: 23px;
      border:1px solid #000;
      margin: 20px 0px 0px 0px;
      }
      
      </style> 
</head>

<body>
  <input type="text" id="jmeno" value="" onkeyup="ziskejjmeno()" /> <br />
  <div id="cilovyDiv"></div>
</body>

</html>


ajax.js
function ziskejjmeno() {

var XMLHttpRequestObjekt = false;if (window.XMLHttpRequest) {
XMLHttpRequestObjekt = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttpRequestObjekt = new ActiveXObject("Microsoft.XMLHTTP");
}

//————————————————


var input=document.getElementById("jmeno");
var cilovyDiv = document.getElementById("cilovyDiv");
if(XMLHttpRequestObjekt) {
XMLHttpRequestObjekt.open("POST","zpracuj.php", true);
XMLHttpRequestObjekt.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

XMLHttpRequestObjekt.onreadystatechange = function()
{
if (XMLHttpRequestObjekt.readyState == 4 && XMLHttpRequestObjekt.status == 200) {
var obsah=XMLHttpRequestObjekt.responseText;if(obsah.responseText == "ne"){
cilovyDiv.innerHTML = "<div>ZMENTE JMÉNO.</div>";}
if(obsah.responseText == "ano"){
cilovyDiv.innerHTML = "<div>VOLNÉ.</div>";}}}
XMLHttpRequestObjekt.send("jmeno="+input.value);}}


zpracuj.php
<?php 
require "config.inc.php";
require "data/sql.php"; 


 $prom=$_REQUEST["jmeno"];
 $dotaz=mysql_query("SELECT * FROM lab_users WHERE `login`='$prom'");
 $pocet=mysql_num_rows($dotaz);

if($pocet>0){echo "ne";}
elseif($pocet==0){echo "ano";}

?>


V DB jsou samozřejmě data a je to připojeé v pořádku (pokud dosadím prom ručně, script zpracuj.php správně vypíše)

Nenapadá Vás kde může být problém? S Ajaxem začínám. Díky.
hexcross..
Profil *
Vyřešeno, udělal jsem pár změn v ajax.js , třeba to někomu v budoucnu pomůže :
function ziskejjmeno() {

var XMLHttpRequestObject = false;if (window.XMLHttpRequest) {
XMLHttpRequestObjekt = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttpRequestObjekt = new ActiveXObject("Microsoft.XMLHTTP");
}

//————————————————


var input=document.getElementById("jmeno");
var cilovyDiv = document.getElementById("cilovyDiv");
if(XMLHttpRequestObjekt) {
XMLHttpRequestObjekt.open("POST","zpracuj.php", true);
XMLHttpRequestObjekt.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

XMLHttpRequestObjekt.onreadystatechange = function()
{
if (XMLHttpRequestObjekt.readyState == 4 && XMLHttpRequestObjekt.status == 200) {

if(XMLHttpRequestObjekt.responseText == "ne"){
cilovyDiv.innerHTML = "<div>ZMENTE JMÉNO.</div>";}

if(XMLHttpRequestObjekt.responseText == "ano"){
cilovyDiv.innerHTML = "<div>VOLNÉ.</div>";}}}
XMLHttpRequestObjekt.send("jmeno="+input.value);}}
pcmanik
Profil
hexcross..:
Mala poznamka k tvojmu kodu, namiesto volania funkcie mysql_num_rows pouzi funkciu COUNT(*) priamo v sql dotaze. Zrychli sa ti ten skript.
hexcross..
Profil *
pcmanik:
Díky, využijem toho :)

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:

0