Я добавляю некоторые проверки формы на стороне сервера (используя php), если один из пользователей моего сайта отключен javascript. В одной форме есть 10 отдельных полей ввода, которые можно изменить. Может кто-нибудь скажет мне, какой протокол будет использовать меньше системных ресурсов? Во-первых, я пишу некоторые mySQL-переменные, чтобы проверить текущие настройки пользователя и сравнить их с опубликованными настройками. Если все 10 Отправленные значения совпадают с текущими значениями, не обновляют базы данных, еще обновить базу данных:Какой протокол будет менее «дорогим»?
$login_id = $_SESSION['login_id'];
$sql1 = mysql_fetch_assoc(mysql_query("SELECT value1 FROM login WHERE login_id =
'$login_id'"));
$sql1a = $sql1['value1'];
// Eight More, then
$sql10 = mysql_fetch_assoc(mysql_query("SELECT value10 FROM login WHERE login_id =
'$login_id'"));
$sql10a = $sql10['value10'];
$Value1 = $_POST['Value1'];
// Eight More, then
$Value10 = $_POST['Value10'];
//Other validations then the following
if (($sql1a == $Value1)&&($sql2a == $Value2)&&.......($sql10a == $Value10)) {
echo "<script>
alert ('You haven't made any changes to your profile');
location = 'currentpage.php';
</script>";
}
else {
$sqlUpdate = mysql_query("UPDATE login SET value1 = '$Value1',....value10 = '$Value10'
WHERE login_id = '$login_id'");
echo "<script>
alert ('Your profile has been updated!');
location = 'currentpage.php';
</script>";
}//End php
ИЛИ это дешевле просто использовать пользовательские значения размещены (держать переменные $ _POST) и избегайте проверки со сравнительной линией: (($ sql1a == $ Value1) & & ($ sql2a == $ Value2) & & ....... ($ sql10a == $ Value10)) и просто перейти к
//Other validations then the following
$sqlUpdate = mysql_query("UPDATE login SET value1 = '$Value1',....value10 = '$Value10'
WHERE login_id = '$login_id'");
echo "<script>
alert ('Your profile has been updated!');
location = 'currentpage.php';
</script>";
Спасибо за любой вклад!
Должно быть что-то разумное сказать об этом теоретически, но почему бы не проверить его? единственный реальный способ узнать что-то о производительности - это тестирование! – Nanne
Сохраните объект пользователя или массив в сеансе, а не только login_id, затем сравните значения формы с значениями сеанса и измените их как загрязненные. Затем, если пользователь сеанса грязного обновления. Я бы не вытащил из базы данных 10 раз за каждую подачу формы. – Tony
OK @Nanne ... Я задам вопрос, который предает мой статус новобранца серверами ... как бы я это сделал? Я могу проверить пропускную способность с помощью моей услуги веб-хостинга (лучшее разрешение, которое я могу получить, составляет 30-минутные блоки в течение 24-часового периода), и я могу проверить использование mySQL (просто показывает, насколько я могу сказать, сколько места занимают мои сохраненные данные) , –