Вставьте значение формы в запрос SQL с помощью jquery или javascript - PullRequest
3 голосов
/ 22 марта 2011

У меня есть следующие поля в форме.На странице используются .Net и MS SQL

<input type="text" name="Title" id="Title" />
<input type="text" name="FirstName" id="FirstName" />
<input type="text" name="LastName" id="LastName" />

Я хотел бы иметь возможность получить эти значения и записать их в запрос SQL ниже в той же форме ...

SELECT LastApp, 
FROM   kb_xmod_modules 
WHERE  infby1 = 'Dr Brian Cox' 

В этом примере д-р Брайан Кокс будет заменен любыми значениями, введенными в Заголовке, Фамилии и Фамилии

Если у кого-то есть идеи, это было бы здорово ...

Спасибо

Ответы [ 3 ]

1 голос
/ 22 марта 2011
<form id="myForm">
<input type="text" name="Title" id="Title" />
<input type="text" name="FirstName" id="FirstName" />
<input type="text" name="LastName" id="LastName" />
<input type="submit"/>
</form>

$(function() {
   $('#myForm').submit(function(){
      var query = $(this).serialize();
      $.post("post.php", query);
      return false;
  });
});

теперь ваша страница post.php будет получать $_POST значений, подобных этому:

$_POST['FirstName'] . $_POST['LastName'] .  $_POST['Title']

так

SELECT LastApp, 
FROM   kb_xmod_modules 
WHERE  infby1 = '".mysql_real_escape_string($_POST['FirstName'].' '.$_POST['LastName'])."'
0 голосов
/ 22 марта 2011

Вы не должны выставлять SQL клиенту, создавая строку SQL с javascript или jQuery на клиенте. такого рода задачи должны быть выполнены на стороне сервера. Пример SQL-инъекции: если в ваших полях ввода есть текст, такой как

a';DROP TABLE `kb_xmod_modules`; SELECT * FROM `kb_xmod_modules` WHERE 't' = 't

экранирование ввода ' с '' - это один из способов избежать инъекции sql. Подготовленный SQL-оператор является другим решением.

Вы должны указать, в какой среде вы программируете свой проект. Какой у вас язык программирования?

0 голосов
/ 22 марта 2011

Вы должны сделать это для предложения where:

WHERE infby1 = "'" + $('Title').val() + " " + $('FirstName').val() + " " + $('LastName').val() + "'"

Havnt проверил это, но это должно сработать.

...