MySQL в PHP

starmaster

Новичок
MySQL в PHP

Собираюсь писать скрипты для знакомств и голосований, там пользователи будут регистрироваться, чтобы получить возможности на сайте, причём зарегистрированные смогут переходить на различные ссылки. У меня вопрос такой: как можно запомнить пользователя после того, как он успешно ввёл свой логин и пароль, по каким данным? Примечание:
1) для входа в систему используется HTML-форма
2) скрипты используют БД
Если ваш-ответ сессии, то сразу встаёт вопрос: как создать для пользователя уникальный идентификатор в сессии... тут также стоит рассматривать безопасность...
Вопрос чисто теоретический...

СУВ
 

starmaster

Новичок
Тогда ещё один вопрос по сабжу: когда я с формы записываю данные в БД на русском языке, то в БД вижу иероглифы. Почему?
 

starmaster

Новичок
Формы под рукой не было, поэтому я начертил примерно как в той форме:
Код:
<?php
print "
<head>
<META HTTP-EQUIV='content-type' CONTENT='text/html; charset=windows-1251'> 
</head>";
if ((!empty($aName)) and (!empty($aLast)))
{
$a=mysql_pconnect("localhost");
$query="insert into main_reg (name, last) values('$aName', '$aLast')";
$query_result=mysql_query($query,$a);
if ($query_result==True)
{
$Result=mysql_insert_id($a);
}
}
...Проверка полей...
function some ($aName, $aLast)
{
print "
<input type='text' name='aName' value='$aName'><br>
<input type='text' name='aLast' value='$aLast'><br>
<input type='submit' value='Record'><br>
";
}
if ((empty($aName)) or (empty($aLast)))
{
some ($aName, $aLast);
}
?>
 

SiMM

Новичок
Совершенно очевидно, что база тут абсолютно не при чём.
PHP:
<?header('Content-Type: text/html; charset=Windows-1251')?>
<html><head><META HTTP-EQUIV="content-type" CONTENT="text/html; charset=windows-1251"></head>
<body>
<form method="POST">
<input type="text" name="aName"<?=!empty($_POST['aName']) ? ' value="'.htmlspecialchars($_POST['aName']).'"' : ''?>>
<input type="submit">
</form>
</body>
</html>
1. Если при постинге данных данной формой вы имеете проблемы с кодировкой - значит, собака порылась где-то в другом месте.
2. Если вы таких проблем не имеете - значит, либо вы сами умышленно кладёте данные в базу в другой кодировке, либо наоборот, меняете кодировку при выводе. Возможно, проблема в том, что у вас русский апач, возможно, делали какой-то выкрутас типа SET CHARACTER SET cp1251_koi8 - реальные причины происходящего науке неизвестны - в этом вам нужно разобратся самостоятельно.

Теперь замечания по коду:
PHP FAQ: Не передаются переменные!!! (дабы больше не писали под register_globals on)
PHP FAQ: Кавычки. \"Надоедливые наклонные\", слеши, экранирование кавычек. (дабы слэши у вас не плодились)
PHP FAQ: Ничего не работает! Что делать??? (дабы учились самостоятельности и в будущем, если не справитесь сами, ставили вопрос более конкретно)
PS: кроме того, mysql_pconnect вам явно не нужен - пользуйте mysql_connect
 
Сверху