Wątek przeniesiony 2015-08-26 12:08 z PHP przez dzek69.

Sprawdzenie czy dany rekord jest w bazie bez przeładowania strony

0

Witam,
Dostałem nietypowe zadanie i proszę o pomoc. Od razu zaznaczam, że nie jestem profesjonalnym programistą.

Muszę zrobić pewien (mam nadzieje prosty) skrypt. Mam 4 pola formularza (pole1, pole2, pole3, pole4) i potrzebuje zrobić by po wpisaniu chociażby jednego znaku bez klikania przycisku sprawdzało czy dany rekord jest już w bazie i jeżeli jest, żeby w rogu strony pojawiała się informacja (dany rekord jest już w bazie). Chce też żeby sprawdzało to też wtedy kiedy mam wypełnione np. pole1 i pole3.

Jest w ogóle możliwe takie rozwiązanie?

Pozdrawiam,
Krzysiek

0

A więc php w tym przypadku nie zadziała.... no cóż. A moglibyście jakoś mnie nakierować jak zrobić ten skrypt bo z ajax'em nie miałem nic do czynienia. Chyba będę musiał się go nauczyć bo może się przydać :D

0

PHP zadziała. AJAX to nie język, tylko metoda komunikacji z serwerem. PHP wykona zapytanie do bazy i zwróci Ci dane, a wykona to dzięki zapytaniu AJAX-owemu, które do niego dojdzie. Poczytaj o $.ajax z biblioteki jQuery. Wygodnie obsłużysz zapytanie.

0

Znalazłem coś takiego i lekko przerobiłem:

index.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Ajax</title>
<script type="text/javascript">
function getXMLHttpRequestObject()
{
  try{
    return new XMLHttpRequest();
  }
  catch(e){
    try{
      return new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch(e){
      return false;
    }
  }
}

function pobierzDane()
{
  if(XMLHttpRequestObject){
    var div = document.getElementById("warstwaDanych");
    var przyciskEl = document.getElementById("przycisk1");
    przyciskEl.disabled = false;
    XMLHttpRequestObject.open("GET", "dane.php");
    XMLHttpRequestObject.onreadystatechange = function()
    {
      if (XMLHttpRequestObject.readyState == 4 && 
          XMLHttpRequestObject.status == 200) {
        div.innerHTML = XMLHttpRequestObject.responseText;
        przyciskEl.disabled = false;
      }
    }
    XMLHttpRequestObject.send(null);
  }
}

var XMLHttpRequestObject = getXMLHttpRequestObject();
</script>
</head>
<body>
<div>
<form action="dane.php" method="post">
<input type="text"  name="marka" onKeyDown="pobierzDane();" id="przycisk1" />
</form>
</div>
<div id="warstwaDanych">
</div>
</body>
</html>

dane.php

<?php

echo "Tekst wygenerowany przez skrypt PHP.<br><br>";

?> 

tylko pytanie jak zrobić by formularz wysłał dane, a skrypt dane.php te dane odebrał?

0

Użycie $.ajax z jQuery będzie dużo prostsze, ale skoro chcesz zrobić w czystym js to:
http://www.javascriptkit.com/dhtmltutors/ajaxgetpost2.shtml
Później w php po prostu odczytujesz przesłane dane z tablicy POST w tym przypadku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1