Моё меню Общее меню Пользователи Правила форума Все прочитано
Вернуться   uForum.uz > ИКТ и телеком > IT-индустрия > Софт > Программирование > Веб программирование
Знаете ли Вы, что ...
...для каждой темы существует свой раздел. Изучите структуру форума. Если соответствующего раздела нет, то всегда есть раздел "Разное" :)
<< Предыдущий совет - Случайный совет - Следующий совет >>

Веб программирование Вопросы WEB программирования (Java Script и т.д.)


Ответить

 
Опции темы Опции просмотра
Старый 04.03.2016 16:16   #11  
Аватар для Фёдор
Оффлайн
Сообщений: 702
+ 99  466/226
– 17  93/54

Uzbekistan
kelt, научитесь выслеживать ошибки.
Я бы с радостью Вам помочь, но у меня нет времени создавать эмуляцию Вашего случая.
И потом, используйте модуль НЕ mysql а именно mysqli он более производительнее, а лучше вообще PDO, на будущее больше пригодится.
Ответить 
Старый 04.03.2016 22:00   #12  
Аватар для kelt
Оффлайн
Павлин
Сообщений: 2,263
+ 594  458/337
– 1,250  976/401

Switzerland
Фёдор,спасибо вам за помощь. Предыдущий код работает.
shumbola, вам также спасибо за помощь.

Еще нужно прикрутить функцию в персональном кабинете пользователя.
Например он авторизован, теперь нужна кнопка на странице чтобы она добавляла дату т.е. сегодняшнею в базу при нажатии на нее. Структура таблицы uch поля id username dennj plnjnakn. Кнопка должна найти пользователя по username в этой таблице и добавить в поле plnjnakn текущую дату.
страница ПК
Цитата:

<?php
session_start();
if(!isset($_SESSION["session_username"])) {
header("location:login.php");
} else {
?>

<div id="welcome">
<h2>Welcome, <span><?php echo $_SESSION['session_username'];?>! </span></h2>
<p><a href="logout.php">Logout</a> Here!</p>
</div>


<?php
}
?>

Страница авторизации
Цитата:
<?php
session_start();
?>

<?php require_once("includes/connection.php"); ?>

<?php

if(isset($_SESSION["session_username"])){
// echo "Session is set"; // for testing purposes
header("Location: intropage.php");
}

if(isset($_POST["login"])){

if(!empty($_POST['username']) && !empty($_POST['password'])) {
$username=$_POST['username'];
$password=$_POST['password'];

$query =mysql_query("SELECT * FROM usertbl WHERE username='".$username."' AND password='".$password."'");

$numrows=mysql_num_rows($query);
if($numrows!=0)

{
while($row=mysql_fetch_assoc($query))
{
$dbusername=$row['username'];
$dbpassword=$row['password'];
}

if($username == $dbusername && $password == $dbpassword)
{
$_SESSION['session_username']=$username;
header("Location: intropage.php");
}
} else {
$message = "Неверный или пароль!";
}
} else {
$message = "Введите и пароль";
}
}
?>
<div class="container mlogin">
<div id="login">
<h1>Авторизация</h1>
<form name="loginform" id="loginform" action="" method="POST">
<p>
<label for="user_login">Номер телефона<br />
<input type="text" name="username" id="username" class="input" value="" size="20" /></label>
</p>
<p>
<label for="user_pass">Пароль<br />
<input type="password" name="password" id="password" class="input" value="" size="20" /></label>
</p>
<p class="submit">
<input type="submit" name="login" class="button" value="Log In" />
</p>
</form>
</div>
</div>

<?php if (!empty($message)) {echo "<p class=\"error\">" . "MESSAGE: ". $message . "</p>";} ?>

Последний раз редактировалось kelt; 04.03.2016 в 22:04.
Ответить 
Старый 04.03.2016 22:41   #13  
Real ID Group
Аватар для Rooslan Khayrov
Оффлайн
Google
software engineer
AKA:Y combinator
Сообщений: 418
+ 114  374/183
– 6  9/8

Switzerland
Цитата:
Сообщение от kelt Посмотреть сообщение
таблицы uch поля id username dennj plnjnakn
Оффтоп:
Меня всё мучает вопрос, какой человеческий язык в основе этих названий? На проход кошки по клавиатуре не похоже, но и осмысленной интерпретации никакой придумать не могу.

Цитата:
Сообщение от kelt Посмотреть сообщение
$query =mysql_query("SELECT * FROM usertbl WHERE username='".$username."' AND password='".$password."'");
Пожалуйста, не надо так писать. Даже если только учитесь.
SQL-инъекция
Соль пароля
__________________
Написанное здесь отражает только моё личное мнение и может не совпадать с позицией работодателя.
Ответить 
Старый 04.03.2016 23:08   #14  
Аватар для kelt
Оффлайн
Павлин
Сообщений: 2,263
+ 594  458/337
– 1,250  976/401

Switzerland
Rooslan Khayrov,все верно пароль пишется в базу в открытом виде, нет md5. Я его потом добавлю. Скорее всего придется переписать в PDO. В данный момент нужно сделать базовый функционал, а уже потом скорее всего придется нанять толкового программиста php для того чтобы привести код в божеский вид. Сейчас нет денег на него. Приходится осваивать php самому. Я лично с php знаком пока только 3 дня. Также заметил что все только могут учить, а вот помогать никто не хочет, лишь только единицы, да и то только советами.
Как создать запрос чтобы php взял из ($_SESSION["session_username"]) значение username, нашел ее в таблице uch и добавил в поле plnjnakn текущую дату сервера. И чтобы этот запрос выполнялся при нажатии кнопки.
Ответить 
Реклама и уведомления
Старый 04.03.2016 23:29   #15  
Real ID Group
Аватар для Азизбек Кадыров
Оффлайн
Uzinfocom
AKA:censor2005
Сообщений: 1,279
+ 3,546  939/425
– 40  26/25

UzbekistanМой мирFacebook
Цитата:
Сообщение от kelt Посмотреть сообщение
Как создать запрос чтобы php взял из ($_SESSION["session_username"]) значение username, нашел ее в таблице uch и добавил в поле plnjnakn текущую дату сервера. И чтобы этот запрос выполнялся при нажатии кнопки.
PHP код:
$session_username=mysql_real_escape_string($_SESSION['username']);
$query mysql_query("UPDATE uch SET plnjnakn=NOW() WHERE username=".$session_username." LIMIT 1"); 
вот такой страшный код )) Про инъекции вам уже написали выше
__________________
http://lugat.uz/ - переводчики и словари (онлайн, Telegram и Android версии)
Ответить 
Старый 05.03.2016 00:30   #16  
Аватар для kelt
Оффлайн
Павлин
Сообщений: 2,263
+ 594  458/337
– 1,250  976/401

Switzerland
Азизбек Кадыров, не работает этот код. $session_username=mysql_real_escape_string($_SESSION['username']);
$query = mysql_query("UPDATE uch SET plnjnakn=NOW() WHERE username=".$session_username." LIMIT 1");
В чем причина не понятно. Скрипт отрабатывает, но ошибок не выводит.

Тут вывод данных с таблицы
<?php
$qr_result = mysql_query("select * from " . uch)
or die(mysql_error());
echo '<table border="1">';
echo '<thead>';
echo '<tr>';
echo '<th>id</th>';
echo '<th>нд</th>';
echo '<th>Дата в</th>';
echo '<th>Дата п</th>';
echo '</tr>';
echo '</thead>';
echo '<tbody>';

while($data = mysql_fetch_array($qr_result)){
echo '<tr>';
echo '<td>' . $data['id'] . '</td>';
echo '<td>' . $data['username'] . '</td>';
echo '<td>' . $data['dennj'] . '</td>';
echo '<td>' . $data['plnjnakn'] . '</td>';
echo '</tr>';
}

echo '</tbody>';
echo '</table>';
?>

Мне выводится полностью . $data['username'] . Как сделать чтобы выводились только 5 последних символов? А остальные закрывались звездочками.

Последний раз редактировалось kelt; 05.03.2016 в 00:41.
Ответить 
Старый 05.03.2016 15:21   #17  
Real ID Group
Аватар для Азизбек Кадыров
Оффлайн
Uzinfocom
AKA:censor2005
Сообщений: 1,279
+ 3,546  939/425
– 40  26/25

UzbekistanМой мирFacebook
kelt,а вы вообще в сессию что нибудь сохраняете? может там ничего нет, поэтому не работает код.

PHP код:
echo str_repeat("*",strlen($data['username']-5)).substr($data['username'],strlen($data['username'])-5); 
__________________
http://lugat.uz/ - переводчики и словари (онлайн, Telegram и Android версии)
Ответить 
"+" от:
Старый 05.03.2016 20:03   #18  
Аватар для kelt
Оффлайн
Павлин
Сообщений: 2,263
+ 594  458/337
– 1,250  976/401

Switzerland
Азизбек Кадыров, Сессия создается. При успешной авторизации создается такое куки у пользователя http://prntscr.com/abiikp

Сервер выдает такие ошибки
Warning: mysql_real_escape_string(): MySQL server has gone away in on line 20

Warning: mysql_real_escape_string(): A link to the server could not be established in on line 20

Warning: mysql_query(): MySQL server has gone away in on line 21

Warning: mysql_query(): A link to the server could not be established in on line 21
Ответить 
Старый 05.03.2016 20:04   #19  
Аватар для kelt
Оффлайн
Павлин
Сообщений: 2,263
+ 594  458/337
– 1,250  976/401

Switzerland
Цитата:
Сообщение от Азизбек Кадыров Посмотреть сообщение
echo str_repeat("*",strlen($data['username']-5)).substr($data['username'],strlen($data['username'])-5);
Отлично. заработало с первого раза.
Ответить 
Старый 05.03.2016 21:58   #20  
Real ID Group
Аватар для Азизбек Кадыров
Оффлайн
Uzinfocom
AKA:censor2005
Сообщений: 1,279
+ 3,546  939/425
– 40  26/25

UzbekistanМой мирFacebook
Оффтоп:
kelt, сорри за оффтоп, как вы умудрились за 322 сообщения набрать 477 минусов? ))
__________________
http://lugat.uz/ - переводчики и словари (онлайн, Telegram и Android версии)
Ответить 
Ответить
Опции темы
Опции просмотра




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Advertisement System V2.5 By Branden
OOO «Единый интегратор UZINFOCOM»


Новые 24 часа Кто на форуме Новички Поиск Кабинет Все прочитано Вверх