Я новичок в php. Подскажите как решить следующую проблему.Необходимо сделать так, чтобы после проверки логина и пароля, пользователю выводилась бы ссылка в соответствии с его id, который хранится в базе . Например, если пользователь имеет id в базе 1, то ему выводятся одна ссылка, если id 3 то другая.Подскажите пожалуйста!!! Код (Text): if ($myrow['password']==$password) { //если пароли совпадают, то используем пользователю сессию $_SESSION['login']=$myrow['login']; $_SESSION['id']=$myrow['id'];//эти данные очень часто используются,то их и будет использовать вошедший пользователь постоянно if($_SESSION['id']=1) {echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='test1.php'>стр1</a>";} if($_SESSION['id']=3) {echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='test2.php'>стр2</a>";} }
Базу я создал, подключился воть таким способом Код (Text): <?php $db = mysql_connect ("localhost","root",""); mysql_select_db ("users",$db); ?> Я так понял, надо написать запрос к базе на выборку id? Код (Text): $result = mysql_query("SELECT * FROM users WHERE id >='1",$db); $myrow = mysql_fetch_array($result); А дальше что надо добавить чтобы заработало?
$result = mysql_query("SELECT * FROM users WHERE id >='1", $db); // а где тогда $логин и $пароль? потерял переменные? $myrow = mysql_fetch_array($result); if ($myrow['password']==$password) { // во вижу $пароль $_SESSION['login']=$myrow['login']; $_SESSION['id']=$myrow['id']; echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='test".$_SESSION['id'].".php'>стр".$_SESSION['id']."</a>"; } Добавлено спустя 53 секунды: не забудь про session_start()
Эх запутался, помогите!! Хочу сделать так, чтобы после того ,как пользователь вошел в систему, у него появлялась сылка в зависимости от его id Воть Код (Text): <?php session_start(); if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} } if (empty($login) or empty($password)) { exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!"); } $login = stripslashes($login); $login = htmlspecialchars($login); $password = stripslashes($password); $password = htmlspecialchars($password); $login = trim($login); $password = trim($password); include ("bd.php"); $result = mysql_query("SELECT * FROM users WHERE login='$login'",$db); $myrow = mysql_fetch_array($result); if (empty($myrow['password'])) { exit ("Извините, введённый вами логин или пароль неверный."); } else { if ($myrow['password']==$password) { $_SESSION['login']=$myrow['login']; $_SESSION['id']=$myrow['id']; $sql1 = mysql_query("SELECT * FROM users WHERE id ='1'",$db); $a1 = mysql_fetch_assoc($sql1); $sql2 = mysql_query("SELECT * FROM users WHERE id ='2'",$db); $a2 = mysql_fetch_assoc($sql2); if($a1>1) {echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='world1.php'>Cтраница</a>";} if($a2>2) {echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='world2.php'>Главная страница</a>";} else { exit ("Извините, введённый вами логин или пароль неверный."); } } } ?>
вау теперь все видно. лишнее написал. Добавлено спустя 4 минуты 35 секунд: Код (PHP): <?php session_start(); if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} } if (empty($login) or empty($password)) { exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!"); } $login = stripslashes($login); $login = htmlspecialchars($login); $password = stripslashes($password); $password = htmlspecialchars($password); $login = trim($login); $password = trim($password); include ("bd.php"); $result = mysql_query("SELECT * FROM users WHERE login='$login'",$db); $myrow = mysql_fetch_array($result); if (empty($myrow['password'])) { exit ("Извините, введённый вами логин или пароль неверный."); } else { $_SESSION['login']=$myrow['login']; $_SESSION['id']=$myrow['id']; echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='world".$myrow['id'].".php'>Cтраница</a>";} } ?> Добавлено спустя 2 минуты 38 секунд: вот с этим не ясно. Если админ заходит то ему "страница" а гостям всем остальным "главная стр" ?
чуваки, давайте раз и навсегда зарубите на носе своем про функцию http://php.ru/manual/function.mysql-real-escape-string.html
@ChromeChrome Добрый день! Если у Вас получилось, помогите мне. Необходимо сделать так, чтобы после проверки логина и пароля, пользователю выводилась бы ссылка в соответствии с его паролем, который хранится в базе . Например, если пользователь имеет пароль в базе 1111, то ему выводятся одна ссылка -1, если пароль 2222 то ссылка -2. PHP: <?php session_start();// вся процедура работает на сессиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!! if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} } //заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную if (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт { exit ("Вы ввели не всю информацию, венитесь назад и заполните все поля!"); } //если логин и пароль введены,то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести $login = stripslashes($login); $login = htmlspecialchars($login); $password = stripslashes($password); $password = htmlspecialchars($password); //удаляем лишние пробелы $login = trim($login); $password = trim($password); // подключаемся к базе include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь $result = mysqli_query($db, "SELECT * FROM users WHERE login='$login'"); //извлекаем из базы все данные о пользователе с введенным логином $myrow = mysqli_fetch_array($result); if (empty($myrow['password'])) { //если пользователя с введенным логином не существует exit ("Извините, введённый вами логин или пароль неверный."); } else { //если существует, то сверяем пароли if ($myrow['password']==$password) { //если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел! $sql1 = mysqli_query("SELECT * FROM users WHERE password ='1111'",$db); $a1 = mysqli_fetch_assoc($sql1); $sql2 = mysqli_query("SELECT * FROM users WHERE password ='2222'",$db); $a2 = mysqli_fetch_assoc($sql2); if($a1>1) {echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='Публикации/start.htm'>ЛС КА</a>";} if($a2>2) {echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='Публикации/start.htm'>ИТС КА</a>";} else { //если пароли не сошлись exit ("Извините, введённый вами логин или пароль неверный."); } ?>
@igordata Добрый день! Помогите мне. Необходимо сделать так, чтобы после проверки логина и пароля, пользователю выводилась бы ссылка в соответствии с его паролем, который хранится в базе . Например, если пользователь имеет пароль в базе 1111, то ему выводятся одна ссылка -1, если пароль 2222 то ссылка -2. PHP: <?php session_start();// вся процедура работает на сессиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!! if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} } //заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную if (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт { exit ("Вы ввели не всю информацию, венитесь назад и заполните все поля!"); } //если логин и пароль введены,то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести $login = stripslashes($login); $login = htmlspecialchars($login); $password = stripslashes($password); $password = htmlspecialchars($password); //удаляем лишние пробелы $login = trim($login); $password = trim($password); // подключаемся к базе include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь $result = mysqli_query($db, "SELECT * FROM users WHERE login='$login'"); //извлекаем из базы все данные о пользователе с введенным логином $myrow = mysqli_fetch_array($result); if (empty($myrow['password'])) { //если пользователя с введенным логином не существует exit ("Извините, введённый вами логин или пароль неверный."); } else { //если существует, то сверяем пароли if ($myrow['password']==$password) { //если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел! $sql1 = mysqli_query("SELECT * FROM users WHERE password ='1111'",$db); $a1 = mysqli_fetch_assoc($sql1); $sql2 = mysqli_query("SELECT * FROM users WHERE password ='2222'",$db); $a2 = mysqli_fetch_assoc($sql2); if($a1>1) {echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='Публикации/start.htm'>ЛС КА</a>";} if($a2>2) {echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='Публикации/start.htm'>ИТС КА</a>";} else { //если пароли не сошлись exit ("Извините, введённый вами логин или пароль неверный."); } ?>