Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Регистрация - проверка полей [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Описание: без базы
vixa
Отправлено: 22 Августа, 2011 - 15:24:15
Post Id



Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Авг. 2011  
Откуда: Украина


Помог: 0 раз(а)




Братан я тоже учусь щас работать с куки и сессиями пока не кто не чего полезного не подсказал как написать авторизацию чтобы когда ты обновил страничку сессия работала а не пропадала и если ты перешел на другую ссылку по сайту сессия тоже оставалась а не исчезала как сделать хз но стараюсь походу сессию надо писать в блокноте отвечающий за основу сайта типо index.php или том блокноте который отвечает за главную страничку сайта пишеш скрипт авторизации в блокноте index.php чтобы все данные всегда показывало как на главной


-----
Vixa
 
 Top
illy
Отправлено: 22 Августа, 2011 - 15:27:16
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




авторизуйся через куки и всё
никогда не пользовался сессиями

(Отредактировано автором: 22 Августа, 2011 - 15:28:28)



-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
vixa
Отправлено: 22 Августа, 2011 - 20:07:52
Post Id



Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Авг. 2011  
Откуда: Украина


Помог: 0 раз(а)




покажи пример


-----
Vixa
 
 Top
illy
Отправлено: 22 Августа, 2011 - 20:12:27
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




завтра может покажу.


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
vixa
Отправлено: 25 Августа, 2011 - 08:55:13
Post Id



Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Авг. 2011  
Откуда: Украина


Помог: 0 раз(а)




вот написал авторизацию как никак да работает
в фаий index.php вставить
PHP:
скопировать код в буфер обмена
  1. if($_SESSION['ID'] != "")
  2. {
  3. $result = mysql_query("SELECT `userid` FROM `login` WHERE `account_id` = '$_SESSION[ID]'", $db);
  4. $row = mysql_fetch_array($result);
  5.         if(isset($row['userid']))
  6.         {
  7.  
  8.         echo "
  9.         Добро пожаловать $row[userid].
  10.         <form action='index.php?exit' method='post'>
  11.         <input name='exit' type='submit' value='Выйти' />
  12.         </form>
  13.         ";
  14.  
  15.         if($_POST['exit']) {
  16. echo "<meta http-equiv='refresh' content='0;url=index.php'>";
  17. }
  18.         }
  19. } else
  20.         {
  21.         echo "<form action='index.php?id=auth' method='post'>
  22.         Введите логин: <input name='name' type='text' />
  23.         Введите пароль: <input name='pass' type='password' />
  24.         <input name='submit' type='submit' />
  25.         </form>";
  26.         }


а в файил login.php вставим
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. if(isset($_POST['submit'])) {
  4.         if(isset($_POST['name'])) {$name = $_POST['name'];}
  5.         if($name == "") {
  6.         unset($name);
  7.         echo "<p><b>Вы не указали логин</b></p>";}
  8.         if(isset($_POST['pass'])) {$pass = $_POST['pass'];}
  9.         if($pass == "") {
  10.         unset($pass);
  11.         echo "<p><b>Вы не ввели пароль</b></p>";}
  12.         $pass = md5($pass);
  13.         if(isset($name)) {$name = mysql_escape_string(htmlspecialchars(stripslashes(trim($name))));}
  14.         if(isset($pass)) {$pass = mysql_escape_string(htmlspecialchars(stripslashes(trim($pass))));}
  15.         if(isset($name) && !preg_match("/^[a-zA-Z0-9]{4,10}$/", $name)) {
  16.         unset($name);
  17.         echo "<p><b>Логин должен состоять только из латинских букв и содержать не менее 4 и не более 10 символов</b></p>";
  18.         }
  19.         if(isset($pass) && strlen($pass)<4) {
  20.         unset($pass);
  21.         echo "<p><b>Пароль должен содержать не менее 4 символов</b></p>";
  22.         }
  23.         if(isset($name) && isset($pass)) {
  24.         $result = mysql_query("SELECT * FROM `login` WHERE `userid` = '$name' AND `user_pass` = '$pass'", $db);
  25.         $row = mysql_fetch_array($result);
  26.         if(isset($row['account_id']))
  27.         {
  28.         $_SESSION['ID'] = $row['account_id'];
  29.         echo "<meta http-equiv='refresh' content='0;url=index.php'>";
  30.         }
  31.         else
  32.         {
  33.         echo "
  34.         Неверный логин/пароль.
  35.  
  36.         ";
  37.         }
  38.         }
  39. }
  40.  
  41. ?>
  42.  


и все


-----
Vixa
 
 Top
fullzero
Отправлено: 26 Августа, 2011 - 13:21:12
Post Id



Гость


Покинул форум
Сообщений всего: 120
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Патвюсь сделать удаление пользователей на файлах... Пока не вышло... Радость
Я наверное неправильно алгоритм построил с циклами...


P.S. не ругаться я ещё учусь Растерялся


Вот код... Пока просто проверяю на существование файла индекс в папке с пользователем... но вот в конце пишет "Пользователь с ником нет". Что я с цикле неправильно сделал?

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if(empty($_GET['act'])) {
  4. echo '<table width="" border="0" cellspacing="0" cellpadding="5">
  5. <form action="users.php?act=delete" method="post">';
  6. if ($handle = opendir('users')) {
  7.     while (false !== ($file = readdir($handle))) {
  8.  
  9.         if ($file != "." && $file != "..") {
  10. echo '<tr>
  11. <td><input type="checkbox" name="delete[]" value="'.$file.'"></td>
  12. <td>'.$file.'</td>
  13. </tr>';
  14.         }
  15.     }
  16.     closedir($handle);
  17. }
  18. echo '<tr>
  19. <td>&nbsp;</td>
  20. <td><input type="submit" value="Удалить"></td>
  21. </tr>
  22. </form>
  23. </table>';
  24. }
  25.  
  26. if($_GET['act']=='delete') {
  27. $delete = $_POST['delete'];
  28. if(empty($delete)){exit('Не один пользователь не выбран');}
  29. $count = count($delete);
  30. $i = 0;
  31. $n = $count;
  32. while ($i <= $n):
  33. $user = $delete[$i];
  34. $filename = "users/".$user."/index.php";
  35. if (file_exists($filename)) {echo "Пользователь с ником ".$user." в папке есть<br>";} else {echo "Пользователь с ником ".$user." нет<br>";}
  36. $i++;
  37. endwhile;
  38.  
  39. }
  40. ?>
  41.  
 
 Top
fullzero
Отправлено: 29 Августа, 2011 - 05:53:44
Post Id



Гость


Покинул форум
Сообщений всего: 120
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Наверное меня никто не заметил Хм
 
 Top
LIME
Отправлено: 29 Августа, 2011 - 08:11:12
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




 
 Top
fullzero
Отправлено: 29 Августа, 2011 - 08:54:52
Post Id



Гость


Покинул форум
Сообщений всего: 120
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




LIME я не совсем понял, что мне с этим делать Однако
 
 Top
LIME
Отправлено: 29 Августа, 2011 - 10:56:28
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




проверить что постом приходит в делете
наверное не то что вы ожидаете
вставте в код в начало куда-нибудь
а можете для верности вывести весь пост
fullzero пишет:
while ($i <= $n):

есть такая штука foreach чтобы пробегать все элементы массива
fullzero пишет:
$count = count($delete);
$i = 0;
$n = $count;
while ($i <= $n):
$user = $delete[$i];
$filename = "users/".$user."/index.php";
if (file_exists($filename)) {echo "Пользователь с ником ".$user." в папке есть<br>";} else {echo "Пользователь с ником ".$user." нет<br>";}
$i++;
endwhile;

меняем на
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. foreach ($delete as $user) {
  3.     $filename = "users/".$user."/index.php";
  4.     if (file_exists($filename))
  5.             echo "Пользователь с ником ".$user." в папке есть<br>";
  6.         else
  7.             echo "Пользователь с ником ".$user." нет<br>";
  8. }
  9. ?>

(Отредактировано автором: 29 Августа, 2011 - 10:57:27)

 
 Top
fullzero
Отправлено: 29 Августа, 2011 - 11:30:50
Post Id



Гость


Покинул форум
Сообщений всего: 120
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




LIME спасибо Улыбка
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB