get_current_user
Результатом выполнения данного примера будет что-то подобное:
Смотрите также
- getmyuid() — Получение UID владельца скрипта PHP
- getmygid() — Получить GID владельца скрипта PHP
- getmypid() — Получение ID процесса PHP
- getmyinode() — Получает значение inode текущего скрипта
- getlastmod() — Получает время последней модификации страницы
User Contributed Notes 7 notes
to get the username of the process owner (rather than the file owner), you can use:
<?php
$processUser = posix_getpwuid ( posix_geteuid ());
print $processUser [ ‘name’ ];
?>
On Centos, the Red Hat linux clone, this instruction gives the file’s OWNER (the first parameter in instruction ‘chown’). It does not reveal the file’s GROUP.
get_current_user() does NOT reveal the current process’ user’s identity.
See: posix_getuid() — Return the real user ID of the current process
The information returned by get_current_user() seems to depend on the platform.
Using PHP 5.1.1 running as CGI with IIS 5.0 on Windows NT, get_current_user() returns the owner of the process running the script, *not* the owner of the script itself.
It’s easy to test — create a file containing:
<?php
echo get_current_user ();
?>
Then access it through the browser. I get: IUSR_MACHINE, the Internet Guest Account on Windows, which is certainly not the owner of the script.
Further testing of behaviour on Windows vs Linux.
On Linux this function is indeed returning the owner of the script. If you want to know the username PHP is running as you can use POSIX functions (or shell_exec with ‘whoami’).
On Windows this function is returning the username PHP is running as. Both for IIS (IUSR) and Apache (SYSTEM — which comes from the fact Apache is a service on Windows).
The behaviour on Windows is actually useful given that POSIX functions aren’t available. If you need to find the owner of the script on Windows perhaps the best way is to shell_exec to use dir /Q, and parse that.
Since this only returns the file owner and not the actual user running the script, an alternative in Linux is:
<?php
$current_user = trim ( shell_exec ( ‘whoami’ ));
?>
If you want to get the name of the user who executes the current PHP script, you can use
Как отобразить авторизованную информацию пользователя в PHP?
На сайтах социальных сетей, таких как Facebook, Instagram и т. Д., Имя пользователя и изображение профиля пользователя, который вошел в систему, отображается в заголовке веб-сайта, и этот заголовок остается постоянным, независимо от веб-страницы, которую пользователь открыл. Такая функциональность может быть создана с помощью переменных сеанса .
Переменные сеанса существуют только тогда, когда сеанс пользователя активен. После завершения сеанса переменные сеанса уничтожаются. Они уникальны для каждого посетителя и, как правило, используются для хранения пользовательской информации, такой как имя пользователя, изображение профиля и т. Д., Когда пользователь входит в систему.
Переменные сеанса используются для отображения зарегистрированной пользовательской информации в PHP.
Объяснение проекта и код:
Это простая система регистрации. Страница register.php запрашивает желаемое имя пользователя, адрес электронной почты и пароль пользователя, а затем отправляет введенные данные в базу данных после нажатия кнопки отправки. После этого пользователь перенаправляется на страницу index.php, где отображается приветственное сообщение и имя пользователя, вошедшего в систему.
Первым шагом является создание базы данных, а затем таблицы внутри нее. База данных называется «регистрация», а таблица — «пользователи». Таблица 'users' будет содержать 4 поля.
- id — первичный ключ — автоинкремент
- имя пользователя — varchar (100)
- электронная почта — varchar (100)
- пароль — varchar (100)
«Идентификатор» будет первичным ключом, это означает, что он будет уникальным для каждого зарегистрированного пользователя. Он также будет автоматически увеличиваться при каждой новой регистрации. Тип данных для имени пользователя, электронной почты и пароля будет varchar. Размер может быть скорректирован согласно требованию, однако 100 достаточно.
SQL-код для таблицы:
CREATE TABLE `users` (
`id` int (11) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`username` varchar (100) NOT NULL ,
`email` varchar (100) NOT NULL ,
` password ` varchar (100) NOT NULL

phpMyAdmin после создания базы данных и таблицы

Папка проекта, содержащая необходимые файлы
error.php
< div class = «error» >
<? php foreach ($errors as $error) : ?>
Объяснение: Файл error.php отвечает за хранение сообщений об ошибках системы. Предположим, что пользователь вводит неправильную комбинацию имени пользователя и пароля, тогда в таких случаях сообщения об ошибках будут сохраняться в переменной $ error, которая затем будет отображаться пользователю с помощью 'echo; функция PHP.
server.php
// Начало сеанса необходимо
// для использования переменных сеанса
session_start();
// Объявляем и поднимаем переменные
// код подключения к СУБД -> имя хоста,
// имя пользователя, пароль, имя базы данных
$db = mysqli_connect( ‘localhost’ , ‘root’ , » , ‘registration’ );
if (isset( $_POST [ ‘reg_user’ ])) <
// Получение введенных значений и сохранение
// Санация данных выполняется для предотвращения
$username = mysqli_real_escape_string( $db , $_POST [ ‘username’ ]);
$email = mysqli_real_escape_string( $db , $_POST [ ’email’ ]);
$password_1 = mysqli_real_escape_string( $db , $_POST [ ‘password_1’ ]);
$password_2 = mysqli_real_escape_string( $db , $_POST [ ‘password_2’ ]);
// Гарантируем, что пользователь не оставил ни одного поля ввода пустым
// сообщения об ошибках будут отображаться для каждого пустого ввода
if ( empty ( $username ))
if ( empty ( $email ))
if ( empty ( $password_1 ))
if ( $password_1 != $password_2 ) <
array_push ( $errors , «The two passwords do not match» );
// Проверка соответствия паролей
// Если форма не содержит ошибок, зарегистрируйте пользователя
if ( count ( $errors ) == 0) <
// Шифрование пароля для повышения безопасности данных
$password = md5( $password_1 );
// Вставка данных в таблицу
$query undefined spaces»> VALUES( ‘$username’ , ‘$email’ , ‘$password’ )»;
mysqli_query( $db , $query );
// Сохранение имени пользователя вошедшего в систему пользователя,
// в переменной сеанса
$_SESSION [ ‘username’ ] = $username ;
$_SESSION [ ‘success’ ] = «You have logged in» ;
// Страница, на которой будет находиться пользователь
// перенаправляется после входа в систему
header( ‘location: index.php’ );
if (isset( $_POST [ ‘login_user’ ])) <
// Очистка данных для предотвращения внедрения SQL
$username = mysqli_real_escape_string( $db , $_POST [ ‘username’ ]);
$password = mysqli_real_escape_string( $db , $_POST [ ‘password’ ]);
// Сообщение об ошибке, если поле ввода оставлено пустым
if ( empty ( $username )) <
array_push ( $errors , «Username is required» );
if ( empty ( $password )) <
array_push ( $errors , «Password is required» );
// Проверка на ошибки
if ( count ( $errors ) == 0) <
$password = md5( $password );
$query undefined spaces»> ‘$username’ AND password= ‘$password’ «;
$results = mysqli_query( $db , $query );
// $ results = 1 означает, что один пользователь с
// введенное имя пользователя существует
if (mysqli_num_rows( $results ) == 1) <
// Сохраняем имя пользователя в переменной сессии
$_SESSION [ ‘username’ ] = $username ;
$_SESSION [ ‘success’ ] = «You have logged in!» ;
// Страница, на которую отправляется пользователь
// чтобы после входа в систему
header( ‘location: index.php’ );
// Если имя пользователя и пароль не совпадают
array_push ( $errors , «Username or password incorrect» );
Объяснение: Сессия запущена с использованием метода session_start (). После этого переменные объявляются и создается массив ошибок. Он будет хранить все сообщения об ошибках. Страница server.php затем подключается к базе данных 'registration', созданной ранее. После того, как пользователь нажимает кнопку «зарегистрироваться» на кнопке register.php, введенные данные отправляются в базу данных, и это завершает новую регистрацию. Однако проверка формы выполняется до этого, чтобы убедиться, что пользователь правильно заполняет форму. Все поля являются обязательными и не могут быть оставлены пустыми.
Строка 18 — 21: mysqli_real_escape_string экранирует специальные символы перед отправкой данных в базу данных. Это важно для защиты базы данных от SQL-инъекций.
Строка 25 — 27: эти строки проверяют, заполняет ли пользователь все поля ввода и совпадают ли «пароль» и «подтверждение пароля». Если оба пароля совпадают, то код выполняется дальше.
Строка 29 — 32: проверка соответствия пароля или нет.
Вывод имени пользователя на личной странице
Как сделать регистрацию и авторизацию пользователей с личной странице пользователя и адресом на его страницу?
Как сделать регистрацию и авторизацию пользователей с личной странице пользователя и адресом на его.
Вывод имени пользователя или имени компьютера пользователя БД
Здравствуйте. Есть БД на аксесс 2013+SQL Server. Файл БД хранится на сетевом ресурсе, пользователи.
Запрос и ввод имени пользователя, сравнение с текущим логическим именем пользователя и вывод результата
нужна помощь! 5. Запрос и ввод имени пользователя, сравнение с текущим логическим именем.
Сообщение от AKNYT
Добавлено через 26 минут
Жду ответа)
Добавлено через 53 минуты
Сообщение от RussianNinja
Сообщение от RussianNinja
Вывод имени пользователя
проблема такая: мне нужно чтобы если пользователь вошел под логином и паролем на странице.
Вывод имени пользователя в форму
Есть некая база данных где доступ пользователям реализован через логин/пароль. Есть ли в access.
Вывод имени пользователя в форму
Есть небольшой чат. Не получается вывести имя пользователя которое запрашивается при входе в чат. .
Вывод Имени пользователя после авторизации
Добрый день. Нашел на форуме несложную авторизацию для своей программки(она ниже). Появилась.
How Can I get a Session Id or username in php?
I have a website where users can log in. I have tried:
and When users login I set their session as userlogin, but it won’t show their username.
3 Answers 3
Did you start the session before using it?
And to retrieve it on another page do:
EDIT
Some more information about how to create a loginform.. You say you tried setting $_SESSION[‘user’] but that this didn’t work.
So just make sure that you actually did a session_start(); before that. If you did, everything should work. Unless you assign an empty variable to the session. So doublecheck that the variable you assign actually contains a value. Like:
In the tutorial you linked me to they are doing:
This means they are assigning a value they got from their loginform that they create here:
There you see <input type=’text’ name=’userlogin’ size’20’> . But there is no <form></form> tag around this form.. So this won’t properly post. So what you should do is the following:
This form will post the form back to index.php with userlogin and password as $_POST variables.
In your index.php you can then do:
I can’t make it much clearer without writing the entire code for you. So I hope this helps you.