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 :: Вопросы от новичков [5]

 PHP.SU

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


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

> Без описания
Dinisimys
Отправлено: 16 Мая, 2012 - 12:08:40
Post Id


Новичок


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


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




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $captcha_error='';
  4.  
  5. $reg=$auto_user=$error=$db_error=false;
  6.  
  7.  
  8. $db_server= mysql_connect("openserver","root","");
  9.  
  10. if (!$db_server) $db_error='Помилка підкулючення до бази данних. Код:' . mysql_error() . '<br />';
  11.  
  12. if (!mysql_select_db("ukrnet")) $db_error.='Помилка вибору бази данних. Код:' . mysql_error() . '<br />';
  13.  
  14. if (User($auto_user))
  15.  
  16. {
  17.  
  18. header("Location: /");
  19.  
  20. mysql_close("ukrnet");
  21.  
  22.  
  23. }
  24.  
  25. elseif (!empty($_POST['submit']))
  26.  
  27. {
  28.  
  29. $login=$_POST['login'];
  30.  
  31. $password=$_POST['password'];
  32.  
  33. $email=$_POST['email'];
  34.  
  35. $error.=Valid($login,"логін") . Valid($password,"парол") . ValidEmail($email) . ValidCaptcha($_POST['captcha']) . $db_error;
  36.  
  37. if ($error) $reg=false;
  38.  
  39. else $reg=true;
  40.  
  41. }
  42.  
  43. header("Cache-Control: no-store, no-cache, must-revalidate");
  44.  
  45. header("Cache-Control: post-check=0, pre-check=0", false);
  46.  
  47. header("Pragma: no-cache");
  48.  
  49. $im=@imagecreate(100,50) or $captcha_error='Каптча не відображається.<br />';
  50.  
  51. $char=$_SESSION['captcha'];
  52.  
  53. $bg=imagecolorallocate($im,9,131,9);
  54.  
  55. for ($i=0; $i<=100; $i++)
  56.  
  57. {
  58.  
  59. $color=imagecolorallocate($im,rand(140,160),rand(160,180),rand(140,180));
  60.  
  61. imagesetpixel($im,rand(2,89),rand(2,30),$color);
  62.  
  63. }
  64.  
  65. for ($i=0;$i<strlen($char);$i++)
  66.  
  67. {
  68.  
  69. $color=imagecolorallocate($im,131,152,131);
  70.  
  71. $x=5+$i*20;
  72.  
  73. $y = rand(1, 6);
  74.  
  75. imagechar ($im, 5, $x, $y, $char[$i], $color);
  76.  
  77. }
  78.  
  79. echo '<?xml version="1.0" encoding="UTF-8"?>
  80.  
  81. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  82.  
  83. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  84.  
  85. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  86.  
  87. <head>
  88.  
  89. <title>Реєстрація</title>
  90.  
  91. <link rel="stylesheet"  href="../style/style.css" type="text/css" />
  92.  
  93. </head>
  94.  
  95. <body>
  96.  
  97. <table>
  98.  
  99. <tr><td><img src="../logo.jpg" alt="logo"></td><td></td></tr>
  100.  
  101. <tr><td colspan=2><font class="menu">Реєстрація</font><a href="nojs.php" class="menu" id="button">Назад</a></td></tr>
  102.  
  103. <tr><td>';
  104.  
  105. if ($error) echo '<br /><div class="error">' . $error . '</div><br />';
  106.  
  107. if ($reg == true)
  108.  
  109. {
  110.  
  111. echo 'Дякуємо за успішну реєстрацію.
  112. Логін: ' . $login . '
  113. Пароль: ' . $password . '
  114. E-mail: ' . $email . '<br />';
  115.  
  116. $password=md5($password);
  117.  
  118. $q=mysql_query("INSERT INTO `user` SET `login`='$login', `password`='$password', `email`='$email'");
  119.  
  120. mysql_close($db_server);
  121.  
  122. echo '<a href="enter.php">Авторизуйтесь</a>';
  123.  
  124. }
  125.  
  126. else
  127.  
  128. {
  129.  
  130. echo '<form method="post" action="reg.php" />
  131.  
  132. Логін:  <input type="text" name="login" /><br />
  133. Пароль:  <input type="text" name="password" /><br />
  134. E-mail:  <input type="text" name="email" /><br />
  135. Ведіть код з картинки:  ';
  136.  
  137. $_SESSION['captcha']=substr(md5(uniqid("")),0,4);
  138.  
  139. imagepng ($im);
  140.  
  141. echo '<input type="text" name="captcha" /><br />
  142. <input type="hidden" name="submit" value="yes" />
  143.  
  144. <input type="submit" value="Реєстрація" />
  145.  
  146. </form>
  147.  
  148. <script>
  149.  
  150. document.getElementById(\'button\').onclick = function()
  151.  
  152. {
  153.  
  154. history.back();
  155.  
  156. return false;
  157.  
  158. }
  159.  
  160. </script>';
  161.  
  162. }
  163.  
  164. echo '</table></body></html>';
  165.  
  166. function Valid($error,$param)
  167.  
  168. {
  169.  
  170. if (!$error)
  171.  
  172. {
  173.  
  174. if ($param == "логін") return $error.='Запоніть обов\'язково поле ' . $param . '.<br />';
  175.  
  176. elseif ($param == "парол") return $error.='Запоніть обов\'язково поле ' . $param . 'ь.<br />';
  177.  
  178. }
  179.  
  180. else
  181.  
  182. {
  183.  
  184. $l=0;
  185.  
  186. if ($param == "логін" && !mysql_query("SELECT * FROM `user` WHERE `login` = '$error'"))
  187.  
  188. {
  189.  
  190. return $error.=' - данний логін уже використовується.<br />';
  191.  
  192. $l=1;
  193.  
  194. }
  195.  
  196. elseif ($l == 0)
  197.  
  198. {
  199.  
  200. if (preg_match("/[\W]/", $error)) return $error.='В ' . $param. 'i допускаються тільки символи a-z, A-Z, 0-9, _<br />';
  201.  
  202. else return "";
  203.  
  204. if (5 > strlen($error) && strlen($error)< 28) return $error.='В ' . $param . 'i повинно бути не менше 5 та не більше 28 символів<br />';
  205.  
  206. else return "";
  207.  
  208. }
  209.  
  210. else return "";
  211.  
  212. }
  213.  
  214. }
  215.  
  216. function ValidEmail($error)
  217.  
  218. {
  219.  
  220. if (!$error) return $error='Запоніть обов\'язково поле e-mail.<br />';
  221.  
  222. else
  223.  
  224. {
  225.  
  226. if (!mysql_query("SELECT * FROM `user` WHERE `email` = '$error'")) return $error.=' - данний e-mail уже використовується.<br />';
  227.  
  228. else
  229.  
  230. {
  231.  
  232. if (5 > strlen($error) && strlen($error)< 28) return $error.='В e-mail\'i повинно бути не менше 5 та не більше 28 символів<br />';
  233.  
  234. else return "";
  235.  
  236. if (preg_match("/^[-_a-zA-Z0-9]+@[-a-zA-Z0-9]+.[-a-zA-Z0-9]+$/", $error)) return $error.='E-mail має невірний формат.';
  237.  
  238. else return "";
  239.  
  240. }
  241.  
  242. }
  243.  
  244. }
  245.  
  246. function ValidCaptcha ($captcha_error)
  247.  
  248. {
  249.  
  250. if (empty($_POST['captcha']) && empty($_SESSION['code'])) return 'Введіть код з картинки';
  251.  
  252. elseif ($_POST['captcha'] != $_SESSION['captcha']) return 'Не вірно введений код з картинки';
  253.  
  254. else return false;
  255.  
  256. }
  257.  
  258. function User ($auto_user)
  259.  
  260. {
  261.  
  262. if (!empty($_COOKIE['login']) && !empty($_COOKIE['login']))
  263.  
  264. {
  265.  
  266. $login=$_COOKIE['login'];
  267.  
  268. $password=$_COOKIE['password'];
  269.  
  270. if (mysql_query("SELECT * FROM `user` WHERE `login` = '$login' AND `password` = '$password'"))
  271.  
  272. {
  273.  
  274. return true;
  275.  
  276. mysql_close($db_server);
  277.  
  278. }
  279.  
  280. else return false;
  281.  
  282. }
  283.  
  284. else return false;
  285.  
  286. }
  287.  
  288. ?>
  289.  

Где мне отправить заголовок header("Content-type: image/png"); ну или как отобразить картинку капчи? Без заголовка отображает кракозябры вместо капчи, а куда его всунуть, чтобы весь файл как картинка не отображался не знаю

(Отредактировано автором: 16 Мая, 2012 - 12:09:28)

 
 Top
Леди_Мари
Отправлено: 17 Мая, 2012 - 14:15:16
Post Id


Новичок


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


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




Здравствуйте! Подскажите пожалуйста как от указанной в БД даты отнять n-е количество дней
 
 Top
sKaa
Отправлено: 17 Мая, 2012 - 14:56:20
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


 
 Top
Леди_Мари
Отправлено: 17 Мая, 2012 - 15:14:25
Post Id


Новичок


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


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




спасибо) а как из переменной со значением даты в php отнять n-е количество дней?

(Отредактировано автором: 17 Мая, 2012 - 15:21:10)

 
 Top
sKaa
Отправлено: 17 Мая, 2012 - 15:26:55
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


Леди_Мари, перевести переменную даты в формат timestamp, а дальше уже дело техники...

Посмотрите функцию mktime, ей можно перевести дату в timestamp. Из полученного числа нужно будет вычесть 60 * 60 * 24 * N где N кол-во дней, а обратно timestamp в дату перевести можно функцией date
 
 Top
Леди_Мари
Отправлено: 17 Мая, 2012 - 15:54:06
Post Id


Новичок


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


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




Не понял а как именно правильно прописать перевод $data_fist в этот формат??? дата записана в таком формате dd.mm.yyyy.

(Отредактировано автором: 17 Мая, 2012 - 17:12:18)

 
 Top
Леди_Мари
Отправлено: 18 Мая, 2012 - 03:26:59
Post Id


Новичок


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


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




а есть какой-нибудь другой способ отнять от переменной со значением даты в php n-е количество дней? дата от которой требуется отнять дни не текущая.
 
 Top
LIME
Отправлено: 18 Мая, 2012 - 03:29:23
Post Id


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


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


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




есть...мило улыбнуться умному парню
он все сделает
иначе для вас боюсь никак
 
 Top
Леди_Мари
Отправлено: 18 Мая, 2012 - 03:41:27
Post Id


Новичок


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


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




Я конечно не супер умная, но такими методами я работать не привыкла. не подскажете ну и ладно рано или поздно что-нибудь придумаю!!!!!
 
 Top
sKaa
Отправлено: 18 Мая, 2012 - 03:59:54
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


PHP:
скопировать код в буфер обмена
  1.  
  2. $date = '12.04.2000';
  3. $date = explode('.', $date);
  4.  
  5. $timestamp = mktime(0, 0, 0, $date[1], $date[0], $date[2]);
  6.  
  7. $timestamp -= 60 * 60 * 24 * 5;
  8.  
  9. $newdate = date('d.m.Y', $timestamp);
  10.  
  11. echo $newdate;
  12. // 07.04.2000

Как-то так вполне можно.
(Добавление)
LIME, тут хотя-бы грамматика не так страдает и вопросы более внятные чем у той-же Каролины, почему-бы и не помочь? Что-то вы какой-то грубый сегодня Улыбка

(Отредактировано автором: 18 Мая, 2012 - 04:00:32)

 
 Top
Леди_Мари
Отправлено: 18 Мая, 2012 - 04:12:38
Post Id


Новичок


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


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




sKaa, я сделала вот так:
PHP:
скопировать код в буфер обмена
  1. $data_modern = mktime(0 * 0 * 0 * $data_first)-(0 * 0 * 0 *$day_week * 0 * 0);
  2. $data_modern = date("d.m.Y", $data_modern
  3.  

однако он отнимает день от текущей даты, а мне нужно от даты указанной в переменной $data_first. Подскажите что не так
 
 Top
sKaa
Отправлено: 18 Мая, 2012 - 04:15:08
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


Леди_Мари, я вам в примере выше показал как сделать.
 
 Top
Леди_Мари
Отправлено: 18 Мая, 2012 - 04:23:59
Post Id


Новичок


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


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




Спасибо)) я просто забыла обновить страницу поэтому не заметила этот пример. Он работает только вот выводит дату дважды
 
 Top
sKaa
Отправлено: 18 Мая, 2012 - 04:25:09
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


Леди_Мари, это невозможно, покажите код.
 
 Top
Леди_Мари
Отправлено: 18 Мая, 2012 - 04:29:15
Post Id


Новичок


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


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




а нет все разобралась я не в то место поставила нужный фрагмент кода))
 
 Top
Страниц (5): « 1 2 3 4 [5]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB