本文整理汇总了C#中Bend.Util.HttpProcessor.InputPOST方法的典型用法代码示例。如果您正苦于以下问题:C# HttpProcessor.InputPOST方法的具体用法?C# HttpProcessor.InputPOST怎么用?C# HttpProcessor.InputPOST使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Bend.Util.HttpProcessor
的用法示例。
在下文中一共展示了HttpProcessor.InputPOST方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: registration
public void registration(HttpProcessor p, string[] route)
{
//Здесь мы видим как применяеться проверка данных
//Способ : p.InputPOST("Password") != "null" & p.InputPOST("Username") != "null"
//показывает нам как он много занимет места в коде и какой не практичный
//способ formvalidation.add(p.InputPOST("Password"), "num|required");
//показывает нам как можно выполнить любую проверку текста просто указывая их
//здесь мы задали чтобы данные не были пустыми и содержали целочисленный тип
formvalidation.add("Password", "required|num");
//здесь мы задали чтобы данные не были пустыми и содержали буквы англ и русс
//также добавил проверку на уникальность в БД is_unique[users.login] users ->БД login -> поле где проверить,
//ответ false если в БД уже такое есть.
formvalidation.add("Username", "required|alpha|is_unique[users.login]");
//здесь мы запускаем его и узнаем можно продолжать работать или просто пустить клиента на страницу registration
if (formvalidation.Start(p))
{
//старый способ проверки кода просто на существование строк
if (p.InputPOST("Password") != "null" & p.InputPOST("Username") != "null")
if (connect.insert_update("INSERT INTO `users` (`login`, `pass`, `rules`) VALUES(@0, @1, '001');", new string[] { p.InputPOST("Username"), p.InputPOST("Password") }))
p.redirect("http://localhost:8080/login");
}
}
示例2: auth
public void auth(HttpProcessor p, string[] route)
{
p.HTML.Body.Add("title", "Авторизация");
//Удаляем все пароли которые были созданы больше 5 минут назад и не были активированы
connect.insert_update("DELETE FROM `secret_num` WHERE TIMEDIFF(now(), `date`) > TIME(@0);", new string[] { "00:05:00" });
//проверяем человек авторизировался через Социальные сети или нет
if (p.InputPOST("token") != "null")
{
//С помощью токена вырываем данные с сайта для получения всей информации о человеке
Hashtable Temp = new Hashtable();
System.Net.WebRequest req = System.Net.WebRequest.Create("https://ulogin.ru/token.php" + "?" + "token=" + p.InputPOST("token") + "&host=localhost");
System.Net.WebResponse resp = req.GetResponse();
System.IO.Stream stream = resp.GetResponseStream();
System.IO.StreamReader sr = new System.IO.StreamReader(stream);
string Out = sr.ReadToEnd();
sr.Close();
Out = Out.Trim(new char [] {'{', '}'});
string[] TempStr = Out.Split(',');
foreach (string s in TempStr)
{
string[] TempStr2 = s.Split(new string[] { Convert.ToChar(34) + ":" + Convert.ToChar(34) },StringSplitOptions.None);
Temp.Add(TempStr2[0].Trim('"'), System.Text.RegularExpressions.Regex.Unescape(TempStr2[1].Trim('"')));
}
//Проверяем существует ли такой логин(идентификатор) в БД
if (formvalidation.is_unique(Temp["identity"].ToString(), "users.login"))
//добавляем данныем в БД
connect.insert_update("INSERT INTO `users` (`login`, `e-mail`, `fio`, `name_s_net`, `rules`) VALUES(@0, @1, @2, @3, '001');",
new string[] { Temp["identity"].ToString(), Temp["email"].ToString(), Temp["first_name"].ToString() + Temp["last_name"].ToString(), Temp["network"].ToString() });
}
//Если в форме был введен телефон, то...
else if (p.InputPOST("Phone") != "null")
{
//Создаем пароль который будет передан в смс
string SecretPass = Simbol(5);
//добавляем в проверку номер телефона (не должен быть пустым, должен состоять из цифр, и должен быть в Бд уникальным)
formvalidation.add("Phone", "required|num|is_unique[users.phone]");
//Запускаем проверку
if (formvalidation.Start(p))
//Вставляем в таблицу нового юзера
connect.insert_update("INSERT INTO `users` (`phone`, `rules`) VALUES(@0, '001');", new string[] { p.InputPOST("Phone") });
//Проверяем на существование и сразу ищем ИД пользователя которого добавили
if (connect.select("Select `id_users` from `users` Where `phone`='" + p.InputPOST("Phone") + "' LIMIT 1;"))
{
//читаем перву строку данных полученную из бд
connect.MyReader.Read();
//вставляем в таблицу secret_num пароль и ид пользователя
//который будет использоваться при вводе для проверки
connect.insert_update("INSERT INTO `secret_num` (`id_users`, `num`, `date`) VALUES(@0, @1, now());", new string[] { connect.MyReader.GetValue(0).ToString(), SecretPass });
//отправка смс
SendSMS.Send(SecretPass, "+7" + p.InputPOST("Phone"), "COM10");
}
else
{
//выдаем сообщение Пользователю Ошибка
p.MSG("Ошибочка");
}
}
//проверка на ввод пароля для доступа в интернет пользователем
else if (p.InputPOST("Password") != "null")
{
//Проверка пароля, он должен должен быть не пустым и не уникальным(существовать) в БД
formvalidation.add("Password", "required|is_not_unique[secret_num.num]");
//Запуск проверки
if (formvalidation.Start(p))
{
//Если все успешно удаляем пароль
connect.insert_update("DELETE FROM `secret_num` WHERE `num` = @0;", new string[] { p.InputPOST("Password") });
//и выдает сообщение пользователю
p.MSG("Все круто");
}
else
{
p.MSG("Не верно введен пароль!");
}
}
}
示例3: login
public void login(HttpProcessor p, string[] route)
{
if (p.InputPOST("Password") != "null" & p.InputPOST("Username") != "null")
if (connect.select("Select `id_users`, `login`, `rules` from `users` Where `login`='" + p.InputPOST("Username") + "' and `pass`='" + p.InputPOST("Password") + "';"))
while (connect.MyReader.Read())// Читаем
{
Sessions.add("id_users", connect.MyReader.GetValue(0).ToString());
Sessions.add("login", connect.MyReader.GetValue(1).ToString());
Sessions.add("rules", connect.MyReader.GetValue(2).ToString());
Sessions.add("auth", "1");
p.redirect("http://localhost:8080/index");
}
}
示例4: Start
//функция которая запускает проверку
public static bool Start(HttpProcessor p)
{
//передаем управление классом переменной о
Type MyClass = typeof(formvalidation);
object o = Activator.CreateInstance(MyClass);
foreach (DictionaryEntry s in MasValidation)
{
//Узнаем какие правила будут использоваться
string[] MasMethods = s.Value.ToString().Split('|');
foreach (string rule in MasMethods)
{
string[] ParseRule = rule.TrimEnd(']').Split('[');
//запускаем нужный метод который был выбран для проверки
MethodInfo info = typeof(formvalidation).GetMethod(ParseRule[0], BindingFlags.Instance | BindingFlags.Public | BindingFlags.Static);
bool Out;
if (ParseRule.Length >1)
Out = (bool)info.Invoke(o ,new object[] {p.InputPOST((string)s.Key), ParseRule[1]});
else
Out = (bool)info.Invoke(o ,new object[] {p.InputPOST((string)s.Key)});
if (!Out)
{
MasValidation.Clear();
return false;
}
}
}
MasValidation.Clear();
return true;
}