![]() |
Задавайте вопросы, мы ответим
Вы не зашли.
Я, если честно вообще не знаю MySQL, состряпал БД из двух таблиц, коды ниже. Подскажите, пожалуйста, как сделать связку в таблицах, и как сделать, чтобы при входе пользователя, ему выводились именно его звонки, а не вся БД.
CREATE TABLE IF NOT EXISTS `Calls` (
`Number` int(11) DEFAULT NULL,
`DateOfCall` date DEFAULT NULL,
`TimeOfCall` date DEFAULT NULL,
`Duration` date DEFAULT NULL,
`Cost` int(11) DEFAULT NULL,
`Recipient` char(14) DEFAULT NULL,
`Type` char(9) DEFAULT NULL,
`Description` char(9) DEFAULT NULL,
`ConnectionType` char(9) DEFAULT NULL,
`Volume` int(11) DEFAULT NULL,
`Rouming` char(9) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
CREATE TABLE IF NOT EXISTS `employees` (
`BU` tinytext,
`Lastname` tinytext,
`Firstname` tinytext,
`Number` varchar(11) DEFAULT NULL,
`Password` tinytext,
`DOA` date DEFAULT NULL,
`DOD` date DEFAULT NULL,
`LineManager` tinytext,
UNIQUE KEY `Number` (`Number`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
Может кто подкинет пару-тройку линков ![]()
Спасибо.
Отредактированно McLotos (22.02.2011 13:09:15)
Неактивен

SELECT Calls.* FROM Calls, employees
WHERE Calls.Number = employees.Number
AND employees.Lastname = 'Сидоров';
Будет работать быстрее, если сделать ключик на Calls(Number).
Неактивен
Хм... а где этот код должен быть? ![]()
Спасибо Огромное!
Мне начинает тут нравится, редко где можно получить четкий и полный ответ. ![]()
Только я вот не понял как это будет работать, при входе пользователя?!
Вот кстати индексаня страница, которая получилась в результате долгих блужданий по неизвестному пространству MySQL ![]()
Осталось только привязать её к БД и чтобы она определяла кому какую информацию выводить
))
<?php
$realm = 'Restricted area' ;
//user => password
$users = array( 'admin' => 'mypass' , 'guest' => 'guest' );
if (empty( $_SERVER [ 'PHP_AUTH_DIGEST' ])) {
header ( 'HTTP/1.1 401 Unauthorized' );
header ( 'WWW-Authenticate: Digest realm="' . $realm .
'",qop="auth",nonce="' . uniqid (). '",opaque="' . md5 ( $realm ). '"' );
die( 'Text to send if user hits Cancel button' );
}
// analyze the PHP_AUTH_DIGEST variable
if (!( $data = http_digest_parse ( $_SERVER [ 'PHP_AUTH_DIGEST' ])) ||
!isset( $users [ $data [ 'username' ]]))
die( 'Wrong Credentials!' );
// generate the valid response
$A1 = md5 ( $data [ 'username' ] . ':' . $realm . ':' . $users [ $data [ 'username' ]]);
$A2 = md5 ( $_SERVER [ 'REQUEST_METHOD' ]. ':' . $data [ 'uri' ]);
$valid_response = md5 ( $A1 . ':' . $data [ 'nonce' ]. ':' . $data [ 'nc' ]. ':' . $data [ 'cnonce' ]. ':' . $data [ 'qop' ]. ':' . $A2 );
if ( $data [ 'response' ] != $valid_response )
die( 'Wrong Credentials!' );
// ok, valid username & password
echo 'Your are logged in as: ' . $data [ 'username' ];
// function to parse the http auth header
function http_digest_parse ( $txt )
{
// protect against missing data
$needed_parts = array( 'nonce' => 1 , 'nc' => 1 , 'cnonce' => 1 , 'qop' => 1 , 'username' => 1 , 'uri' => 1 , 'response' => 1 );
$data = array();
$keys = implode ( '|' , array_keys ( $needed_parts ));
preg_match_all ( '@(' . $keys . ')= (?: ([\'"])([^\2]+?)\2|([^\s,]+))@' , $txt , $matches , PREG_SET_ORDER );
foreach ( $matches as $m ) {
$data [ $m [ 1 ]] = $m [ 3 ] ? $m [ 3 ] : $m [ 4 ];
unset( $needed_parts [ $m [ 1 ]]);
}
return $needed_parts ? false : $data ;
}
?>Как сделать чтобы проверка имени и пароля шла через таблицы, которые я указал в первом сообщении?
Извиняюсь, просто я вообще чайник ![]()
Отредактированно McLotos (23.02.2011 11:38:31)
Неактивен

Боюсь, что этот вопрос уже совсем-совсем по PHP. Вопросы по PHP лучше
задавать на webew.ru ![]()
Неактивен
Ну вообще-то какбы да ![]()
Но я всё ещё не понял как использовать скрипт, который вы дали.
Спасибо
Неактивен