Jump to content
  • 0

Проверка логина и пароля.


Pavel_html
 Share

Question

Как сделать так чтобы когда пользователь ввел пароль "pass" он перенаправлялся на страницу 1.html а когда вводил "pass2" на страницу 2.html. Все названия я дал для примера.

Да-да. Такая тема существует. Но я ничего не понял из той темы.

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

хм... все делается вот так:

index.php

<?

// Запускаем сессии(можно сохранять информацию как в COOKIES, только на стороне сервера)
session_start();

// делаем переменную $_SESSION['login'] доступную другим страницам.... хотя я до сихпор не пойму толк от этой операции ((
session_register('login');

// Проверка на то, что пользователь всетаки зашел...
if( empty($_SESSION['login']) )
{
header('Location: login_form.html'); // если он не зашел, то отправляем на страницу входа
}
else
{
print('Вы с нами, <b>дорогой пользователь</b>!'); // если он был залогинен, то приветствуем!
}

?>

.... код страницы....

login_form.html

<form action="login.php" method="post">
<p>Логин: <input type="text" name="login" /></p>
<p>Пароль: <input type="password" name="password" /></p>
<p><input type="submit" value="enter" /></p>
</form>

login.php

<?
if( empty( $_POST['login'] ) || empty( $_POST['password'] ) )
{
die('Вы что то не договариваете...'); // если логин или пароль пустые, то сообщаем об этом
}

session_start();

session_register('login');

if( $_POST['login'] == 'user' && $_POST['password'] == 'pass' )
{
$_SESSION['login'] = 'yes';
header('Location: index.php');
}
else
{
die('Вы точно не наш человек!'); // если логин или пароль не подошли!
}
?>

все на прямитивах...

В массиве $_SESSION всегда храняться данные которые мы можем прочитать из разных PHP-страниц, в массиве же $_POST или в более общем массиве $_REQURST содержаться данные которые передаются HTML-формой.

check_globals.php

Все глабальные переменные:
<pre>
<? print_r($GLOBAL) ?>
</pre>

$_GET
<pre>
<? print_r($_GET) ?>
</pre>

$_POST
<pre>
<? print_r($_POST) ?>
</pre>

$_REQUEST
<pre>
<? print_r($_REQUEST) ?>
</pre>

$_SESSION
<pre>
<? print_r($_REQUEST) ?>
</pre>

И попробуй в такой файл отправь данные HTML-формой... И просто поэксперементируй...

Link to comment
Share on other sites

  • 0

мда....

1) session_start(); запускаеться один раз в index.php смысл запускать потом в каждом файле? что бы Нотисов наловить?

2) if( $_POST['login'] == 'user' насчет такой проверки я лучше промолчу... про приведение типов на php что нить читали?

Link to comment
Share on other sites

  • 0

ProGGGer , читал +))) да и вообще это пример чисто для общего развития, я не говорил, что в идеале именно так это все и пишеться... Ну если с чем-то не согласен, то лучше бы привел свой пример.

ладно...

if( !session_registered() ) session_start();

насамом деле лучше создать 1 файл login.inc.php и подключать его к каждой странице(посредством include), где уже будут нужные проверки..

Link to comment
Share on other sites

  • 0

А если сешин_старт запущен был в одном скрипте, зарегены одна-две переменные, то если позже вызовется скрипт и у него НЕ будет вначале сешин_старт то я не смогу получить ранее зарегенные переменные из массива СЕССИОН, Т..е является ли вызов сешин_старт обязательным условием для получения доступа к переменным сессии? Если он обязателен то сешион_старт по любому необходимо вызывать в любом скрипте где предполагается считать значение переменных.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy