2010-08-06 4 views
0

Je souhaite envoyer cette valeur de champ de texte à un fichier php en utilisant jQuery.Impossible d'envoyer une valeur de champ de texte au fichier PHP avec jQuery

code HTML:

<div> 
    <label for="email">Email: </label> 
    <input type="text" id="email" name="email" /> 
    <span id="msgbox" class="msgbox"></span> 
</div> 

Code jQuery:

$(document).ready(function() 
{ 
    $("#email").blur(function() 
    { 
     $("#msgbox").removeClass().addClass('messagebox').text('Checking...').fadeIn("slow"); 

     $.post("availability.php", { email: $(this).val() }, function(data) 
     { 
      if(data == 'yes') 
      { 
       $("#msgbox").fadeTo(200, 0.1, function() 
       { 
        $(this).html('Email Already exists').addClass('messageboxerror').fadeTo(900,1); 
       }); 
      } 
      else 
      { 
       $("#msgbox").fadeTo(200, 0.1, function() 
       { 
        $(this).html('Email available to register').addClass('messageboxok').fadeTo(900,1); 
       }); 
      } 
     }); 
    }); 
}); 

Code PHP:

include_once $_SERVER['DOCUMENT_ROOT'] . '/braddclient/includes/magicquotes.inc.php'; 
include $_SERVER['DOCUMENT_ROOT'] . '/braddclient/includes/db.inc.php'; 

$email = mysqli_real_escape_string($link, $_POST['email']); 

$sql = "SELECT * FROM bradduser WHERE email='$email'"; 
$result = mysqli_query($link, $sql); 

if(!$result) 
{ 
    $error = 'Error fetching email from bradduser.'; 
    include 'error.html.php'; 
    exit(); 
} 

if(mysqli_num_rows($result) > 0) 
{ 
    echo ‘yes’; //email already exist 
} 
else 
{ 
    echo ‘no’; 
} 

Le problème avec les codes est que cela ne semble pas être une communication entre jquery et php. Les données ont refusé d'être envoyé à PHP. S'il vous plaît aider à voir ce qui ne va pas avec les codes.

+2

Au moins essayer de formater votre code bien ... – GenericTypeTea

Répondre

2

echo ‘yes’; est pas un SINTAX valide

essayer:

echo 'yes'; avec un seul devis

votre script jQuery est ok, mais je pense que vous avez des problèmes avec availability.php

  • contrôle si c'est dans le même dossier, sinon, mettez un chemin relatif
  • vérifier votre connexion de base de données
  • vérifier si vous avez ' au lieu de
  • essayer d'accéder au availability.php avec les arguments, et de tester l'utilisation $_REQUEST['email'] puis revenir en arrière. (Par exemple: http://www.example.org/[email protected])
+0

Merci pour votre aide mihai. J'ai découvert l'erreur se trouve avec le chemin de availability.php. – dave

1

À première vue, il semble correct, donc deux choses à regarder:

  • Où est « availability.php »? Est-ce dans le même dossier que la page sur laquelle le script jQuery est exécuté? Sinon, vous devrez modifier le chemin, par exemple "/availability.php" s'il se trouve dans la racine du site ou "/folder/availability.php" s'il se trouve dans un sous-dossier.
  • Si ce n'est pas déjà fait, obtenez Firefox et Firebug; Firebug vous montrera toutes les requêtes AJAX qui sont faites à partir de la page, ainsi que ce que le serveur retourne - TRÈS utile.
+0

Merci pour votre aide Mark. Le problème réside avec le chemin de mon fichier php. – dave

Questions connexes