PHP.SU

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

Страниц (17): [1] 2 3 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 241
Каролина Отправлено: 08 Сентября, 2012 - 22:01:13 • Тема: скрипт • Форум: Напишите за меня, пожалуйста

Ответов: 5
Просмотров: 81
сделала еще один код как вам ток он не работает чета
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. // это файл login.php
  3. // здесь не должно быть хтмл кода. для хтмл используется соответствующий файл login.htm.php
  4.  
  5. // эту функцию рекомендую использовать для отладки, чтобы смотреть на экране содержимое переменных и выглядело красиво.
  6. // ее можно перенести в файл, который всегда запускается первым и тогда она будет везде доступна.
  7. function echo2($expression){
  8.  echo '<pre>'.print_r($expression, 1).'</pre>';
  9. }
  10.  
  11. // эта функция для того чтобы на всех страницах однообразно проверять статус пользователя. ее также нужно поместить в файл который всегда запускается первым,
  12. // или копировать на все страницы, где нужно проверять авторизованность пользователя.
  13. /**
  14.  * Возвращает учетную запись пользователя если пользователь авторизован или пустой массив, если не авторизован.
  15.  */
  16. function current_user_get(){
  17.  if(isset($_SESSION['user']['login'])){
  18.   return $_SESSION['user'];
  19.  } else {
  20.   return array();
  21.  }
  22. }
  23.  
  24.  
  25. /**
  26.  * Устанавливает учетную запись в сессию.
  27.  * Эта функция пока простая. Но для очевидности вынесена сюда.
  28.  * @param array $user - учетная запись пользователя, которая подтверждена введенным паролем. Все поля кроме пароля рекомендуется.
  29.  */
  30. function current_user_set(array $user){
  31.  $_SESSION['user'] = $user;
  32. }
  33.  
  34.  
  35. // это массив таблица записи пользователей. вместо записей таблицы "users" базы данных.
  36. // в таблице пользователей не должно быть ничего лишнего.
  37. $users = array(
  38. array('name'=>'Вася', 'login'=>'vasya', 'pass'=>'PassiZ', 'role'=>'admin'),
  39. array('name'=>'Петя', 'login'=>'petya', 'pass'=>'PassidzX2', 'role'=>'user'),
  40. array('name'=>'Саша', 'login'=>'sasha', 'pass'=>'PassisF02', 'role'=>'user')
  41. );
  42.  
  43. // начало кода...
  44. $title = 'Вход на сайт'; // будет отрисовано в шаблоне.
  45. $gstate_msg = array(); // сообщения о текущем состоянии формы. лучше расположить это в шаблоне на последнем месте. и шрифт курсив.
  46. $submit_msg = array(); // сообщения которые нужно вывести после субмита. лучше всего расположить их в шаблоне рядом с кнопкой. жирным шрифтом.
  47. // оба масива будут преобразованы в строку в шаблоне.
  48.  
  49.  
  50.  
  51.  
  52. if(count($_POST)){
  53.  extract($_POST, EXTR_SKIP); // извлекаем все переменные, из поста (не заменяя существующие).
  54.  // $login, $pass, $go
  55.  $logout_disabled = 'disabled';
  56. }else {
  57.  // переменные, которые должны быть объявлены для подстановки в форму если нет поста (если есть пост, эти переменные будут извлечены из поста extract).
  58.  $login = '';
  59.  $logout_disabled = 'disabled';
  60. }
  61.  
  62. if(count($_POST)){
  63.  if(isset($logout)){
  64.   // когда было нажато на кнопку выход
  65.   header('Location: '.$_SERVER['REQUEST_URI']); // переходим на гет текущей.
  66.   exit();
  67.  }
  68.  // значит нажато на кнопку $go
  69.  
  70.  
  71.  // проверяем совпадение пары логин пароль. переменная $user будет установлена значением соответсвующейзаписи из таблицы пользователей,
  72.  // или не будет установлена при несовпадении пары логин-пароль.
  73.  // цикл по каждой записи и проверка совпадения логина и пароля одновременно.
  74.  foreach($users as $record){
  75.   if($login == $record['login'] && $pass == $record['pass']){
  76.    $user = $record; // логин пароль совпал
  77.    break; // поиски можно не продолжать, так как запись найдена. (база данных должна гарантировать что только поле логин уникальное)
  78.   }
  79.  }
  80.  if(!isset($user)){
  81.   // можно ничего не делать, но в форму передать сообщение необходимо.
  82.   $submit_msg[] = 'Пользователь с таким логином и паролем не найден.';
  83.   $submit_msg[] = 'Подсказка: вот эти все пользователи, их пароли и роль на сайте:<pre>'.print_r($users, true).'</pre>';
  84.  
  85.  } else {
  86.   // запись найдена, потому что в форме был передан верный пароль и логин.
  87.   // пользователя можно авторизовать. как признак, в сессию можно установить учетную запись пользователя.
  88.   // сессия это временный файл, который связан с конкретным броузером с помощью куков. пхп об этом заботится, предоставляя переменную $_SESSION,
  89.   // которая ведет себя как обычный массив.
  90.   unset($user['pass']); // чтобы не сохранять пароль в файле сессии. остальное остается. самое важное и ключевое это login, остальное для удобства.
  91.   current_user_set($user);
  92.   //$current_user = current_user_get();
  93.   //$submit_msg[] = $current_user['name'].', вы успешно авторизовались по логину '.$current_user['login'].'. Ваша роль на сайте :'.$current_user['role'].'.';
  94.   // так как пользователь изменился успешно, нет смысла отображать сообщение субмита, пользователь увидит его в состоянии,
  95.   // когда перейдем на гет хеадером. вообще-то отсюда надо идти на страницу, которая затребовала авторизацию, но этого кода еще нет...
  96.  
  97.   // чтобы сделать так, чтобы пользователь переходил на страницу, которая запросила авторизацию,
  98.  
  99.   if(!isset($_GET['return_uri'])){
  100.    header('Location: '.$_SERVER['REQUEST_URI']); // переходим на гет текущей.
  101.   } else {
  102.    header('Location: '.$_GET['return_uri']); // переходим на гет той страницы которая запросила авторизацию..
  103.   }
  104.  
  105.  
  106.  }
  107. } else {
  108.  // нет поста. отобразить текущее состояние.
  109.  $current_user_get = current_user_get(); //
  110.  if(count($current_user_get)){
  111.   $gstate_msg[] = 'Вы уже авторизованы как "'.$current_user_get['name'].'". Ваша роль на сайте: "'.$current..;
  112. ?>
Каролина Отправлено: 08 Сентября, 2012 - 08:55:56 • Тема: скрипт • Форум: Напишите за меня, пожалуйста

Ответов: 5
Просмотров: 81
помогите со скриптом ну неработает он http://nashclas[dot]tk/admin/
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. function echo2($expression){
  4.  echo '<pre>'.print_r($expression, 1).'</pre>';
  5. }
  6.  
  7. // это массив таблица записи пользователей. пароль хранится как буто в закрытом виде хеш мд5
  8. $users = array(
  9. array('login'=>'LogniZ1', 'name'=>'Задания','pass'=>'PassiZ') ,
  10. array('login'=>'LognidzX1', 'name'=>'Д/З', 'pass'=>'PassidzX2'),
  11. array('login'=>'LoginisF01', 'name'=>'Фото', 'pass'=>'PassisF02')
  12. );
  13.  
  14.  
  15.  
  16.  
  17. if(count($_POST)){
  18.  $submit_msg = array();
  19.  echo2($_POST);
  20.  extract($_POST, EXTR_SKIP); // извлекаем все переменные, они будут по имени name формы (в том числе переменная $go но она и не нада)
  21.  echo2('login:'.$login);
  22.  echo2('pass:'.$pass);
  23.  
  24.  foreach($users as $record){
  25.   if($login == $record['login'] && $pass == $record['pass']){
  26.    $user = $record; // логин пароль совпал
  27.    break;
  28.   }
  29.  }
  30.  
  31.  if(isset($user)){
  32.   echo2($user);
  33.   $is_admin = strpos($user['role'], 'admin') !== false; // true - админь, false, простой смертный.
  34.   $_SESSION['is_admin'] = $is_admin; // на страницах админа проверять например так:
  35.  
  36.  
  37.   if(!$_SESSION['is_admin']===true){//от винта};
  38.    $_SESSION['name'] = $user['name']; // а это напрмпер отображать имя текущего пользователя.
  39.    if($users[0])
  40.    header('Location:http://nashclas.tk/admin/zadania/'); // куда направляться после логина. }
  41.    elseif ($users[1])
  42.    header('Location:http://nashclas.tk/admin/d.z/'); // куда направляться после логина. }
  43.    elseif ($users[2])
  44.    header('Location:http://nashclas.tk/admin/foto/'); // куда направляться после логина. }
  45.  
  46.  
  47.   } else {
  48.    $submit_msg[] = 'пользователь с таким логином и паролем не найден.';
  49.    $submit_msg[] = "попробуйте бла бла бла";
  50.   }
  51.   $msg = implode('<br>', $submit_msg);
  52.  } else {
  53.   // переменные для подстановки в форму.
  54.   $login = '';
  55.  
  56.   $msg = '';
  57.  }
  58.  ?>
  59. <form method="post">
  60. <fieldset><label for="login">Логин</label>:<br>
  61. <input type="text" id="login" name="login" value="<?=$login?>"><br>
  62. <label for="pass">Пароль</label>:<br>
  63. <input type="password" id="pass" name="pass"><br>
  64. <input type="submit" id="go" name="go" value="Login"><br>
  65. </fieldset>
  66. <?=$msg?></form>
Каролина Отправлено: 05 Сентября, 2012 - 20:37:52 • Тема: какие7 • Форум: HTML, Дизайн & CSS

Ответов: 1
Просмотров: 661
Oбязательные атрибуты тега <area>
Каролина Отправлено: 05 Сентября, 2012 - 19:18:56 • Тема: Переадрисация • Форум: Вопросы новичков

Ответов: 6
Просмотров: 373
базу данных читала месяц назад с ней дружу
(Добавление)
откуда у меня -2 репутации
Каролина Отправлено: 04 Сентября, 2012 - 19:40:47 • Тема: Переадрисация • Форум: Вопросы новичков

Ответов: 6
Просмотров: 373
есть такой код который должен перенаправлять на 3 страницы. на 1 стр перенаправляет на 2 и 3 нет там на странице указаны лог и пароль если что http://nashclas[dot]tk/admin/
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. function echo2($expression){
  4. echo '<pre>'.print_r($expression, 1).'</pre>';
  5. }
  6.  
  7.  
  8. // это массив таблица записи пользователей. пароль хранится как буто в закрытом виде хеш мд5
  9. $users = array(
  10.  array('login'=>'LogniZ1', 'name'=>'Задания','pass'=>'PassiZ') ,
  11. array('login'=>'LognidzX1', 'name'=>'Д/З', 'pass'=>'PassidzX2'),
  12.  array('login'=>'LoginisF01', 'name'=>'Фото', 'pass'=>'PassisF02')
  13.  );
  14.  
  15.  
  16.  
  17.  
  18. if(count($_POST)){
  19. $submit_msg = array();
  20. echo2($_POST);
  21. extract($_POST, EXTR_SKIP); // извлекаем все переменные, они будут по имени name формы (в том числе переменная $go но она и не нада)
  22. echo2('login:'.$login);
  23. echo2('pass:'.$pass);
  24.  
  25. foreach($users as $record){
  26. if($login == $record['login'] && $pass == $record['pass']){
  27. $user = $record; // логин пароль совпал
  28. break;
  29. }
  30. }
  31.  
  32. if(isset($user)){
  33. echo2($user);
  34. $is_admin = strpos($user['role'], 'admin') !== false; // true - админь, false, простой смертный.
  35. $_SESSION['is_admin'] = $is_admin; // на страницах админа проверять например так:
  36.  if(!$_SESSION['is_admin']===true){//от винта};
  37. $_SESSION['name'] = $user['name']; // а это напрмпер отображать имя текущего пользователя.
  38. if($users[0])
  39.  header('Location:http://nashclas.tk/admin/zadania/'); // куда направляться после логина. }
  40. elseif ($users[1])
  41.  header('Location:http://nashclas.tk/admin/d.z/'); // куда направляться после логина. }
  42. elseif ($users[2])
  43.  header('Location:http://nashclas.tk/admin/foto/'); // куда направляться после логина. }
  44.  
  45.  
  46. } else {
  47. $submit_msg[] = 'пользователь с таким логином и паролем не найден.';
  48. $submit_msg[] = "попробуйте бла бла бла";
  49. }
  50. $msg = implode('<br>', $submit_msg);
  51. } else {
  52. // переменные для подстановки в форму.
  53. $login = '';
  54.  
  55. $msg = '';
  56. }
  57. ?><form method="post">
  58. <fieldset><label for="login">Логин</label>:<br>
  59. <input type="text" id="login" name="login" value="<?=$login?>"><br>
  60. <label for="pass">Пароль</label>:<br>
  61. <input type="password" id="pass" name="pass"><br>
  62. <input type="submit" id="go" name="go" value="Login"><br>
  63. </fieldset>
  64. <?=$msg?></form>
  65.  
  66.  
  67.  
  68. , попробуйте бла бла бла, попробуйте бла бла бла
Каролина Отправлено: 15 Июля, 2012 - 08:41:01 • Тема: delete через 24 часа • Форум: Вопросы новичков

Ответов: 9
Просмотров: 449
в блокнот
когда нажимаешь добавить переходит на страницу добавления.скрипт есть скоро покажу щас он не доделан
Каролина Отправлено: 14 Июля, 2012 - 20:24:14 • Тема: delete через 24 часа • Форум: Вопросы новичков

Ответов: 9
Просмотров: 449
как проще
Каролина Отправлено: 11 Июля, 2012 - 10:25:02 • Тема: delete через 24 часа • Форум: Вопросы новичков

Ответов: 9
Просмотров: 449
неопняла
Каролина Отправлено: 11 Июля, 2012 - 09:11:58 • Тема: delete через 24 часа • Форум: Вопросы новичков

Ответов: 9
Просмотров: 449
можно функцией time
Каролина Отправлено: 11 Июля, 2012 - 09:04:45 • Тема: delete через 24 часа • Форум: Вопросы новичков

Ответов: 9
Просмотров: 449
можно сделать както так вот таблица
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<table BORDER>
<tr>
<td>Математика</td><td><input type="submit" name="matc" value="Добавить"></td>
</tr>
<tr>
<td>Русский язык</td><td><input type="submit" name="russ" value="Добавить"></td>
</tr>
<tr>
<td>Музыка</td><td><input type="submit" name="musik" value="Добавить"></td>
</tr>
<tr>
<td>История</td><td><input type="submit" name="histori" value="Добавить"></td>
</tr>
<tr>
<td>Англиский язык</td><td><input type="submit" name="english" value="Добавить"></td>
</tr>
<tr>
<td>Литература</td><td><input type="submit" name="liter" value="Добавить"></td>
</tr>
<tr>
<td>Основы здоровья</td><td><input type="submit" name="oz" value="Добавить"></td>
</tr>
<tr>
<td>Изо</td><td><input type="submit" name="izo" value="Добавить"></td>
</tr>
<tr>
<td>Физ-ра</td><td><input type="submit" name="fiz-ra" value="Добавить"></td>
</tr>
<tr>
<td>Украинский язык</td><td><input type="submit" name="ukr" value="Добавить"></td>
</tr>
<tr>
<td>Труд</td><td><input type="submit" name="trud" value="Добавить"></td>
</tr>
<table>
</html>

когда нажимаешь кнопку (например на таблице математика) добавить там выходит поле
<input type="text" name="textf">
<input type="submit" value="Добавить">
и где тогда была кнопка добавить(ну на одном полосе с математикой) вышло то что написал пользователь(до этого момента я могу сама сделать)
но главное чтобы в 8.00 по украинскому времени это поле очищалось можно ли это осуществить?tckb vj;tnt gjvjubnt
Каролина Отправлено: 03 Июля, 2012 - 20:48:21 • Тема: ошибки в скриптах • Форум: Вопросы новичков

Ответов: 18
Просмотров: 577
<form method="post">
<input type="password" name="pass">
<input type="submit" value="войти>>>">
</form>
<?
$pass=$_POST['pass'];
switch($pass)
{
case karinaB:
header("location:http://nashclass.16mb.com/id1");
break;
case kristiaB:
header("location:http://nashclass.16mb.com/id1");
break;
case ekateB:
header("location:http://nashclass.16mb.com/id3");
break;
case anasG:
header("location:http://nashclass.16mb.com/id4");
break;
case nasstaz:
header("location:http://nashclass.16mb.com/id5");
break;
case nataK:
header("location:http://nashclass.16mb.com/id6");
break;
case iariK:
header("location:http://nashclass.16mb.com/id7");
break;
case dan4iK:
header("location:http://nashclass.16mb.com/id8");
break;
case annaL:
header("location:http://nashclass.16mb.com/id9");
break;
case kateMac:
header("location:http://nashclass.16mb.com/id10");
break;
case toliM:
header("location:http://nashclass.16mb.com/id11");
break;
case vitaN:
header("location:http://nashclass.16mb.com/id12");
break;
case dimkaP:
header("location:http://nashclass.16mb.com/id13");
break;
case nastiaPole:
header("location:http://nashclass.16mb.com/id14");
break;
case karolinaKRE3I:
header("location:http://nashclass.16mb.com/id15");
break;
case lekaP:
header("location:http://nashclass.16mb.com/id16");
break;
case saniaR:
header("location:http://nashclass.16mb.com/id17");
break;
case nastiaS:
header("location:http://nashclass.16mb.com/id18");
break;
case mackS:
header("location:http://nashclass.16mb.com/id19");
break;
case kaTe:
header("location:http://nashclass.16mb.com/id20");
break;
case yeliaX:
header("location:http://nashclass.16mb.com/id21");
break;
case denC:
header("location:http://nashclass.16mb.com/id22");
break;
case lexaC:
header("location:http://nashclass.16mb.com/id23");
break;
case radiCH:
header("location:http://nashclass.16mb.com/id24");
break;
case kirillCH:
header("location:http://nashclass.16mb.com/id25");
break;
case lizkaCH:
header("location:http://nashclass.16mb.com/id26");
break;
case dryxaCH:
header("location:http://nashclass.16mb.com/id27");
break;
case rasadSH:
header("location:http://nashclass.16mb.com/id28");
break;
case saniaK:
header("location:http://nashclass.16mb.com/id29");
break;
default:
echo ("Не верный пароль");
}
?>http://nashclass[dot]16mb[dot]com/id20
(Добавление)
Green а где перенаправление
Каролина Отправлено: 02 Июля, 2012 - 09:56:19 • Тема: вывод дериктории • Форум: Вопросы новичков

Ответов: 5
Просмотров: 189
ты меня не понял
Каролина Отправлено: 02 Июля, 2012 - 09:26:36 • Тема: вывод дериктории • Форум: Вопросы новичков

Ответов: 5
Просмотров: 189
вот код который тип должен выводить фаилы из дириктории
но не выводит хелпи
PHP:
скопировать код в буфер обмена
  1. <?
  2. $path = "admin/foto/foto";
  3. function get_directory_list($path)
  4. {
  5.    if(is_dir($path))
  6. {
  7.        $dh = opendir($path);
  8.        while (false !== ($dir = readdir($dh)))
  9. {
  10.            if (is_dir($path . $dir) && $dir !== '.' && $dir !== '..')
  11.  {
  12.                $subdir = $path . $dir . '/';
  13.                print $subdir . "\n";
  14.                get_directory_list($subdir);
  15.            }
  16. else
  17.  {
  18.                next;
  19.            }
  20.        }
  21.        closedir($dh);
  22.    }
  23.  else
  24. {
  25.        print "Директорий не найдено";
  26.    } }
  27.  
  28. get_directory_list($path);
  29. ?>
Каролина Отправлено: 01 Июля, 2012 - 08:32:28 • Тема: ошибки в скриптах • Форум: Вопросы новичков

Ответов: 18
Просмотров: 577
перечислила
у меня так надо
Каролина Отправлено: 30 Июня, 2012 - 21:52:13 • Тема: ошибки в скриптах • Форум: Вопросы новичков

Ответов: 18
Просмотров: 577
ну а как подскажите

Страниц (17): [1] 2 3 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB