Проверка Jquery - Использование Remote, чтобы увидеть, есть ли экземпляр чего-либо в базе данных MySQL - PullRequest
0 голосов
/ 09 декабря 2011

Я работаю над проверкой формы отправки изображений с помощью jQuery. Мне нужно, чтобы проверить, есть ли экземпляр данного URL-адреса представления в базе данных, чтобы уменьшить репосты. Я использовал следующий код:

$("#submit_form").validate({
  rules: {
   right_form_title: {
   required: true,
   maxlength: 105
  },
 right_form_url: {
  required: true,
  image: true,
  gif: true,
  remote: "/~lyons/imagecheck.php"

 }
 },
 messages: {
   right_form_url: {
   remote: "That image has already been submitted under that URL."
   }
  }       
 });
});

Imagecheck.php:

<?php

//Database Information
$dbhost = "";
$dbname = "";
$dbuser = "";
$dbpass = "";

//Connect to database
mysql_connect ( $dbhost, $dbuser, $dbpass)or die("Could not connect: ".mysql_error());
mysql_select_db($dbname) or die(mysql_error());

$title = mysql_real_escape_string($right_form_url);

$query = "SELECT filename FROM images WHERE filename='$title';";
$res = mysql_query($query);
if (mysql_num_rows($res) > 0) {
return false;
} else {
return true;
}
echo json_encode($output);


?>

Проблема в том, что теперь, несмотря ни на что, все возвращается, как было представлено ранее. Что не так с этим? Я буквально не имею ни малейшего понятия после того, как искал некоторое время.

1 Ответ

1 голос
/ 09 декабря 2011

Когда вы возвращаете true и возвращаете false, эти значения находятся только в среде php (на стороне сервера).Таким образом, значение, которое вы получаете в jquery, равно

echo json_encode($output)

. Это всегда будет иметь значение false.

...