На днях решил сам написать регистрацию и возникло несколько вопросов: 1. Как передать массив с одного файла в другой, например в файле save_user.php есть массив $regerror, в нем ошибки при при регистрации, мне надо их отправить на страницу registration.php, и вывести их на странице. 2. Как сделать функцию если авторизован, если да то выводить одно если нет другое. 3. Как сделать при регистрации пользователя уникальный номер, ну типа первому зарегестривовашсемся Id: 1, второму Id: 2 и т.д. Помогите пожалуйста. З.Ы. Делаю с MySQL
1. Взависимости от того как именно создается массив с ошибками и как происходит переход на страницу регистрации, нужно выбрать какой суперглобальный массив использовать. Можно использовать $_POST, $_GET, $_SESSION, $_COOKIE. Поэтому тут вам нужно конкретизировать и возможно переформулировать вопрос, может даже показать свой код. 2. Здесь тоже возможно несколько вариантов. Самый разумный, на мой взгляд, использовать сессии. То есть записывать в $_SESSION необходимую информацию, которая будет информировать о том, авторизован пользователь или нет. Соответственно ваша функция должна проверять эту информацию или наличие таковой в массиве сессий и выводить нужный результат. 3. В вашей базе данных, в таблице с пользователями, необходимо сделать столбец id, указать целочисленный тип и автоинкремент, то есть при создании новой строки значения ячейки id будет само увеличиваться на 1.
Большое спасибо вам за ответ, особенно 3, я не думал, что всё будет так просто. Насчёт 1, я просто не вникаю в то, как передать массив. С помощью какой функции. Массив имеет следующий вид $regerror[]="Текст с ошибкой"; Так вот, я его хотел передать на страницу регистрации и вывести на страницу. То есть будет происходить редирект и на странице должны появится указания с ошибками. 2. Сессии опять же как то не вникаю, как же происходит запись информации и т.п., но записываю $_SESSION[user_id], но не знаю будет работать или нет. Прошу помочь и если не сложно привести пример.
Насчет авторизации. Вот у вас допустим есть страница login.php, в начале прописываем session_start(); дальше у вас идет код который проверяет введенные пользователем данные и если они верны то помимо всех остальных действий, которые происходят в случае ввода успешных данных, необходимо так же записать в сессию например id пользователя $_SESSION['user_id'] = $id; Что бы на других страница проверить, авторизован пользователь или нет, можно написать функцию: Код (Text): function auth() { if(isset($_SESSION['user_id'])) return 1; else return 0; } Данная функция проверяет, имеется ли значение у данного элемента массива, если да - возвращает 1, если нет 0. По поводу массива, можно так же записывать его в сессию, например $_SESSION['errors'] = $regerror; Но теперь обращаться к элементам необходимо примерно так $_SESSION['errros'][1] ...
Спасибо, с сессиями я вроде разобрался. А вот какой функцией передать массив. Например, в формах это action=save_user.php, а как передать массив, с помощью какой команды, вот, что я не могу понять.
action выполняется при нажатии на кнопку ( чаще всего submit ), в условии, в котором проверяется была нажата или нет эта кнопка, необходимо присвоить $_SESSION['errors'] = $regerrror;