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

Форум PHP

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

 

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

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

тема: НУжно преределать скрипт авторизации для работы с куками!
 
 автор: spider-x   (17.07.2006 в 13:27)   письмо автору
 
 

Крч лазя по форуму нашёл отличный (по крайней мере для меня) скриптик: регистрация + авторизация (на файлах)... так вот, мне нужно переделать его для работы с куками...

я пхп недавно начал изучать и не всё понимаю... пробовал сделать, но ничо не получается... помогите плиз...

вот ссылка на скриптик:

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=8481

И ещё ... спасибо вам за то, что вы есть! www.softtime.ru - лучшие...!!!

   
 
 автор: RV   (17.07.2006 в 13:41)   письмо автору
 
   для: spider-x   (17.07.2006 в 13:27)
 

он и так на куках.
где вы будете хранить имена и пароли пользователей на сервере?
или в файлах или в базе. отсюда скрипт или на файлах, или с использованием бд. а куки есть везде

   
 
 автор: spider-x   (17.07.2006 в 13:54)   письмо автору
 
   для: RV   (17.07.2006 в 13:41)
 

чот я не понял твой ответ... тк куков там нету тк там нету

setcookie(); 
или я чёт не понял... мне короче нужно чтобы этот скрипт проверял сохранены ли в куках у юзера логин и пароль... если да то входил... если нет то выдавал форму для ввода... после этого из формы отправлялись значения куков и они сохранялисьу юзера в браузерах... вот так... мот я конечно не прав...

   
 
 автор: valenok   (17.07.2006 в 13:52)   письмо автору
 
   для: spider-x   (17.07.2006 в 13:27)
 


<?php 


if(!$_COOKIE['login']){

  
// Имя файла данных 
  
$filename "text.txt";  
  
// Определяем константу FIRST для 
  // того, чтобы точно определить  
  // был ли выполнен файл 1.php 
  
define("FIRST",1); 
  
// Проверяем не пусто ли содержимое 
  // массива $_POST - если это так,  
  // выводим форму для авторизации 

// Функция для вывода формы авторизации. By Valenok.
function form($message){
    die(
$message."<br>
    <table> 
      <form method=post> 
      <tr> 
        <td>Имя:</td> 
        <td><input type='text' name='name'></td> 
      </tr> 
      <tr> 
        <td>Пароль:</td> 
        <td><input type='password' name='pass'></td> 
      </tr> 
      <tr> 
        <td>&nbsp;</td> 
        <td><input type='submit' value='Войти'></td> 
      </tr> 
      </form> 
   </table> "
);
}

// Если не ввели данных показываем форму авторизации  By Valenok.
If(!isset($_POST['name']) OR  !isset($_POST['pass']))
form("");  }
 
  
// В противном случае, если POST-данные 
  // Противно когда пользователь всё вводит..? By Valenok.
  // переданы - обрабатываем их 

    // Проверяем корректность введённого имени 
    // и пароля 
    
$arr file($filename); 
    for(
$i=0;$i<count($arr);$i++) // To cheops: Не знаю как у вас, у меня for работает быстрее
    

      
// Разбиваем строку по разделителю :: 
      
$data explode("::",$arr[$i]); 
      If(
$data[0]==$_POST['name']){$found=true$id=$i; continue;}
     unset(
$data);
    } 
    
// Никак не пойму зачем длинные коды, лишние циклы и долго выполняющиеся функкции.  By Valenok.

        // // Если пользователь с таким именем в файле отсутсвует
        // показываем ему форму с нужным сообщением  By Valenok.
    
if(!$found
    {  
form("<BR>Пользователь с таким именем не зарегистрирован");
      
    } 
    
// Если пользователь с именем $_POST['name'] обнаружен 
    // проверяем правильность введённого пароля 
    
$data explode("::",$arr[$id]); 
    if(
$_POST['pass'] != $data[1]) 
    {  
form("<BR>Пароль не соответствует логину");
      
    } 
    
// Если переданный пароль соответсвует паролю из 
    // файла text.txt выводим форму для редактирования 
    // данных 
    
setcookie ("login"$data[0], time() - 3600);
Header("Location: ".$_SERVER['PHP_SELF']);

// Это от проверки есть ли уже у пользователя кука


include "2.php"// Обработчик второй HTML-формы 
    
?> 
    <table> 
      <form method=post> 
        <input type=hidden name=name 
         value='<?= htmlspecialchars($temp['name'][$index]); ?>'> 
        <input type=hidden name=pass 
         value='<?= htmlspecialchars($temp['password'][$index]); ?>'> 
        <input type=hidden name=edit value=edit> 
      <tr> 
        <td>Пароль:</td> 
        <td><input type=password name=passw 
         value='<?= htmlspecialchars($temp['password'][$index]); ?>'> 
        </td> 
      </tr> 
      <tr> 
        <td>Пароль:</td> 
        <td><input type=password name=pass_again 
         value='<?= htmlspecialchars($temp['password'][$index]); ?>'> 
        </td> 
      </tr> 
      <tr> 
        <td>E-mail:</td> 
        <td><input type=text name=email 
             value=<?= htmlspecialchars($temp['email'][$index]); ?>></td> 
      </tr> 
      <tr> 
        <td>URL:</td> 
        <td><input type=text name=url 
             value=<?= htmlspecialchars($temp['url'][$index]); ?>></td> 
      </tr> 
      <tr> 
        <td>&nbsp;</td> 
        <td><input type=submit value='Редактировать'></td> 
      </tr> 
      </form> 
    </table> 
<?php 
  



Пол скрипта списал

[поправлено модератором]

   
 
 автор: spider-x   (17.07.2006 в 13:55)   письмо автору
 
   для: valenok   (17.07.2006 в 13:52)
 

опачки сенкс...

   
 
 автор: valenok   (17.07.2006 в 14:24)   письмо автору
 
   для: spider-x   (17.07.2006 в 13:55)
 

setcookie ("login", $data[0], time() - 3600);
Замените на:
setcookie ("login", $data[0], time() - 3600);
setcookie ("pass", $data[1], time() - 3600);
setcookie ("mail", $data[2], time() - 3600);
setcookie ("url", $data[3], time() - 3600);

А в полях выводите инофрмацию из кук:
echo htmlspecialchars($_COOKIE['login']);
echo htmlspecialchars($_COOKIE['pass']);
echo htmlspecialchars($_COOKIE['mail']);
echo trim(htmlspecialchars($_COOKIE['url']));

   
 
 автор: spider-x   (17.07.2006 в 14:02)   письмо автору
 
   для: valenok   (17.07.2006 в 13:52)
 

чёт у мя не пашит... не открывает

    <table>  
      <form method=post>  
        <input type=hidden name=name  
         value='<?= htmlspecialchars($temp['name'][$index]); ?>'>  
        <input type=hidden name=pass  
         value='<?= htmlspecialchars($temp['password'][$index]); ?>'>  
        <input type=hidden name=edit value=edit>  
      <tr>  
        <td>Пароль:</td>  
        <td><input type=password name=passw  
         value='<?= htmlspecialchars($temp['password'][$index]); ?>'>  
        </td>  
      </tr>  
      <tr>  
        <td>Пароль:</td>  
        <td><input type=password name=pass_again  
         value='<?= htmlspecialchars($temp['password'][$index]); ?>'>  
        </td>  
      </tr>  
      <tr>  
        <td>E-mail:</td>  
        <td><input type=text name=email  
             value=<?= htmlspecialchars($temp['email'][$index]); ?>></td>  
      </tr>  
      <tr>  
        <td>URL:</td>  
        <td><input type=text name=url  
             value=<?= htmlspecialchars($temp['url'][$index]); ?>></td>  
      </tr>  
      <tr>  
        <td>&nbsp;</td>  
        <td><input type=submit value='Редактировать'></td>  
      </tr>  
      </form>  
    </table> 

и ещё в конце наверно нужно удалить

<?php  
  


а то с этим выдаёт ошибку...

   
 
 автор: spider-x   (17.07.2006 в 14:20)   письмо автору
 
   для: spider-x   (17.07.2006 в 14:02)
 

памагитя!!!!

   
 
 автор: valenok   (17.07.2006 в 14:21)   письмо автору
 
   для: spider-x   (17.07.2006 в 14:02)
 

$temp
Такой переменной уже подавно нет..

   
 
 автор: spider-x   (17.07.2006 в 15:26)   письмо автору
 
   для: valenok   (17.07.2006 в 14:21)
 

плиз выложите нормальный код + нормальный код 2.php тк у мя не пашит ничё...(((

   
 
 автор: spider-x   (17.07.2006 в 16:47)   письмо автору
 
   для: spider-x   (17.07.2006 в 15:26)
 

ну что больше никто не может помочь в моей проблеме???

   
Rambler's Top100
вверх

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