Autor Zpráva
Kuladin
Profil *
Podle návodu ze serveru programujte.com http://programujte.com/?akce=komentare&cl=2008123000-ajax-v-praxi-kontrola-uzivatelskych-jmen
jsem se snažil vytvořit kontrolu uživatelských jmen, ale něják mi to nejde a nevím kde je chyba
moje soubory:
a.php:
<head><style>div#nick {
  background: white;
  border:1px solid #888888;
  visibility: hidden;
  margin: 10px 0 0 0;
  text-align: center;
  font-family: Verdana, Arial;
  font-size: 0.8em;
  width: 155px
}

span.dobre {
  color: green;
}

span.spatne {
  color: red;
}
</style></head>


 <link rel="stylesheet" type="text/css" href="style.css">
    <script src="ajaxforms.js" type="text/javascript" language="javascript"></script>
  
    <form action="" method="post" name="ajaxform">
      <input name="nick" value="" size="20" onkeyup="kontrola(this)" type="text"><br>
      <div id="nick"></div>
    </form>

kontrola.php
<?php

  
    $spojeni = mysql_connect("localhost", "jmeno", "heslo");
    mysql_select_db("databáze");
  
    $dotaz = "SELECT * FROM uzivatele where nick='" . mysql_real_escape_string($_GET['hodnota']) . "'";
    $pozadavek = mysql_query($dotaz);
    $vysledek = mysql_num_rows($pozadavek);

    if ($vysledek == 0) {
      $zprava = 'Je k dispozici';
      $trida = "dobre";
    } else {
      $zprava = 'Není k dispozici';
      $trida = "spatne";
    }

  
  echo "<?xml version='1.0' encoding='UTF-8'?>
  <span class="\"$trida\"">$zprava</span>";

  die();
  
?>

ajaxforms.js
<script>
var AJAXForms;
var idVysledku;
try { 
  AJAXForms = new XMLHttpRequest(); 
} 
catch (e) { 
  try { 
    AJAXForms = new ActiveXObject("Msxml2.XMLHTTP"); 
  } 
  catch (e) { 
    try { 
      AJAXForms = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    catch (e) { 
      alert("Váš prohlížeč nepodporuje AJAX!"); 
      return false; 
    } 
  } 
}

function kontrola(policko) {
  AJAXForms.onreadystatechange = zmenaHlaseni;
  AJAXForms.open("GET", "kontrola.php?proces=ajax&pole=" + policko.name + "&hodnota=" + policko.value, true);
  idVysledku = policko.name;
  AJAXForms.send(null);
}

function zmenaHlaseni() {
  if (AJAXForms.readyState == 4) { 
    var vysledek = document.getElementById(idVysledku);
    vysledek.innerHTML = AJAXForms.responseText;
    vysledek.style.visibility = "visible"; 
  }
}
</script>


Nikde mi to nic nevypíše nevím jak mám pokračovat....
fajzen
Profil
skúste dať v zmenaHlaseni() namiesto
var vysledek = document.getElementById(idVysledku);
vysledek.innerHTML = AJAXForms.responseText;
vysledek.style.visibility = "visible"; 


alert(AJAXForms.responseText);


aby ste videli, či je chyba v JS alebo PHP
Kuladin
Profil *
No dám to tam a prostě to nic nevyhodí. Nikde nic na stránce je pouze kolonka pro zadání jména a jinak nic i když to tam napíšu.
fajzen
Profil
aha, problém je niekde úplne inde... do externého skriptu nepatria tagy <script></script>
Kuladin
Profil *
hmm to taky nepomohlo,

Moderátor Mistr: Pravděpodobně to ještě nevíš, ale zapsání tří písmenek m těsně za sebou zde na diskusi znamená upozornění moderátora na dané téma. Pravděpodobně jsi to neměl v úmyslu (jedno m jsem Ti z příspěvku umázl). Proto ber tuto informaci jen jako upozornění pro příště.
fajzen
Profil
tak potom naozaj neviem... skúste poslať odkaz na živú ukážku, ak je to možné

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: