|
|
|
| Приветствую. Спецы, скачал скрипт разбираюсь что и как, не могу понять, что делает одна из функций. Объясните пожалуйста, что делает:
function makeSafe($theValue) {
global $cartMain,$langArray;
for ($f = 0; $f < count($langArray); $f++) {
if ($cartMain["languageID"] == $langArray[$f]["languageID"] && $langArray[$f]["doubleByte"] == "Y") {
return htmlentities($theValue);
break;
}
}
return htmlentities(str_replace(array(";","<?","?>"),"",$theValue));
}
function getFORM($vName) {
$val = (@$_GET[$vName] != "") ? @$_GET[$vName] : @$_POST[$vName];
return $val;
}
|
Если можно напишите комментарии к строчкам. | |
|
|
|
|
|
|
|
для: PSB
(04.04.2009 в 12:23)
| |
function makeSafe($theValue) { / объявление функции makeSafe которая принимает переменную $theValue
global $cartMain,$langArray; / объявление глобальных массивов
for ($f = 0; $f < count($langArray); $f++) { / цикл с количеством итераций равным "длинне" массива $langArray
if ($cartMain["languageID"] == $langArray[$f]["languageID"] && $langArray[$f]["doubleByte"] == "Y") {
return htmlentities($theValue); / если $cartMain["languageID"] равно $langArray[$f]["languageID"]
/ и $langArray[$f]["doubleByte"] равно "Y" то возвращаем htmlentities($theValue)
break; / и прекращаем итерации
}
}
return htmlentities(str_replace(array(";","<?","?>"),"",$theValue)); / возвращаем если совпадений в массивах нет
}
function getFORM($vName) {
$val = (@$_GET[$vName] != "") ? @$_GET[$vName] : @$_POST[$vName]; / присваиваем $val значение $_GET[$vName] если оно не пустое,
/ если пустое то присваиваем $_POST[$vName]
return $val;
}
|
[поправлено модератором] | |
|
|
|
|
|
|
|
для: Valick
(04.04.2009 в 13:13)
| | Спасибо, стало немного понятнее, но вот немогу понять зачем через эту функцию прогоняеются в скрипте пароль и имя при авторизации.
if (isset($_POST['username']) && isset($_POST['password']))
{
$userid = makeSafe($_POST['username']);
$pass = makeSafe($_POST['password']);
$pass = sha1($pass);
if (strlen($userid)>0 && strlen($pass)>0)
{
$query = "SELECT username FROM i_users WHERE username='".mysql_real_escape_string($userid)."' AND passwd='".mysql_real_escape_string($pass)."'";
$result = mysql_query($query) or die("Query $query Failed".mysql_error());
if (mysql_num_rows($result)>0)
{
$_SESSION['valid_user'] = $userid;
}
}
}
?>
|
| |
|
|
|
|
|
|
|
для: PSB
(04.04.2009 в 17:38)
| | Вам уже ответили.
Это не тот источник, в котором в котором можно найти логику. | |
|
|
|
|
|
|
|
для: Trianon
(04.04.2009 в 17:44)
| | да мне хоть примерно, может можно заменить чем, ну что вам жалко что ли :-))))понятно, что проходит авторизация но почему просто не получить имя и пароль и сравнить с базой. | |
|
|
|
|
|
|
|
для: PSB
(04.04.2009 в 20:55)
| | Что жалко-то?
Я не автор этого кода. Я лишь вижу, что написан в этом фрагменте форменный кошмар.
Что и как написано в других частях я догадываться не берусь, поэтому что чем можно заменить, авторитетно посоветовать не могу.
Считаете, что можно просто - попробуйте. | |
|
|
|
|
|
|
|
для: Trianon
(04.04.2009 в 22:29)
| | +5.... :) | |
|
|
|
|
|
|
|
для: indexer
(04.04.2009 в 23:22)
| | Ладно, не буду мучать, спасибо. | |
|
|
|
|
|
|
|
для: Trianon
(04.04.2009 в 17:44)
| | Trianon, я уже вам предлагал написать материал в раздел "Статьи РНР", о том, как правильно обрабатывать данные, полученные от юзера (GET, POST.....), как и класть в базу(файл), как потом отображать на экране. В какой последовательности юзать htmlspecialchars(), strip_tags(), mysql_real_escape_string(). Было бы неплохо это осуществить, чтобы можно было в случае подобных вопросов дать ссылку на авторитетный ответ в виде вашей статьи. Что скажете по этому поводу? | |
|
|
|
|
|
|
|
для: mihdan
(06.04.2009 в 18:22)
| | Что если у Вас есть желание такую статью написать, Вы можете его осуществить. | |
|
|
|
|
|
|
|
для: mihdan
(06.04.2009 в 18:22)
| | Добрый день!
А если в нескольких словах - то, действительно, как это грамотно делается и в какой последовательности? То есть применение функций trim(), и т.д. и т.п. ? | |
|
|
|
|
|
|
|
для: PSB
(04.04.2009 в 12:23)
| | о_О | |
|
|
|