Сообщений: 168
Тем: 4
Зарегистрирован: Mar 2014
Репутация:
194
Fudji Написал:Не совсем понял, что echo запрос sql запроса? это как?
sql запрос представляет собой просто кусок текста по сути.
команда ниже его выведет на экран.
echo("SELECT ugroup FROM users WHERE login = ".$_SESSION["login"].'"');
Сообщений: 684
Тем: 21
Зарегистрирован: May 2013
Репутация:
2,594
07-05-2014, 06:49 PM
(Сообщение последний раз редактировалось: 07-05-2014, 06:50 PM Fudji.)
epmak Написал:config.php - где будут настройки
index.php - где будет вся движуха.
Так и есть, Config.php там подключение в БД, function.php где настройки, а index.php где вся движуха
Добавлено через 36 секунд
AleBrider Написал:sql запрос представляет собой просто кусок текста по сути.
команда ниже его выведет на экран.
echo("SELECT ugroup FROM users WHERE login = ".$_SESSION["login"].'"');
Если так написать, оно выведет просто
SELECT ugroup FROM users WHERE login = TEst"
Детям нельзя в интернет. От детей интернет тупеет.
Сообщений: 168
Тем: 4
Зарегистрирован: Mar 2014
Репутация:
194
Fudji Написал:Так и есть, Config.php там подключение в БД, function.php где настройки, а index.php где вся движуха
Добавлено через 36 секунд
Если так написать, оно выведет просто
SELECT ugroup FROM users WHERE login = TEst"
У вас кавычки нет, сравните с этим.
SELECT ugroup FROM users WHERE login = 'TEst '
При добавлении кавычек php может упать, если что экранируем кавычку слешем. \ '
Сообщений: 684
Тем: 21
Зарегистрирован: May 2013
Репутация:
2,594
echo("SELECT ugroup FROM users WHERE login = ".$_SESSION["login"].'"');
выводит
SELECT ugroup FROM users WHERE login = TEst"
оно уже само пишет TEst, почему пишет логин, можно запрос сделать не login , а group?
Детям нельзя в интернет. От детей интернет тупеет.
Сообщений: 604
Тем: 16
Зарегистрирован: Feb 2013
Репутация:
4,248
07-05-2014, 06:59 PM
(Сообщение последний раз редактировалось: 07-05-2014, 07:03 PM epmak.)
далее нужно составить грамотно таблицы в базе данных:
таблица с пользовательскими данными:
ид юзверя
логин
пароль
ид группы
далее таблица с остальными данными (хотя, если это все, что касается пользователя: телефон, фио, адрес проживания и т.п., то можно и в этой).
после всего этого, нужна функция проверки юзверя, например
PHP код: <?php
function auth($login,$pwd)
{
$info = mysql_fetch_array(mysql_query("select password, goupID FROM user WHERE login='{$login}'"));
if(isset($info["password"]))//если есть такой юзверь
{
if($pwd == $info["password"])
{
$_SESSION["login"] = $login;
$_SESSION["group"] = $info["goupID"];
return true;
}
}
return false;
}
эта функция принимает данные логина и пароля и в случае успеха, создает сессию и возвращает положительный реззультат, в противном случае возвращает false;
затем пишем index.php
так как ты не используешь шаблонизаторы, то код будет ужасен
PHP код: <?php session_start();
require "config.php";//подключаем настройки и подключение к базе
require "function.php";//подключаем функции, где кстати будет и auth
if(!isset($_SESSION["login"]) || !isset($_SESSION["group"]))
showLoginForm();
else
{
//работаем с таблицой
}
Сообщений: 168
Тем: 4
Зарегистрирован: Mar 2014
Репутация:
194
Fudji Написал:echo("SELECT ugroup FROM users WHERE login = ".$_SESSION["login"].'"');
выводит
SELECT ugroup FROM users WHERE login = TEst"
оно уже само пишет TEst, почему пишет логин, можно запрос сделать не login , а group?
Думаю у вас имеется phpmyadmin или какой либо другой sql клиент, попробуйте выполнить вас запрос и поймете, где ошибка (кавычки).
SELECT ugroup FROM users WHERE login = TEst"
Сообщений: 604
Тем: 16
Зарегистрирован: Feb 2013
Репутация:
4,248
epmak Написал:далее нужно составить грамотно таблицы в базе
итак, далее:
в function.php
PHP код: <?php
function auth($login,$pwd)
{
$info = mysql_fetch_array(mysql_query("select password, goupID FROM user WHERE login='{$login}'"));
if(isset($info["password"]))//если есть такой юзверь
{
if($pwd == $info["password"])
{
$_SESSION["login"] = $login;
$_SESSION["group"] = $info["goupID"];
return true;
}
}
return false;
}
showLoginForm(){
if(!isset($_POST["loginfield"]) && !isset($_POST["pwdfield"]))
{
echo "<form method='POST' action=''>
Логин: <input type='text' name='loginfield'><br>
Пароль: <input type='password' name='pwdfield'><br>
<input type="submit" name ="logIn" value="Вход">
</form>";
}
else
{
$login = htmlspecialchars(trim($_POST["loginfield"]));
$pw = htmlspecialchars(trim($_POST["pwdfield"]));
if(!auth($login,$pw))
{
echo "Пользователя не существует или введены неверные данные, нажмите <a href='http://{$_SERVER["HTTP_HOST"]}'>сюда</a> чтобы продолжить";
}
else
header("Location: http://{$_SERVER["HTTP_HOST"]}");
}
}
дальше я афк ненадолго, потом продолжим.
делать, так более-менее по человечески
Сообщений: 684
Тем: 21
Зарегистрирован: May 2013
Репутация:
2,594
Ребят, а можно в скайп? а то голова пухнет уже.
Детям нельзя в интернет. От детей интернет тупеет.
Сообщений: 604
Тем: 16
Зарегистрирован: Feb 2013
Репутация:
4,248
http://rghost.ru/56744029
вот тебе готовый вариант, единственное что надо - подставить в запрос свои таблицы и поля. перменные сессии не меняй. если все заработает, продолжим.
Скайп удобнее, но чую не ты 1 с такой проблемой
Сообщений: 684
Тем: 21
Зарегистрирован: May 2013
Репутация:
2,594
Ничишуя у меня не получается.
Детям нельзя в интернет. От детей интернет тупеет.
|