Я вижу, что это старый пост, но я нашел его полезным и подумал, что поделился бы решением, аналогичным тому, что предложил @kzqai:
У меня есть функция, которая получает два параметра, такие как ...
function getTableInfo($inTableName, $inColumnName) {
....
}
Внутри я проверяю массивы, которые я установил, чтобы убедиться, что доступны только таблицы и столбцы с «блаженными» таблицами:
$allowed_tables_array = array('tblTheTable');
$allowed_columns_array['tblTheTable'] = array('the_col_to_check');
Затем проверка PHP перед работающий PDO выглядит как ...
if(in_array($inTableName, $allowed_tables_array) && in_array($inColumnName,$allowed_columns_array[$inTableName]))
{
$sql = "SELECT $inColumnName AS columnInfo
FROM $inTableName";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
При доступе к простой HTML-форме она должна быть отправлена серверу через кнопку отправки (или с помощью сообщения JavaScript). Это обычно означает, что Ваше определение формы будет похоже на это (я ухожу памяти, удостоверьтесь, что Вы проверяете, что элементы HTML корректны):
<form method="POST" action="page.aspx">
<input id="customerName" name="customerName" type="Text" />
<input id="customerPhone" name="customerPhone" type="Text" />
<input value="Save" type="Submit" />
</form>
необходимо быть в состоянии получить доступ к customerName и customerPhone данным как это:
string n = String.Format("{0}", Request.Form["customerName"]);
, Если Вы имеете method="GET"
в форме (не рекомендуемый, она портит Ваше пространство URL), необходимо будет получить доступ к данным формы как это:
string n = String.Format("{0}", Request.QueryString["customerName"]);
Это, конечно, будет только работать, если форма была 'Отправлена', 'Отправлена', или сделана через 'Обратную передачу'. (т.е. кто-то нажал кнопку 'Save', или это было сделано программно с помощью JavaScript.)
кроме того, имейте в виду, что доступ к этим элементам этим способом может только быть сделан, когда Вы не используете управление сервером (т.е. runat="server"
) с управлением сервером, идентификатор и имя отличаются.
Редактирование: мысль о чем-то еще.
Вы говорите создание формы динамично - делают Вас, действительно означают < form> и его содержание, потому что asp.net не соглашается с несколькими формами на странице и она уже создает одну uberform для Вас.
То, что я предполагаю, - то, что необходимо установить те входные элементы на runat = "сервер" .
, Таким образом, Вы не будете в состоянии получить доступ к управлению
<input type="text" name="email" id="myTextBox" />
, Но Вы будете в состоянии работать с
<input type="text" name="email" id="myTextBox" runat="server" />
И читать из него при помощи
string myStringFromTheInput = myTextBox.Value;
Самым простым путем IMO должен включать идентификатор, и runat сервер наклеивают все Ваши элементы.
<div id="MYDIV" runat="server" />
, Так как это походит, они динамично вставляются средства управления, Вы могли бы ценить FindControl ().
Так как Вы используете код asp.net - позади, добавьте идентификатор к элементу и runat=server.
можно тогда сослаться на объекты в коде позади.
Это должно обычно делаться с Request.Form["elementName"]
.
, Например, если Вы имеете <input type="text" name="email" />
тогда, можно использовать Request.Form["email"]
для доступа к его значению.