Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jquery, sprawdzenie czy mail jest już w bazie
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Qbaaa
Witam.
Mam taki problem.
Jest pole input w formularzu do którego wprowadzamy adres mail.
Obok jest przycisk 'dodaj'.
Po kliknięciu w przycisk 'dodaj' wywołuję fukncję jquery
  1. $(document).ready(function(){
  2.  
  3. $('#dodaj').click(function(){
  4. var checkmail = document.getElementById("mail")
  5. //alert(checkmail.value);
  6. $.ajax({
  7. url: "checkMail.php",
  8. data: { mail: checkmail.value },
  9. pobierz: function (XMLHttpRequest) {
  10. $("#wykaz").html("Trwa sprawdzanie.");
  11. },
  12. success: function(msg) {
  13. $("#wykaz").html(msg);
  14. },
  15. error: function (XMLHttpRequest, textStatus, errorThrown) {
  16. $("#wykaz").html('Błąd.');
  17. }
  18. });
  19. });
  20. });

które sprawdza czy taki mail jest już w bazie i zwarca true or false.
Teraz moje pytanie jak odebrać to true or false i w zależności od wyniku dodać mail do bazy lub nie ?

Aha Dodanie maila do bazy chciałbym zrobić phpem nie ajaxem.
Turson
Dodaj jeszcze do ajaxa:
Kod
type: 'POST'


w checkMail.php odbierasz $_POST['mail'] i sprawdzasz, dodajesz do bazy lub nie i zwracasz np. true/false. Następnie w success sprawdzasz czy msg==true lub msg==false i wyświetlasz odpowedni komunikat userowi
Qbaaa
Dane odbieram GETem
plik checkMail.php wygląda następująco
  1. <?php
  2. require_once('./libs/Db.class.php');
  3. $dbh = new MySql();
  4. $mail = "'".$_GET['mail']."'";
  5.  
  6. $sql = "SELECT id FROM mail WHERE mail=".$mail;
  7.  
  8. $result = $dbh->get_record($sql);
  9. if(is_object($result)){
  10. //print_r(json_encode($result));
  11. $a = array('value'=>true);
  12. $json = json_encode($a);
  13.  
  14. }else {
  15. $a = array('value'=>false);
  16. $json = json_encode($a);
  17.  
  18. }
  19.  
  20. ?>


Zaraz sprawdzę czy zadziała

##################################################
coś nie trybi sad.gif
plik checkMail.php
  1. $sql = "SELECT id FROM mail WHERE mail=".$mail;
  2.  
  3. $result = $dbh->get_record($sql);
  4. if(is_object($result)){
  5. return true;
  6. }else {
  7. return false;
  8. }


Takie coś nie działa.
Nie zwraca mi true/false z pliku checkMail.php do skryptu js.. :/
Turson
Złe zapytanie. Powinno być
  1. $sql = "SELECT id FROM mail WHERE mail='{$mail}'";


Sprawdź też błędy w konsoli.
trueblue
echo nie return
Qbaaa
Zapytanie myślę że jest ok, sprawdzałem i znajduje szukany rekord w bazie.
Coś jest nie tak z komunikacją między skryptem .js a plikiem php




Cytat(trueblue @ 14.06.2014, 17:00:51 ) *
echo nie return


faktycznie, działa exclamation.gif!!!!!
Dzięki wam obu :-)

Cytat(Turson @ 14.06.2014, 16:35:10 ) *
Złe zapytanie. Powinno być
  1. $sql = "SELECT id FROM mail WHERE mail='{$mail}'";


Sprawdź też błędy w konsoli.


błędy non-stop sprawdzam :-)
Firebugiem, imho najlepsze tego typu narzędzie
leci +
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.