4 / 4 / 0
Регистрация: 14.03.2016
Сообщений: 196

Внесение значений в базу данных под именем юзера

28.02.2017, 18:30. Показов 827. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, делаю сайт для расчётов курсача, ну так вот, т.к. ламер с базами данных задумался как написать чтоб при внесении в базу данных вносились данные не по 1 значению для всех, а например создавалось поле User_123 допустим и у него были значения и чтоб User_123 не нужно было от куда либо брать и прописывать. А после беря из данные, чтоб брало у этого пользователя только из под User_123 значения. И выполнялось допустим простое вычисление как $a + $b
Если подскажете частью кода буду очень благодарен
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.02.2017, 18:30
Ответы с готовыми решениями:

Внесение данных в базу
Всем доброго времени суток. Помогите пожалуйста начинающему, нужно id полученный методом GET записать в базу вместе с остальными данными...

Внесение массива в базу данных
У меня есть массив, возникает вопрос каким образом его затащить в базу. Добавлено через 9 минут тема закрыта, допер)

Определение IP посетителя и внесение его в базу данных
Надо чтоб определялся айпи каждого посетителя( НЕ ПОЛЬЗОВАТЕЛЯ) и вносиля в базу данных

11
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
28.02.2017, 18:58
Ничего не понял
0
Особый статус
 Аватар для FloppyDisc
623 / 221 / 164
Регистрация: 18.11.2015
Сообщений: 1,086
28.02.2017, 20:31
Насколько я смог расшифровать текст, то задача в следующем прибавить к существующему значению из БД что-то еще, которое вводится?
SQL
1
UPDATE tbl SET field_bd1 = field_bd1 + chto-to-eshe WHERE user_id = ?i
1
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
28.02.2017, 21:57
Цитата Сообщение от FloppyDisc Посмотреть сообщение
Насколько я смог расшифровать текст
Да вы, батюшка, телепат

MkVMeXaHuK, может, авторизация? Чтобы, например, id тек. юзера втыкался в создаваемые записи.

Интересно, это уже в РФ так студенты излагают или все же русский для вас неродной?
0
 Аватар для Grin640
38 / 27 / 3
Регистрация: 24.02.2015
Сообщений: 87
28.02.2017, 22:30
MkVMeXaHuK, если не секрет, вы в каком учебном заведении учитесь?
Вот пример кода:
SQL
1
2
3
INSERT INTO `Table1`(`A`,`B`,`USER_NAME`) VALUES (1,2,`User_123`);
SELECT `A`,`B` FROM `Table1` WHERE `USER_NAME` = `User_123`;
SELECT `A`+`B` FROM `Table1` WHERE `USER_NAME` = `User_123`;
0
4 / 4 / 0
Регистрация: 14.03.2016
Сообщений: 196
01.03.2017, 08:02  [ТС]
на механика учусь и да я немного не русский так что простите.
это в SQL файлах писать нужно?

Добавлено через 36 секунд
на механика учусь и да я немного не русский так что простите.
это в SQL файлах писать нужно?

Добавлено через 1 минуту
miketomlin , Да , чтоб ид тек. юзера применялся при создании каких то записей, и чтоб именно у этого юзера только от туда значения брали...

Добавлено через 1 час 58 минут
учусь в колледже

Добавлено через 50 минут
Кому не сложно, и кто понимает Добавьте в скайпе, разъясните чтоб я понял, а то я полный ламер кому не жалко убейте 10 минут своего времени
0
Особый статус
 Аватар для FloppyDisc
623 / 221 / 164
Регистрация: 18.11.2015
Сообщений: 1,086
01.03.2017, 09:02
Сохраняете текущего пользователя в сессию, затем с этой сессией и работаете:
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// сохраняем id сессии пользователя
public function saveSession($remember = false, $http_only = true, $days = 7)
    {
        $_SESSION["user_id"] = $this->user_id;
 
        if ($remember) {
            // сохраняем id сессии в куки
            $sid = session_id();
 
            $expire = time() + $days * 24 * 3600;
            $domain = ""; // default domain
            $secure = false;
            $path = "/";
 
            $cookie = setcookie("sid", $sid, $expire, $path, $domain, $secure, $http_only);
        }
    }
// сама функция авторизации
public function authorize($username, $password, $remember=false)
    {
// выбираем пользователя с определенным именем пользователя и паролем
        $query = "select id, username from users where
            username = :username and password = :password limit 1";
        $sth = $this->db->prepare($query);
        
        $sth->execute(
            array(
                ":username" => $username,
                ":password" => $password,
            )
        );
        
        $this->user = $sth->fetch();
        
        if (!$this->user) {
            $this->is_authorized = false;
        } else {
            $this->is_authorized = true;
            $this->user_id = $this->user['id']; // а это id из базы
// сохраняем в сессию текущий идентификатор пользователя
            $this->saveSession($remember);
        }
 
        return $this->is_authorized;
    }
// проверка на существование сессии(авторизации) пользователя
public static function isAuthorized()
    {
        if (!empty($_SESSION["user_id"])) {
            return (bool) $_SESSION["user_id"];
        }
        return false;
    }
Дальше просто можешь работать с этой сессией(в нем хранится идентификатор авторизованного пользователя)
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
// например:
public function getUserName($id){
        $query = "SELECT username 
                  FROM users 
                  WHERE id = :id";
        $sth = $this->db->prepare($query);
        $sth ->execute(array(":id" => $id));
        $row = $sth->fetch();
            if (!$row){
              return false;
            }
        return $row["username"];
    }
PHP
1
2
<?php $auth = new Auth; 
echo $auth->getUserName($_SESSION['user_id']); ?>
1
 Аватар для Grin640
38 / 27 / 3
Регистрация: 24.02.2015
Сообщений: 87
02.03.2017, 13:54
Добрый день!
Цитата Сообщение от MkVMeXaHuK Посмотреть сообщение
это в SQL файлах писать нужно?
Этот запрос нужно будет в PHP файле писать. Если у вас есть какие-то наработки, выкладывайте и пишите, что не получается.
Цитата Сообщение от MkVMeXaHuK Посмотреть сообщение
разъясните чтоб я понял, а то я полный ламер кому не жалко убейте 10 минут своего времени
Пока вы не покажите какой-нибудь свой код, непонятно какая у вас квалификация и от какого момента разъяснять. Пока что получается что с самого нуля, а на это 10 минут не хватит.
0
4 / 4 / 0
Регистрация: 14.03.2016
Сообщений: 196
02.03.2017, 14:46  [ТС]
Grin640, FloppyDisc, Как знать, возможно вы и правы
вот что получилось, много вариаций пробовал что искал не 1 не подошло...
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
<html>
 <head>
  <title>Test SQL from PHP</title>
 </head>
 <body>
 <div>
<form action="foo.php" method="post">
    P2:  <input type="text" name="P2" /><br />
    n2: <input type="text" name="n2" /><br />
    <input type="submit" name="submit" value="Sumbit me!" />
</form>
</div>
<?php
$link = mysql_connect('localhost','id890373_mexahuk','123456');
mysql_select_db('id890373_mexahuk');
mysql_set_charset('utf8');
mysql_query("session_key = request.session.session_key");
mysql_query("session = Session.objects.get(session_key=session_key)");
mysql_query("user_id = session.get_decoded().get('_auth_user_id')");
mysql_query("INSERT INTO `user_id`(`P2`,`n2`,`USER_NAME`) VALUES ($P2,$n2,`User_id`");
$P2 = mysql_query("SELECT `P2` FROM `user_id` WHERE `user_id` = `user_id`");
$n2 = mysql_query("SELECT `n2` FROM `user_id` WHERE `user_id` = `user_id`");
 
?>
 </body>
</html>
0
 Аватар для Grin640
38 / 27 / 3
Регистрация: 24.02.2015
Сообщений: 87
02.03.2017, 15:18
MkVMeXaHuK, в блоке PHP поставьте обработчик значения переменных и присвойте переданные значения использоуемым в запросе переменным:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if(isset($_POST['P2']) && isset($_POST['n2']))
{
    $P2 = $_POST['P2'];
     $n2 = $_POST['n2'];
     $link = mysql_connect('localhost','id890373_mexahuk','123456');
     mysql_select_db('id890373_mexahuk');
     mysql_set_charset('utf8');
     mysql_query("session_key = request.session.session_key");
     mysql_query("session = Session.objects.get(session_key=session_key)");
     mysql_query("user_id = session.get_decoded().get('_auth_user_id')");
     mysql_query("INSERT INTO `user_id`(`P2`,`n2`,`USER_NAME`) VALUES ($P2,$n2,`User_id`");
    $P2 = mysql_query("SELECT `P2` FROM `user_id` WHERE `user_id` = `user_id`");
     $n2 = mysql_query("SELECT `n2` FROM `user_id` WHERE `user_id` = `user_id`");
}
Также в коде не нашел авторизации пользователя. Либо это у вас отдельный файл.
0
Особый статус
 Аватар для FloppyDisc
623 / 221 / 164
Регистрация: 18.11.2015
Сообщений: 1,086
02.03.2017, 15:27
MkVMeXaHuK,
да вам всего-то нужно установить сессию пользователя при его авторизации:

login.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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
// если сессия уже установлена, перенаправляем пользователя подальше от страницы авторизации
if(isset($_SESSION["user_id"])){
header("Location: index.php");
}
 
// если отправле пост запрос
if(isset($_POST["login"])){
    if(!empty($_POST['username']) && !empty($_POST['password'])) {
        $username = $_POST['username']; // берем значения полей из формы
        $password = $_POST['password']; // берем значения полей
 
        // делаем выборку из БД по введенным пользователем данным(паролю и логину)
        $query = mysqli_query("SELECT * FROM users WHERE username='".$username."' AND password='".$password."' LIMIT 1");
        $numrows = mysqli_num_rows($query); // количество записей, которое вернул запрос выше
        
        if($numrows! = 0){ // если количество отлично от нуля
            while($row=mysqli_fetch_assoc($query)){
                // выводим данные из БД
                $dbusername = $row['username'];
                $dbpassword = $row['password'];
                $dbid = $row['id'];
            }
            // если все совпало
            if($username == $dbusername && $password == $dbpassword){
                // устанавливаем сессию равно id пользователя
                $_SESSION['user_id'] = $dbid;
                // перенаправляем 
                header("Location: index.php");
            }
        } else {
            $message =  "Не правильные имя пользователя или пароль!";
        }
 
    } else {
        $message = "Все поля обязательны к заполнению!";
    }
}
 
if (!empty($message)) { echo "<p class=\"error\">" . "MESSAGE: ". $message . "</p>";} 
 
?>
вот форма:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<form name="loginform" id="loginform" action="" method="POST">
    <p>
        <label for="user_login">Username<br />
        <input type="text" name="username" id="username" class="input" value="" size="20" /></label>
    </p>
    <p>
        <label for="user_pass">Password<br />
        <input type="password" name="password" id="password" class="input" value="" size="20" /></label>
    </p>
        <p class="submit">
        <input type="submit" name="login" class="button" value="Log In" />
    </p>
        <p class="regtext">No account yet? <a href="register.php" >Register Here</a>!</p>
</form>
Добавлено через 6 минут
А дальше уже как раз таки и работать с этой сессией, вы можете выбирать данные где пользователем является авторизованный пользователь:
PHP
1
'SELECT .... WHERE user_id = ' . $_SESSION['user_id']
0
4 / 4 / 0
Регистрация: 14.03.2016
Сообщений: 196
03.03.2017, 17:57  [ТС]
сессия уже есть, юзаю движок DLE

Добавлено через 3 часа 30 минут
FloppyDisc,

Добавлено через 20 часов 54 минуты
Решил начать с самого начала, чтоб чекать откуда идут ошибкиFloppyDisc, Grin640,
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
<html>
 <head>
  <title>Test SQL from PHP</title>
 </head>
 <body>
 
<?php
 
     $link = mysql_connect('localhost','id932834_kursach','123456qweasd');
if (!$link) {   
    exit("<P>В настоящий момент сервер базы данных недоступен, поэтому корректное отображение страницы невозможно.</P>");
} else {
    echo ("Соединение установлено");
}
$db = mysql_select_db('id932834_kursach',$link);
 
if (!$db) {
    exit("<P>В настоящий момент база данных недоступна.</P>");
    
} else {
    echo("Соединение установлено");
}
?>
 </body>
</html>
Добавлено через 2 часа 1 минуту
Эти сообщение которые я прописывал они просто не отображаются.

Добавлено через 17 секунд
части html из этого кода убрал
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.03.2017, 17:57
Помогаю со студенческими работами здесь

внесение данных в базу
люди добрые помогите начинающему , немогу сформировать запрос к базе чтобы внести в нее данные из рег.фомы форма &lt;form...

Внесение изменений в базу данных
Подскажите, пожалуйста, почему не сохраняются данные в базу данных :(

Проверка на внесение в базу данных
Всем привет. Возникла такая необходимость - подсчитывать количество внесенных данных. т е я с Excel вытаскиваю строки и вношу их в базу, но...

Внесение даты в базу данных
В программе происходит ввод даты, после чего необходимо внести её в базу данных. Код: string sql = @&quot;UPDATE SET date_reg =...

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


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru