Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 33

Вывод баланса после авторизации пользователя

24.11.2013, 11:57. Показов 2810. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую всех! Прошу не судить строго. Все, что знаю о программировании, знаю благодаря Гугл. Своими силами пишу сайтик. Возникла одна проблемка, никак не могу найти решение. Нужно чтобы после авторизации выводилась инфа с ником и балансом пользователя. Ник выводится, а вот с балансом никак. Все, чего я добился в результате долгих поисков - это вывод всего поля, а вот как вывести запись только авторизованного пользователя и записать в переменную?
Ниже - все, что я смог с этим сделать:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
  $mysqli = new mysqli('localhost', admin', '', 'mybase');
  if (mysqli_connect_errno()) {
    echo "Подключение невозможно: ".mysqli_connect_error();
  }
  $result_set = $mysqli->query('SELECT cash FROM user');
  while ($row = $result_set->fetch_assoc()) {
    print_r($row);
    echo "<br />";
  }
  $result_set->close();
  $mysqli->close();
?>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.11.2013, 11:57
Ответы с готовыми решениями:

Сохранение пользователя после авторизации
Всем привет, весь топик в том, что решил с &quot;нуля писать форму регистрации/авторизации (ради обучения) в принципе, регистрация выполняется...

Как сделать посекундное увеличения баланса пользователя?
Здравствуйте! Есть некоторые сайты (например paymoon.fun) где происходит посекундное начисление средств ,причем это происходит даже если у...

Вывод Имени пользователя после авторизации
Добрый день. Нашел на форуме несложную авторизацию для своей программки(она ниже). Появилась необходимость сделать после успешной...

19
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 33
26.11.2013, 07:33  [ТС]
С этим разобрался. Теперь возникла другая проблема. Вот код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$login = $_SESSION['login'];
$password = $_SESSION['password'];
 
$query = sprintf("SELECT login, password, cash FROM user 
    WHERE login='%s' AND password='%s'",
    mysql_real_escape_string($login),
    mysql_real_escape_string($password));
 
$result = mysql_query($query);
 
if (!$result) {
    $message  = 'Неверный запрос: ' . mysql_error() . "\n";
    $message .= 'Запрос целиком: ' . $query;
    die($message);
}
while ($row = mysql_fetch_assoc($result)) {
    $balans = $row['cash'];
    global $balans;
    }
 
mysql_free_result($result);
?>
Проблема в том, что когда вставляю этот код на каждой странице все работает. Как сделать так, чтобы не нужно было вставлять это на каждой странице? Сайтик динамический и результат этого кода должен показываться только в header.php. Но без вставки на каждой странице не показывает. Есть еще function.php, пробовал впихнуть туда как function checkBalans(), ошибок не выдает, но результат не показывает. Помогите пожалуйста
0
31 / 45 / 21
Регистрация: 09.10.2012
Сообщений: 825
26.11.2013, 14:03
ну делаешь
PHP
1
2
3
4
5
class myfunc {
public static function checkBalance()
{
}
}
в отдельном файле например function.php
в других файлах просто вызываете функцию и все
допустим
PHP
1
2
$balance = new myfunc();
$result_balance = $balance->checkBalance()
и не забываем возвращать
PHP
1
return
в функции
0
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 33
27.11.2013, 13:14  [ТС]
Никак не пойму что я не так делаю(((

Добавил это в function.php:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function checkBalans() {
$login = $_SESSION['login'];
$password = $_SESSION['password'];
 
$query = sprintf("SELECT login, password, cash FROM user 
    WHERE login='%s' AND password='%s'",
    mysql_real_escape_string($login),
    mysql_real_escape_string($password));
 
$result = mysql_query($query);
 
if (!$result) {
    $message  = 'Неверный запрос: ' . mysql_error() . "\n";
    $message .= 'Запрос целиком: ' . $query;
    die($message);
}
while ($row = mysql_fetch_assoc($result)) {
    $balans = $row['cash'];
    global $balans;
    }
mysql_free_result($result);
return;
}
Это код самой страницы:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
include_once("config.php"); // тут подключение к базе
checkLoggedIn("yes");
checkBalans();
error_reporting(E_ALL);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title></title>
    <meta name="title" content="" />
    <meta name="keywords" content="" />
    <meta name="description" content="" />
    <link rel="stylesheet" href="css/style.css" type="text/css" media="screen, projection" />
<div id="wrapper">
<?php require 'header.php'; ?>
</head>
 
<body>
 <div id="middle">
 
<?php require 'sideLeft.php'; ?>
<?php require 'footer.php'; ?>
</div>
</body>
</html>
Это header.php:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<div id="header">
 
<table width="100%" height="100px" border="0" cellspacing="0">
  <tr>
    <td align="center" width="200px" class="reklama">
        <div>
        <?php
        print("<b>".$_SESSION["login"]."</b>! Добро пожаловать<br>\n");
        print("Баланс: " . "<b>$balans</b><br>");
        print("<a href=\"logout.php"."\">Выход</a>"); ?>
        </div>
    </td>
    <td align="center" width="1000px">
    </td>
  </tr>
</table>
 
</div>
0
31 / 45 / 21
Регистрация: 09.10.2012
Сообщений: 825
27.11.2013, 13:41
я тебе написал создать класс и какую функцию добавить
0
PHP developer
 Аватар для masik49
259 / 157 / 26
Регистрация: 20.03.2013
Сообщений: 1,018
27.11.2013, 14:53
Цитата Сообщение от kennett Посмотреть сообщение
.....
PHP
1
2
3
4
5
6
7
} while ($row = mysql_fetch_assoc($result)) 
{ $balans = $row['cash']; 
global $balans; 
} 
mysql_free_result($result); 
return ; 
}

А что возвращать то будем??? return и все...
можеть быть return $balans;


HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<div id="header">
 
<table width="100%" height="100px" border="0" cellspacing="0">
  <tr>
    <td align="center" width="200px" class="reklama">
        <div>
        <?php
        print("<b>".$_SESSION["login"]."</b>! Добро пожаловать<br>\n");
        print("Баланс: " . "<b>checkBalans()</b><br>");
        print("<a href=\"logout.php"."\">Выход</a>"); ?>
        </div>
    </td>
    <td align="center" width="1000px">
    </td>
  </tr>
</table>
 
</div>
0
31 / 45 / 21
Регистрация: 09.10.2012
Сообщений: 825
27.11.2013, 15:04
Да у него ни класса нету и сама функция не правильная
0
PHP developer
 Аватар для masik49
259 / 157 / 26
Регистрация: 20.03.2013
Сообщений: 1,018
27.11.2013, 15:26
Цитата Сообщение от Inkvizzz Посмотреть сообщение
Да у него ни класса нету и сама функция не правильная
Да и без класса можно обойтись, подключить файл с функцией, а потом вызвать саму функцию.
По большому счету он сам не понимает что хочет сделать...
0
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 33
27.11.2013, 19:26  [ТС]
Цитата Сообщение от masik49 Посмотреть сообщение
По большому счету он сам не понимает что хочет сделать...
вообще-то я очень хорошо понимаю что хочу, просто не знаю как это правильно сделать.

Этот код
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$login = $_SESSION['login'];
$password = $_SESSION['password'];
 
$query = sprintf("SELECT login, password, cash FROM user 
    WHERE login='%s' AND password='%s'",
    mysql_real_escape_string($login),
    mysql_real_escape_string($password));
 
$result = mysql_query($query);
 
if (!$result) {
    $message  = 'Неверный запрос: ' . mysql_error() . "\n";
    $message .= 'Запрос целиком: ' . $query;
    die($message);
}
while ($row = mysql_fetch_assoc($result)) {
    $balans = $row['cash'];
    global $balans;
    }
 
mysql_free_result($result);
?>
этот код работает, проблема в том, что работает он только в том случае, если он есть в каждой странице. есть function.php со всеми нужными функциями, но данный код, если прописывать его в function.php как checkBalans() результата не дает. Я новичок в PHP поэтому и обратился за помощью

Цитата Сообщение от Inkvizzz Посмотреть сообщение
я тебе написал создать класс и какую функцию добавить
Спасибо за просвещение. Я это учел и работаю над этим. Пока плохо понимаю классы, но разберусь и не сомневаюсь, что это мне поможет.

Ребята, повторюсь: я пока совершеннейший чайник в PHP, но в любом случае огромное спасибо, что отзываетесь. Мне помогает любой ответ и критика в том числе.
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
30.11.2013, 23:17
kennett, а почему Вам и баланс туда же в сессию не записать? Пусть и не лучшее решение, но тем не менее А вариант masik49`а пробовали?
0
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 33
30.11.2013, 23:32  [ТС]
Цитата Сообщение от romchiksoad Посмотреть сообщение
А вариант masik49`а пробовали?
Так я изначально этого и хочу, только вот не знаю как правильно сделать. Код, который я выложил работает, но только если он в коде страницы, а я хочу, чтобы он был в function.php, а в странице вызывался как функция. Сколько ни бился не смог этого добиться(((
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
01.12.2013, 02:12
в функции checkBalans return $balans
на странице, где нужна функция
PHP
1
2
include_once("function.php"); // подключаете файл с функциями
$balans = checkBalans();
дальше выводите $balans где нужно
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
01.12.2013, 10:04
kennett,
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function checkBalans() {
$login = $_SESSION['login'];
$password = $_SESSION['password'];
 
$query = sprintf("SELECT login, password, cash FROM user 
    WHERE login='%s' AND password='%s'",
    mysql_real_escape_string($login),
    mysql_real_escape_string($password));
 
$result = mysql_query($query);
 
if (!$result) {
    $message  = 'Неверный запрос: ' . mysql_error() . "\n";
    $message .= 'Запрос целиком: ' . $query;
    die($message);
}
$row = mysql_fetch_assoc($result);
return $row['cash'];
}
Ну а дальше, где нужно использовать эту функцию вызываете ее и получаемый результат записывайте в переменную. Предварительно не забыв подключить файл с функцией.:
Цитата Сообщение от fanatikus Посмотреть сообщение
PHP
1
2
3
4
<?php
include_once("function.php"); // подключаете файл с функциями
$balans = checkBalans();
?>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<div id="header">
 
<table width="100%" height="100px" border="0" cellspacing="0">
  <tr>
    <td align="center" width="200px" class="reklama">
        <div>
        <?php
        print("<b>".$_SESSION["login"]."</b>! Добро пожаловать<br>\n");
        print("Баланс: " . "<b>$balans</b><br>");
        print("<a href=\"logout.php"."\">Выход</a>"); ?>
        </div>
    </td>
    <td align="center" width="1000px">
    </td>
  </tr>
</table>
 
</div>
1
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 33
01.12.2013, 11:19  [ТС]
Это function.php:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function checkBalans() {
$login = $_SESSION['login'];
$password = $_SESSION['password'];
 
$query = sprintf("SELECT login, password, cash FROM user 
    WHERE login='%s' AND password='%s'",
    mysql_real_escape_string($login),
    mysql_real_escape_string($password));
 
$result = mysql_query($query);
 
if (!$result) {
    $message  = 'Неверный запрос: ' . mysql_error() . "\n";
    $message .= 'Запрос целиком: ' . $query;
    die($message);
}
while ($row = mysql_fetch_assoc($result)) {
    $balans = $row['cash'];
    global $balans;
    }
mysql_free_result($result);
return $balans;
}
Это страница:
PHP
1
2
3
4
5
6
7
8
<?php
include_once("config.php");
error_reporting(E_ALL);
checkLoggedIn("yes");
include_once("function.php");
checkBalans();
 
require 'bloks/header.php'; ?>
Это header.php:
PHP
1
2
3
4
5
<?php
        print("<b>".$_SESSION["login"]."</b>! Добро пожаловать<br>\n");
        print("Баланс: " . "<b>$balans</b><br>");
        print("<a href=\"logout.php"."\">Выход</a>");
        ?>
Может вы увидите где ошибка. У меня уже перед глазами все сливается(((
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
01.12.2013, 13:36
Цитата Сообщение от romchiksoad Посмотреть сообщение
$balans = checkBalans();
читайте внимательно
1
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 33
01.12.2013, 23:14  [ТС]
Цитата Сообщение от fanatikus Посмотреть сообщение
читайте внимательно
Все. Нашел все косяки)) Все работает!

Добавлено через 36 минут
PHP
1
2
$query = sprintf("SELECT login, password, cash FROM user 
    WHERE login='%s' AND password='%s'",
Если нетрудно можете объяснить какую роль здесь играет '%s' ?

И если я вам еще не надоел, может глянете и сюда?
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
02.12.2013, 00:43
%s подразумевается, что будет подставлена строка
0
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 33
02.12.2013, 00:56  [ТС]
Цитата Сообщение от fanatikus Посмотреть сообщение
%s подразумевается, что будет подставлена строка
а откуда она берется?
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
02.12.2013, 01:10
PHP
1
2
3
4
$a='string1';
$b ='string2';
$query = sprintf("SELECT login, password, cash FROM user 
    WHERE login='%s' AND password='%s'",$a,$b);//в login подставится string1, в password string2
0
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 33
02.12.2013, 08:02  [ТС]
понял. спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.12.2013, 08:02
Помогаю со студенческими работами здесь

Автообновление баланса после каждого действия пользователя
как реализовать авто-обновление баланса после каждого действия пользователя ? &lt;div class=&quot;profile&quot;&gt; &lt;img...

Вывод скрытого блоки либо информации после авторизации либо регистрации пользователя на сайте
Ув. знатоки, такой вопрос, есть сайт, нужно чтобы после авторизации &quot;Блок &lt;div&gt; с регистрацией&quot; заменялся на другой блок, как это...

Не получается редирект после авторизации пользователя
у меня на сайте после авторизации выбрасывает на страницу профиля пользователя, а надо на другую на другую... Где можно прописать редирект?...

После Авторизации загрузить фото пользователя с хостинга в Unity
Доброго времени суток! Есть хостинг (SQL+PHP) сделана авторизация пользователя в приложении Unity, после авторизации в Unity парсю id,...

Получение фото и имени пользователя после успешной авторизации Vk
Всем привет, у меня очередной вопрос, вот я сделал программу все отлично работает, Авторизирует на сайте Вконтакте ру. И мне хотелось бы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru