PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (3): [1] 2 3 »
Найдено сообщений: 33
Sveta
Отправлено: 07 Декабря, 2011 - 11:35:39 • Тема: Авторизация • Форум: Вопросы новичков
Ответов: 11 Просмотров: 495
Я сессии не использовала, но делала так и у меня работает.
PHP:
скопировать код в буфер обмена
<?PHP
// Страница авторизации
# Функция для генерации случайной строки
function generateCode( $length = 6) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHI JKLMNOPRQSTUVWXYZ0123456789" ;
$code = "" ;
while ( strlen ( $code ) < $length ) { }
return $code ;
}
# Соединямся с БД
include_once ( "O:/home/localhost/www/db/www/podkluchenie.php" ) ;
if ( isset ( $_POST [ 'submit' ] ) ) {
# Вытаскиваем из БД запись, у которой логин равняеться введенному
# Сравниваем пароли
if ( $data [ 'password' ] === md5 ( md5 ( $_POST [ 'password' ] ) ) ) {
# Генерируем случайное число и шифруем его
$hash = md5 ( generateCode
( 10
) ) ;
if ( !@ $_POST [ 'not_attach_ip' ] )
{
# Если пользователя выбрал привязку к IP
# Переводим IP в строку
$insip = ", ip=INET_ATON('" . $_SERVER [ 'REMOTE_ADDR' ] . "')" ;
}
# Записываем в БД новый хеш авторизации и IP
mysql_query ( "UPDATE users SET hash='" . $hash . "' " . $insip . " WHERE id_u='" . $data [ 'id_u' ] . "'" ) ;
# Ставим куки
# Переадресовываем браузер на страницу проверки нашего скрипта
header ( "Location: [страница куда надо перейти после авторизации].php" ) ; exit ( ) ; }
else
{
print "Вы ввели неправильный логин/пароль" ;
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<form method="POST">
Логин</td>
<td><input name="login" type="text"><br></td></tr>
<tr><td> Пароль</td> <td> <input name="password" type="password"><br></td></tr>
<tr><td>Не прикреплять к IP (не безопасно)</td> <td> <input type="checkbox" name="not_attach_ip"><br></td><tr>
<tr><td width="140 px"><input name="submit" type="submit" value="Войти">
</form></td></tr></table>
</body>
</html>
для этого нужна таблица в бд с пользователями (у меня таблица users), в которой есть поля id,login,password,hash,ip.
А на странице, на которую ты переходишь, должна быть проверка
PHP:
скопировать код в буфер обмена
<?PHP
// Скрипт проверки
# Соединямся с БД
if ( isset ( $_COOKIE [ 'id' ] ) and
isset ( $_COOKIE [ 'hash' ] ) ) {
$query = mysql_query ( "SELECT *,INET_NTOA(ip) AS ip FROM users WHERE id_u = '" . intval ( $_COOKIE [ 'id' ] ) . "' LIMIT 1" ) ;
if ( ( $userdata [ 'hash' ] !== $_COOKIE [ 'hash' ] ) or ( $userdata [ 'id_u' ] !== $_COOKIE [ 'id' ] )
or ( ( $userdata [ 'ip' ] !== $_SERVER [ 'REMOTE_ADDR' ] ) and ( $userdata [ 'ip' ] !== "0" ) ) )
{
print "Хм, что-то не получилось" ;
}
else
{
print "Привет, " . $userdata [ 'login' ] . ". Всё работает!" ;
}
}
else
{
print "Включите куки" ;
}
?>
Естественно у тебя должны быть свои названия полей
Sveta
Отправлено: 03 Декабря, 2011 - 19:23:57 • Тема: очистка полей ввода • Форум: Вопросы новичков
Ответов: 6 Просмотров: 222
я уже попробовала. у меня есть хром, опера и мазила autocomplete="off" работает у меня только в опере.
Sveta
Отправлено: 03 Декабря, 2011 - 17:24:11 • Тема: очистка полей ввода • Форум: Вопросы новичков
Ответов: 6 Просмотров: 222
Привет всем. На странице входа в личный кабинет форма, в которой есть поля ввода для логина и пароля и кнопка. Так когда я хочу ввести логин, щелкаю на поле и мне выдает все что я когда либо туда вводила. как от этого избавиться.
Sveta
Отправлено: 28 Ноября, 2011 - 12:37:35 • Тема: обновление страницы • Форум: Вопросы новичков
Ответов: 3 Просмотров: 167
Привет.
Есть 2 окна. Возможно ли при нажатии кнопки во втором окне обновлялось первое?
Sveta
Отправлено: 26 Октября, 2011 - 15:08:07 • Тема: изменение записи • Форум: Вопросы новичков
Ответов: 3 Просмотров: 123
мне нужно изменить запись в таблице, но мой скрипт этого не делает. Что не так?
файл izmtipa.php
PHP:
скопировать код в буфер обмена
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Административное приложение</title>
</head>
<body>
<?PHP
include_once ( "C:/apache/localhost/www/podkluchenie.php" ) ;
$id = ( int) $_GET [ 'id_tt' ] ;
$query = "
SELECT `img_tipy`.`id_itt` ,
`tipy`.`id_tt`,
`tipy`.`name_tipa`,
`tipy`.`img_tipa`
FROM tipy
INNER JOIN img_tipy
ON `img_tipy`.`id_itt` = `tipy`.`img_tipa`
WHERE `tipy`.`id_tt` = " . $id ; ;
{
echo "<br>Не могу выполнить запрос<br>" ;
}
echo "<table>" ;
// вывод результата запроса
{ foreach ( $mas as $field ) ;
echo "<tr><td><img src='imgtipy.php?id_itt=" . $mas [ 3 ] . " alt='' /> </td>
<td>
<table>
<tr>
<td>"
, $mas [ 2 ] ,
"</td></tr>
</table>
</td>
</tr>" ;
}
echo "</table>" ;
echo "
<form enctype='multipart/form-data' method='post' action='izmtipy1.php?id_tt=" . $mas [ 1 ] . "'>
<p>Новое название типа товара: <input type='text' name='name1'>
<p>Изображение: <input type='file' name='image' />
<p><input type='submit' value='Загрузить' />
</form>" ;
?>
</body>
</html>
файл izmtipa1.php
PHP:
скопировать код в буфер обмена
<?PHP
include_once ( "C:/apache/localhost/www/podkluchenie.php" ) ;
$id = ( int) $_GET [ 'id_tt' ] ;
$izm = " UPDATE `volshebnyi`.`tipy` SET `name_tipa` = '" . mysql_real_escape_string ( $_POST [ 'name1' ] ) . "', WHERE `tipy`.`id_tt` =" . $id ; {
echo "<br>Не могу выполнить запрос<br>" ;
} else { echo "Тип успешно изменен" ; }
?>
заранее спасибо
Sveta
Отправлено: 24 Октября, 2011 - 15:37:41 • Тема: Добавление записи • Форум: Работа с СУБД
Ответов: 1 Просмотров: 621
Я снова к Вам обращаюсь, потому что вопросов много, а толково отвечаете только Вы.
Ситуация такая. Есть 2 таблицы "товары" и "производители". Таблица товары имеет поля: id, name,proizvoditel,opisanie,cena. А в таблице "производители" - id, firma, strana. Эти таблицы связаны один ко многим, для поля "товары".proizvoditel данные берутся из таблицы "производители". Как мне добавить запись в таблицу "товары", чтобы была возможность выбрать производителя? Желательно на примере. Заранее спасибо.
Sveta
Отправлено: 21 Октября, 2011 - 21:54:57 • Тема: Подключение к бд • Форум: Вопросы новичков
Ответов: 3 Просмотров: 204
Я хотела строки подключения к бд вынести в отдельный файл и обращаться к нему из других файлов, но файл не читается и соответственно ничего не работает. Подскажите как сделать правильно?
Sveta
Отправлено: 03 Июня, 2011 - 22:10:38 • Тема: Интернет-магазин • Форум: HTTP и PHP
Ответов: 24 Просмотров: 5519
хорошо что без оформления, осталась только суть. Спасибо тебе. Ты своим примером мне еще одну проблему решил. ты молодец!
(Добавление)
Только ты заходи хотя бы иногда в тему. У меня могут возникнуть вопросы по коду JS
Страниц (3): [1] 2 3 »
Powered by ExBB FM 1.0 RC1. InvisionExBB