Вниз  PHP и мелкие вопросы
- 5.05.2012 / 09:40
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
Koenig, как так сделать? Я просто в этом еще нуб
- 5.05.2012 / 10:16
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
Оно работает и как я написал, но почему-то форму отображает еще раз, когда я ввел логин и пароль совпадающий с лог и пар в бд, а не перекидает на page.php
- 5.05.2012 / 12:07
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
Немного изменил, дык теперь после успешного ввода данных обновляется страница, но уже пустая, даже без формы
- 5.05.2012 / 12:25
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
  1. <?php
  2. $auto_user=$enter=0;
  3. $form_error='';
  4. $db_host='openserver';
  5. $db_database='ukrnet';
  6. $db_user='root';
  7. $db_pass='';
  8. $buttoninput='<form>
  9. <input type="submit" id="buttoninput" value="Назад" />
  10. </form>
  11. <script>
  12. document.getElementById(\'buttoninput\').onclick = function()
  13. {
  14. history.back();
  15. return false;
  16. }
  17. </script>';
  18. $db_server= mysql_connect($db_host, $db_user, $db_pass);
  19. if (!$db_server) die("<b>Произошла ошибка соединения с базой данных. Возможно ведутся технические работы. Сообщите о проблеме администрацию сайта.</b><br />Код ошибки:" . mysql_error() . $buttoninput);
  20. mysql_select_db($db_database) or die("<b>Произошла ошибка при выборе базы данных. Возможно ведутся технические работы. Сообщите о проблеме администрацию сайта.</b><br /> Код ошибки:" . mysql_error() . $buttoninput);
  21. echo '<?xml version="1.0" encoding="UTF-8"?>
  22. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  23. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  24. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  25. <head>
  26. <title>
  27. Авторизація
  28. </title>
  29. <link rel="stylesheet"  href="../style/style.css" type="text/css" />
  30. </head>
  31. <body>';
  32. $form='<form method="post" action="enter.php" class="enteruser"><p align="center"><font class="menu">Авторизація</font></p><p align="center">
  33. Логін:<br />
  34. <input type="text" name="login" /><br />
  35. Пароль:<br />
  36. <input type="password" name="password" /><br />
  37. <input type="submit" value="Увійти" />
  38. </p></form>';
  39. if (isset($_COOKIE['login']) && isset($_COOKIE['password']))
  40. {
  41. $login=$_COOKIE['login'];
  42. $password=$_COOKIE['password'];
  43. $result_h=mysql_query('SELECT * FROM user');
  44. $num_string=mysql_num_rows($result_h);
  45. for ($j=0; $j < $num_string; ++$j)
  46. {
  47. if ($login == mysql_result($result_h, $j, 'login') && $password == mysql_result($result_h, $j, 'password'))
  48. {
  49. $auto_user=1;
  50. exit;
  51. }
  52. }
  53. }
  54. if ($auto_user == 1)
  55. {
  56. echo '<div class="error">Ви вже зайшли на сайт під логіном' . $login;
  57. echo '<form>
  58. <input type="submit" id="buttoninput" value="Назад" />
  59. </form>
  60. <script>
  61. document.getElementById(\'buttoninput\').onclick = function()
  62. {
  63. history.back();
  64. return false;
  65. }
  66. </script>
  67. </div>';
  68. }
  69. elseif (isset($_POST['login']) && isset($_POST['password']))
  70. {
  71. $login=$_POST['login'];
  72. $password=$_POST['password'];
  73. $password=md5($password);
  74. $q_result=mysql_query('SELECT * FROM user');
  75. if (!$q_result) die ("Збій при провірці данних. Помилка:" . mysql_error());
  76. $num_string=mysql_num_rows($q_result);
  77. for ($j=0; $j < $num_string; ++$j)
  78. {
  79. if ($login == mysql_result($q_result, $j, 'login') && $password == mysql_result($q_result, $j, 'password'))
  80. {
  81. setcookie('login', $login, time() + 60 * 60 * 24 * 14);
  82. setcookie('password', $password, time() + 60 * 60 * 24 * 14);
  83. echo "<script>
  84. document.location.href='../'
  85. </script>";
  86. mysql_close($db_server);
  87. exit;
  88. }
  89. $form_error='<div class="error">Не вірно введений логін або пароль. Спробуйте ще раз.</div>';
  90. }
  91. }
  92. else echo $form . $form_error;
  93. echo "</body></html>";
  94. ?>

- 5.05.2012 / 17:24
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
  1. <?php
  2. $error="";
  3. echo '<?xml version="1.0" encoding="UTF-8"?>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  5. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  6. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  7. <head>
  8. <title>
  9. Авторизація
  10. </title>
  11. <link rel="stylesheet"  href="../style/style.css" type="text/css" />
  12. </head>
  13. <body>';
  14. $db_host='openserver';
  15. $db_database='ukrnet';
  16. $db_user='root';
  17. $db_pass='';
  18. $buttoninput='<form>
  19. <input type="submit" id="buttoninput" value="Назад" />
  20. </form>
  21. <script>
  22. document.getElementById(\'buttoninput\').onclick = function()
  23. {
  24. history.back();
  25. return false;
  26. }
  27. </script>';
  28. $db_server= mysql_connect($db_host, $db_user, $db_pass);
  29. if (!$db_server) die("<b>Произошла ошибка соединения с базой данных. Возможно ведутся технические работы. Сообщите о проблеме администрацию сайта.</b><br />Код ошибки:" . mysql_error() . $buttoninput);
  30. mysql_select_db($db_database) or die("<b>Произошла ошибка при выборе базы данных. Возможно ведутся технические работы. Сообщите о проблеме администрацию сайта.</b><br /> Код ошибки:" . mysql_error() . $buttoninput);
  31. if (isset($_COOKIE['login']) && isset($_COOKIE['password']))
  32. {
  33. if (mysql_query("SELECT * FROM `users` WHERE `login` = '". $_COOKIE['login'] ."' AND `password` = '". $_COOKIE['password'] ."'"))
  34. {
  35. header('Location: page.php');
  36. exit;
  37. }
  38. }
  39. elseif (isset($_POST['login']) && isset($_POST['password']))
  40. {
  41. if (mysql_query("SELECT * FROM `users` WHERE `login` = '". $_POST['login'] . "' AND `password` = '" . $_POST['password'] . '"'))
  42. {
  43. setcookie('login', $login, time() + 60 * 60 * 24 * 14, '../');
  44. setcookie('password', $password, time() + 60 * 60 * 24 * 14, '../');
  45. header('Location: page.php');
  46. exit;
  47. }
  48. else $error='<div class="error">Не вірно введений логін або пароль. Спробуйте ще раз.</div>' . mysql_error();
  49. }
  50. echo $error . '<form method="post" action="enter.php" class="enteruser" /><p align="center"><font class="menu">Авторизація</font></p><p align="center">
  51. Логін:<br />
  52. <input type="text" name="login" /><br />
  53. Пароль:<br />
  54. <input type="password" name="password" /><br />
  55. <input type="submit" value="Увійти" />
  56. </p></form></body></html>';
  57. ?>
Первый раз форма отображается, потом лог и пароль ввел и войти нажал, опять отображаеться форма с ошибкой:
Не вірно введений логін або пароль. Спробуйте ще раз.
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''grandgoldgreen"' at line 1

- 5.05.2012 / 17:41
Koenig
  Модератор форума

Koenig 
Сейчас: Offline
Dinisimys1, первое что бы я сделал, это разделил бы подключение и шапку в отдельные файлы, в будущем пригодиться, в шапку сделал бы вывод ошибок, весь вывод на экран после всех операции, чтоб редирект работал
__________________
 Магистр Мёда
- 5.05.2012 / 21:49
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
Koenig, это отпадает. У меня для всех других файлов есть подключение в отдельном файле, но именно для этого не подходит, поэтому и сделал все в одном. Ведь от этого конечный результат не меняется?
- 6.05.2012 / 12:15
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
  1. setcookie('login', $login, time() + 60 * 60 * 24 * 14, '/');
  2. setcookie('password', $password, time() + 60 * 60 * 24 * 14, '/');
  3. header('Location: page.php');
Ошибку выдает

Warning: Cannot modify header information - headers already sent by (output started at W:\html\socart\www\user\enter.php:13) in W:\html\socart\www\user\enter.php on line 41

Warning: Cannot modify header information - headers already sent by (output started at W:\html\socart\www\user\enter.php:13) in W:\html\socart\www\user\enter.php on line 42

Warning: Cannot modify header information - headers already sent by (output started at W:\html\socart\www\user\enter.php:13) in W:\html\socart\www\user\enter.php on line 43

- 6.05.2012 / 12:24
Naik
  Пользователь

Naik 
Сейчас: Offline
Dinisimys1, заголовки нужно высылать до любого вывода информации
- 6.05.2012 / 13:20
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
Так сделал
  1. <?php
  2. $error="";
  3. require_once "../dbserver.php";
  4. $buttoninput='<form>
  5. <input type="submit" id="buttoninput" value="Назад" />
  6. </form>
  7. <script>
  8. document.getElementById(\'buttoninput\').onclick = function()
  9. {
  10. history.back();
  11. return false;
  12. }
  13. </script>';
  14. if (!$db_server) $error.='Произошла ошибка соединения с базой данных. Возможно ведутся технические работы. Сообщите о проблеме администрацию сайта.<br />Код ошибки:' . mysql_error() . $buttoninput;
  15. mysql_select_db($db_database) or $error.='Произошла ошибка при выборе базы данных. Возможно ведутся технические работы. Сообщите о проблеме администрацию сайта.<br />Код ошибки:' . mysql_error() . $buttoninput;
  16. if (isset($_POST['login']) && isset($_POST['password']))
  17. {
  18. $login=$_POST['login'];
  19. $password=md5($_POST['password']);
  20. if (mysql_query("SELECT * FROM `user` WHERE `login` = '". $login . "' AND `password` = '" . $password . "'"))
  21. {
  22. setcookie('login', $login, time() + 60 * 60 * 24 * 14,'../');
  23. setcookie('password', $password, time() + 60 * 60 * 24 * 14,'../');
  24. echo '<div class="enteruser">Авторизація пройшла успішно. Тепер ви можете перейти на свою <a href="page.php">сторінку</a> і відредагувати особисті данні.</div>';
  25. exit;
  26. }
  27. echo '<?xml version="1.0" encoding="UTF-8"?>
  28. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  29. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  30. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  31. <head>
  32. <title>
  33. Авторизація
  34. </title>
  35. <link rel="stylesheet"  href="../style/style.css" type="text/css" />
  36. </head>
  37. <body>';
  38. if (isset($_COOKIE['login']) && isset($_COOKIE['password']))
  39. {
  40. if (mysql_query("SELECT * FROM `users` WHERE `login` = '". $_COOKIE['login'] ."' AND `password` = '". $_COOKIE['password'] ."'"))
  41. {
  42. header('Location: page.php');
  43. exit;
  44. }
  45. }
  46. else $error.='Не вірно введений логін або пароль. Спробуйте ще раз.<br />Код:' . mysql_error();
  47. }
  48. echo '<div class="error">' . $error . '</div>' . '<form method="post" action="enter.php" class="enteruser" /><p align="center"><font class="menu">Авторизація</font></p><p align="center">
  49. Логін:<br />
  50. <input type="text" name="login" /><br />
  51. Пароль:<br />
  52. <input type="password" name="password" /><br />
  53. <input type="submit" value="Увійти" />
  54. </p></form></body></html>';
  55. ?>
Все ок, но только теперь почему-то стиль не работает, даже цвет фона не меняется :-(
Я так понял этот код вообще не выполняеться
  1. echo '<?xml version="1.0" encoding="UTF-8"?>
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  4.  
  5. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  6.  
  7. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  8.  
  9. <head>
  10.  
  11. <title>
  12.  
  13. Авторизація
  14.  
  15. </title>
  16.  
  17. <link rel="stylesheet"  href="../style/style.css" type="text/css" />
  18.  
  19. </head>
  20.  
  21. <body>';


Изменено Dinisimys1 (6.05 / 13:22) (всего 1 раз)
Наверх  Всего сообщений: 4740
Фильтровать сообщения
Поиск по теме
Файлы топика (129)