во первых, мог у автора спросить .. а во вторых, ты в mail.php заглядывал ??? энто чо такое ? PHP: if(mail_check($login,$password)) { global $error,$server_reply; $result="OK"; echo $result; mail_check_log($result); } else { $result="FAIL: $error"; if(strlen($server_reply)>1) { $result.=", SERVER REPLY: '$server_reply'";} echo $result; mail_check_log($result); } конечно буит сначала чекатся ..
удалив это кусок, ты там оставил одни ф-ии без вызовоу оных .. что значит проблемма не решилась ?? энто вызов ф-ии а не функция .. ты вообще код хоть немного читать умеешь то? я чтото не осознал .зы пиши лучше сам .. свой код всегда прятнее
m0Hze, а ты смотрел вообще в логи? Что там появляется при вызове твоего скрипта? Убери error_reporting(0) посмотри какие ошибки валятся... Просто если у тебя выключен репорт ошибок, то любая ошибка, которая прерывает действие скрипта его прервёт, но ты не будешь лицезреть никаких сообщений - только белый экран...
PHP: function keypass($pass , $num ) { $xc = md5($pass) ."\n"; $zs = mt_srand(time()* $num * microtime() ) ; $de = crypt($x , $zs)."\n"; return $de; } echo keypass("megapass" ,"1284756"); второй аргумент образуеться при вводе капчи с рисунка. вопрос как потом мне проверить что пароли совпадают?
ОМФГ, Исис, ты хоть знаешь, что такое открытый ключ? =\\\ http://ru.wikipedia.org/wiki/RSA http://www.phpclasses.org/browse/package/4121.html
Если ты ее написал то в чем проблема то? Не написать простую логинку? PHP: <?php if($_GET['pass'] != '1234') { header('Location: index.php'); exit('Тебе тут нечего делать :-p'); } //код админки ?> Как ты понял пароль передаётся гетом
Так отлично а если у меня админку загружать отдельным скриптом... Допустим: PHP: <?php if($_GET['pass'] != '1234') { header('Location: index.php'); exit('Тебе тут нечего делать :-p'); }else{ require_once("adminka.php"); } ?> То как поставить проверку скрипту adminka.php Чтоб нельзя было в него просто зайти...
ну так сделай else { define('IN', true); require... } в самом файле if(!defined('IN')){exit;} - как стандарт
Этот способ мне не подойдёт...мне нужно чтоб именно станица adminka.php открывалась... Там ссылок много...когда по ним щёлкаешь всё сбрасывается... Может в Куки пасс записать просто?
Ну можно, я предпочитаю сессии: secure.php: PHP: <?php @session_start(); if(@$_SESSION['pass'] != '1234') { if(isset($_POST['submit'])) { $_SESSION['pass'] = $_POST['pass']; header('Location: '.$_SERVER['PHP_SELF']); } else { ?> <form method='post'><input name='pass'><input name='submit' type='submit'></form> <?php } die(); } ?> А в файлы куда надо вставить защиту пишешь в самое начало файла: PHP: include('secure.php'); Идея слудующая: проверяется наличие валидного пасса в сессии, если он верен то отображаетс админка, если нет, то вылазиет форма авторизации. P.S код не тестил, писал в браузере
Код файла login.php PHP: <?php define("LOGIN", "demo"); define("PASSWORD", "demo"); define("MODE", TRUE); // TRUE - сравнивать логин и пароль без учёта регистра, FALSE - с учётом if(isset($_POST['log']) && isset($_POST['passwd']) && is_logined(MODE)) { setcookie('login', $_POST['log'], time()+31536000); setcookie('passwd', $_POST['passwd'], time()+31536000); } function is_logined($register) { if($register == false) { if(($_COOKIE['login'] == LOGIN && $_COOKIE['passwd'] == PASSWORD) || ($_POST['log'] == LOGIN && $_POST['passwd'] == PASSWORD)) { return true; } } else if($register == true) { if((strcasecmp($_COOKIE['login'],LOGIN)==0&&strcasecmp($_COOKIE['passwd'],PASSWORD)==0) || (strcasecmp($_POST['log'],LOGIN)==0&&strcasecmp($_POST['passwd'],PASSWORD)==0)) { return true; } } return false; } $form=<<<FORM <html> <head> <title>Авторизация</title> <style> body { padding-left:350px; font-family:tahoma, verdana, arial; font-size:11px; text-align:center; color:#000000; } table { border:1px solid #D1D1E1; margin:50px; padding:10px; } tr { text-align:center; } input { text-align:center; pargin:2px 0; padding-right:10px; padding-left:20px; border:1px solid #D1D1E1; background:#ffffff; padding:2px; } </style> </head> <body> <table> <form method="post"> <tr> <td> <br/> Login:<input type="text" title="Введите Login" name="log" /> <br/> <br /> Password:<input type="password" title="Введите пароль" name="passwd" /> <br/> <br /> <center><input type="submit" name="sub" value=" Login " /></center> <br/> </td> </tr> </form> </table> </body> </html> FORM; if(is_logined(MODE)) { require_once('info.php');// страница для которой надо открыть доступ } else { echo $form; } ?> Для открытия доступа к другим страницам, вначале страницы пропиши PHP: <?php require_once('login.php'); if(!is_logined(MODE)) { exit(); } ?>