|
|
|
| Добрый день, уважаемые знатоки!
У меня такой вопрос!
Есть 2 функции, одна выполняет авторизацию пользователя, а вторая должна выводить сообщение, авторизован пользователь или нет... переменная с сообщение объявляется в первой функции... вопрос - как мне "перекинуть" переменную из одной функции в другую??? вот сами функции:
function userLogin($login, $passw, $buttLogin) {
$login = mysql_escape_string($login);
$passw = mysql_escape_string($passw);
$users = mysql_query("SELECT * FROM tegen_users WHERE login='".$login."'");
$user = mysql_fetch_assoc($users);
if(mysql_num_rows($users) > 0) {
if($user["passw"] == $passw) {
$_SESSION["login"] = $user["login"];
$_SESSION["passw"] = $user["passw"];
$_SESSION["access"] = $user["access"];
} else {$reLogin = "No Password or Login!";}
} else {$reLogin = "No Password or Login!";}
}
function errorLogin() {
}
|
А так функции вызываю на странице:
<?php if($_POST["buttLogin"]) {userLogin($_POST["login"], $_POST["passw"], $_POST["buttLogin"]);} ?>
<!-- другой код -->
<b><i><?php echo errorLogin(); ?></i></b>
|
Сперва я хотел в первой функции возвращать переменную с сообщением и выводить на экран, но эта функция должна находится в самом начале странички, а выводить сообщение ниже...
Я слышал что-то про типы переменных в функциях, но пока ещё не освоил до конца функции...
Помогите кто чемможет... | |
|
|
|
|
|
|
|
для: frisst
(20.12.2010 в 13:55)
| | Переменные Вам перекидывать не нужно. Нужно всего лишь значение переменной.
Обычно функция возвращает какое-нибудь значение.
Можете этим воспользоваться. | |
|
|
|
|
|
|
|
для: Trianon
(20.12.2010 в 14:31)
| | я сперва делал так:
function userLogin($login, $passw, $buttLogin) {
$login = mysql_escape_string($login);
$passw = mysql_escape_string($passw);
$users = mysql_query("SELECT * FROM tegen_users WHERE login='".$login."'");
$user = mysql_fetch_assoc($users);
if(mysql_num_rows($users) > 0) {
if($user["passw"] == $passw) {
$_SESSION["login"] = $user["login"];
$_SESSION["passw"] = $user["passw"];
$_SESSION["access"] = $user["access"];
} else {$reLogin = "No Password or Login!";}
} else {$reLogin = "No Password or Login!";}
return $reLogin;
}
|
а выводил на странице так:
<?php if($_POST["buttLogin"]) {userLogin($_POST["login"], $_POST["passw"], $_POST["buttLogin"]);} ?>
<!--код код код -->
<?php echo $reLogin; ?>
|
Но ничего не выводилось)))) если выводилось, то в том случае, когда было так:
<?php if($_POST["buttLogin"]) {echo userLogin($_POST["login"], $_POST["passw"], $_POST["buttLogin"]);} ?>
|
Но выводит сообщение в начале странички как не странно))) мне необходимо отдельно выводить сообщение в нужном, мне, месте...) спасибо за советы. буду думать... | |
|
|
|
|
|
|
|
для: frisst
(20.12.2010 в 14:52)
| | функция только возвращает значение, она его не выводит на экран.
Надо сначала результат выполнения функции записать в переменную, а после эту переменную вывести в нужном месте. | |
|
|
|
|
|
|
|
для: Лена
(20.12.2010 в 14:58)
| | А тогда вы можете подсказать - может ли функция вернуть 2 и более значений, которые мы потом присвоим различным переменным? или я пишу бред?) | |
|
|
|
|
|
|
|
для: frisst
(20.12.2010 в 15:10)
| | Функция может вернуть массив. Присваиваете его элементам значения:
$error['login'] = ...
$error['pass'] =...
в конце функции возвращаете весь массив - return $error;
Там, где надо, вы присваиваете значения элементов этого массива отдельным переменным. | |
|
|
|
|
|
|
|
для: Лена
(20.12.2010 в 15:18)
| | Лен, да не нужен ему массив.
Человек значение из функции вернуть не может. Только и всего. | |
|
|
|
|
|
|
|
для: frisst
(20.12.2010 в 14:52)
| | при вызове функции, возвращенное ей значение следует присвоить переменной.
$var = fun(.....);
и только потом использовать.
echo $var; | |
|
|
|
|
|
|
|
для: frisst
(20.12.2010 в 13:55)
| | return | |
|
|
|