Вниз  PHP и мелкие вопросы
- 12.05.2012 / 20:09
web_demon
  Супервизор

web_demon 
Сейчас: Offline
Dinisimys1, я просто не понимаю зачем все это запихивать в функцию. Это же форма входа, ее один раз на сайте показывать нужно и все.
- 12.05.2012 / 22:00
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
Как в строке поменять последнюю букву на "и"?

Изменено Dinisimys1 (12.05 / 22:01) (всего 1 раз)
- 12.05.2012 / 23:03
qwertyuiop
  Супермодератор

qwertyuiop 
Сейчас: Offline
Имеются три файла:
1) tmp.php
2) str1.php
3) str2.php

Данные авторизации проверяются в login.php.

Далее эти данные записываются в tmp.php.
В str1.php импортируется файл tmp.php, затем в str2.php импорт. str1.php.

Вопрос: авторизованный пользователь сможет перейти на хттп://сайт.рф/str2.php ?? (эти файлы скрыты от незареганных)
__________________
 わからない!!

Изменено qwertyuiop (12.05 / 23:06) (всего 2 раза)
- 12.05.2012 / 23:10
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
  1. <?php
  2. $reg=$auto_user=$error=$db_error="";
  3. ConnectDB($db_error);
  4. function User ($auto_user)
  5. {
  6. if (!empty($_COOKIE['login']) && !empty($_COOKIE['login']))
  7. {
  8. $login=$_COOKIE['login'];
  9. $password=$_COOKIE['password'];
  10. if (mysql_query("SELECT * FROM `user` WHERE `login` = '$login' AND `password` = '$password'")) return "yes";
  11. else return "no";
  12. }
  13. else return "no";
  14. }
  15. if (User($auto_user) == "yes")
  16. {
  17. haeder("Location: /");
  18. exit;
  19. }
  20. elseif (!empty($_POST['submit']))
  21. {
  22. $login=$_POST['login'];
  23. $password=$_POST['password'];
  24. $email=$_POST['email'];
  25. $error.=Valid($login,"логін","login") . Valid($password,"парол","password") . ValidEmail($email);
  26. if ($error) $reg="";
  27. else
  28. {
  29. $password=md5($password);
  30. $q=mysql_query("INSERT INTO `user` SET `login`='$login', `password`='$password', `email`='$email'");
  31. mysql_close($db_error);
  32. $reg="yes";
  33. }
  34. }
  35. echo '<?xml version="1.0" encoding="UTF-8"?>
  36. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  37. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  38. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  39. <head>
  40. <title>Реєстрація</title>
  41. <link rel="stylesheet"  href="../style/style.css" type="text/css" />
  42. </head>
  43. <body>
  44. <table>
  45. <tr><td><img src="../logo.jpg" alt="logo"></td><td></td></tr>
  46. <tr><td colspan=2><font class="menu">Реєстрація</font><a href="nojs.php" class="menu" id="button">Назад</a></td></tr>
  47. <tr><td><div class="error">' . ConnectDB($db_error) . $error . '</div>';
  48. if ($reg)
  49. {
  50. echo 'Дякуємо за успішну реєстрацію.<br />
  51. Логін:' . $login . '<br />
  52. Пароль' . $password . '<br />
  53. E-mail' . $email . '<br />
  54. <a href="enter.php">Авторизуйтесь</a>';
  55. }
  56. else
  57. {
  58. echo '<form method="post" action="reg.php" />
  59. Логін:  <input type="text" name="login" value="" /><br /><br />
  60. Пароль:  <input type="text" name="password" value="" /><br /><br />
  61. E-mail:  <input type="text" name="email" value="" /><br /><br />
  62. <input type="hidden" name="submit" value="yes" />
  63. <input type="submit" value="Реєстрація" />
  64. </form>
  65. <script>
  66. document.getElementById(\'button\').onclick = function()
  67. {
  68. history.back();
  69. return false;
  70. }
  71. </script>';
  72. }
  73. echo '</table></body></html>';
  74. function Valid($error,$param,$name)
  75. {
  76. if (!$error) return $error.='Запоніть обов\'язково поле ' . $param . '<br />';
  77. else
  78. {
  79. if (mysql_query("SELECT * FROM `user` WHERE `$name` = '$error'"))
  80. {
  81. return $error.='Данний ';
  82. if ($param == "парол") return $error.=$param . 'ь уже використовується.<br />';
  83. else return $error.=$param . ' уже використовується.<br />';
  84. }
  85. else
  86. {
  87. if (preg_match("/[\W]/", $error)) return $error.='В ' . $param. 'i допускаються тільки символи a-z, A-Z, 0-9, _<br />';
  88. if (5 > strlen($error) && strlen($error)< 28) return $error.='В ' . $param . 'i повинно бути не менше 5 та не більше 28 символів<br />';
  89. }
  90. }
  91. }
  92. function ValidEmail($error)
  93. {
  94. if (!$error) return $error.='Запоніть обов\'язково поле e-mail.<br />';
  95. else
  96. {
  97. if (mysql_query("SELECT * FROM `user` WHERE `email` = '$error'")) return $error.='Данний e-mail уже використовується.<br />';
  98. else
  99. {
  100. if (5 > strlen($error) && strlen($error)< 28) return $error.='В e-mail\'i повинно бути не менше 5 та не більше 28 символів<br />';
  101. if (!preg_match("/^[-_a-zA-Z0-9]+@[-a-zA-Z0-9]+.[-a-zA-Z0-9]+$/", $error)) return $error.='E-mail має невірний формат.';
  102. }
  103. }
  104. }
  105. function ConnectDB($db_error)
  106. {
  107. $db_host='openserver';
  108. $db_database='ukrnet';
  109. $db_user='root';
  110. $db_pass='';
  111. $db_error= mysql_connect($db_host, $db_user, $db_pass);
  112. if (!$db_error) return $db_error='Помилка підкулючення до бази данних. Код:' . mysql_error() . '<br />';
  113. if (!mysql_select_db($db_database)) return $db_error.='Помилка вибору бази данних. Код:' . mysql_error() . '<br />';
  114. }
  115. ?>
Не работает диз, а также даже после успешного ввода данных выводит
DenisДанний passwordddДанний [email protected]Данний e-mail уже використовується.ну и опять форму
- 12.05.2012 / 23:14
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
qwertyuiop, мне кажеться лучше сделать в отдельном файле функцией зделать проверку пользователя и подключать ко всем другим файлам, а в них проверять возвращеное значение ф-и, если гость, то заголовком перенаправлять на главную,
- 12.05.2012 / 23:17
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
qwertyuiop, по сути, так как ты написал, то неавторизованй сможет зайти на все файлы, так как проверка только в логин.пхп. Делай, как тут говорил Пост #163313
- 13.05.2012 / 20:58
qwertyuiop
  Супермодератор

qwertyuiop 
Сейчас: Offline
Dinisimys1, не зареганный не зайдет, его и так перекинет на главную.

вопрос внимательно перечитай, да и сам пост :)
__________________
 わからない!!
- 14.05.2012 / 21:08
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
Правильно ли это?
  1. mysql_query("SELECT * FROM `user` WHERE `login` = '$error'")

- 15.05.2012 / 10:50
TAPAHbl4
  Пользователь

TAPAHbl4 
Сейчас: Offline
Dinisimys1, смотря что ты этим добиться хочешь.
В синтаксисе вроде ошибок нету
- 15.05.2012 / 20:34
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
А можно ли как-то посмотреть код чужого скрипта?
Наверх  Всего сообщений: 4740
Фильтровать сообщения
Поиск по теме
Файлы топика (129)