Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Пример из книги
 
 автор: Herurg   (19.08.2005 в 13:33)   письмо автору
 
 

Пробую разобрать пример из книги "Самоучитель PHP5", авторы: М.Кузнецов и И.Симдянов.
Создание приложения, хранящего данные о пользователе.
Запрос к базе:
create database auth;
use auth;
create table auth
(
name varchar(10) not null;
pass varchar(30) not null;
primary key (name)
);

Код auth.php следующий:

<?php
$dblocation 
"127.0.0.1";
$dbname "auth";
$dbuser "root";
$dbpasswd "";

session_start();

if (isset(
$HTTP_POST_VARS['userid']) &&
isset(
$HTTP_POST_VARS['password']))
{
        
$userid $HTTP_POST_VARS['userid'];
        
$password $HTTP_POST_VARS['password'];
        
$db_connect mysql_connect($dblocation$dbuser$dbpasswd);
        
mysql_celect_db('auth',$db_connect);
        
$query "select * from auth where name='".$userid."'
        and pass = password('
$password');";
        
$result mysql_query($query$db_connect);
        if (
$result)
   {
        
$HTTP_SESSION_VARS['valid_user'] = $userid;
   }
}
?>

<html>
<body>
<h3>Страница регистрации.</h3>
<?
if (isset($HTTP_SESSION_VARS['valid_user']))
{
        echo 
'Вы зарегистрированны как '.$HTTP_SESSION_VARS['valid_user'].
        
'<br />';
        echo 
'<a href="destroy.php">Выход</a><br />';
}
else
{
        if (isset(
$userid))
        {
                echo(
"Регистрация невозможна");
        }
        
?>
<form method="POST" action="auth.php">
<table>
<tr><td>Имя:</td>
    <td><input type="TEXT" name="userid"></td>
</tr>
<tr><td>Пароль:</td>
    <td><input type="PASSWORD" name="password"></td>
</tr>
<tr><td colspan="2"><input type=SUBMIT value='Зарегистрировать'></td>
</tr>
</table></form>
<?
}
?>
<br>
<a href="members_only.php">Только для зарегистрированных
пользователей</a>
</body>
</html>

На странице появляется форма, при вводе логина и пароля и нажатии кнопки "регистрация", открывается страница, на которой следующая ошибка:
Fatal error: Call to undefined function: mysql_celect_db()
Подскажите, что не так. На сервере установлен PHP v4.3.10, а код под PHP 5, может в этом дело?
Еще вопрос, как сделать так, чтобы после регистрации данные отправлялись на e-mail администратора. В письме должены быть явно отображены логин пароль и ссылка. (Это нужно для того, чтобы при случае отказать в регистрации.) Письмо отправляется пользователю, тот заходит по ссылке для завершения регистрации.
Еще один вопрос, как можно каждому пользователю задать свои права. Т.е. один зарегистрированный пользователь видит страничку с одной информацией, другой туже страничку, но уже с более полной информацией и т.д.

   
 
 автор: P@Sol   (19.08.2005 в 13:39)   письмо автору
 
   для: Herurg   (19.08.2005 в 13:33)
 

<?
...
if (isset(
$HTTP_POST_VARS['userid']) && 
isset(
$HTTP_POST_VARS['password'])) 

        
$userid $HTTP_POST_VARS['userid']; 
        
$password $HTTP_POST_VARS['password']; 
        
$db_connect mysql_connect($dblocation$dbuser$dbpasswd); ?>
        mysql_select_db('auth',$db_connect); 
...

   
 
 автор: Herurg   (19.08.2005 в 13:43)   письмо автору
 
   для: P@Sol   (19.08.2005 в 13:39)
 

:-), моя не внимательность!
Спасибо, за подсказку, заработало :-)!
Помогите с другими вопросами, плиз.

   
 
 автор: cheops   (19.08.2005 в 13:40)   письмо автору
 
   для: Herurg   (19.08.2005 в 13:33)
 

Следует заменить mysql_celect_db() на mysql_select_db(). Код должен работать как под PHP 4.0, так и под PHP 5.0. Отправку почты осуществляется при помощи функции mail() http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=6052. С удовольствием ответим на все вопросы, но лучше, если каждый вопрос, будет оформлен в виде отдельной темы - так потом их проще искать и легче на них ссылаться.

   
 
 автор: Loki   (19.08.2005 в 13:43)   письмо автору
 
   для: Herurg   (19.08.2005 в 13:33)
 

очепятка: должно быть mysql_select_db

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования