- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
//проверка привата
function NewPrivat()
{
global $connect, $user, $rid;
$nup = intval(mysql_result(mysql_query("SELECT COUNT(id) FROM `privmsg_inbox` WHERE `mepl`='0' AND `id_user`='".$user['id']."'", $connect),0));
if($nup != 0)
{
echo '<div class="bar">
<a href="privmsg.php';
if ($rid['id']!=0) echo '?idr='.$rid['id'];
echo '"><b>Новые сообщения: <font color="red">'.$nup.'</font></b></a>
</div>';
}
return ;
}
// ..................
//выщитываем сколько онлайн
function online()
{
global $user, $connect;
$time = time();
$in_on_line = '1500';
$result_update = mysql_query("DELETE FROM `online` WHERE `unix`+$in_on_line < $time OR `login_id` = '".$user['id']."'", $connect);
$result_insert = mysql_query("INSERT INTO `online` (`ip`,`unix`, `login`, `login_id`) VALUES ('".IPUSR."','$time', '".$user['nick']."', '".$user['id']."')", $connect);
$online = mysql_num_rows(mysql_query("SELECT `id` FROM `online` WHERE `login`<>''", $connect));
return $online;
}
// ..................
//проверка авторизации
function user()
{
global $connect;
if(isset($_SESSION['login']) and isset($_SESSION['pass']))
{
$l = acs($_SESSION['login']);
$p = acs($_SESSION['pass']);
$user = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `nick`='$l' AND `pass`='$p' ;", $connect));
}
elseif (isset($_REQUEST['id']))
{
//$id = intval($_REQUEST['id']);
//$user = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id`='$id'", $connect));
}
else $user=false;
return $user;
}
function php_decode($in){
очень удобно создавать вот такие функции когда используются они только один раз в скрипте
Dimon 08.08.2010 10:51 # +1
Если функция по длине превышает один экран, то стопудова бью на подфункции — психологически проще воспринимается код, в котором весь процесс на микрозадачи разбит.
Morgan 08.08.2010 12:37 # 0
Dimon 08.08.2010 12:44 # +3
Dimon 08.08.2010 13:02 # 0
Dimon 08.08.2010 13:09 # 0
Morgan 08.08.2010 13:56 # 0
ты не можешь оценить степень Г. кода моего кода, как и я степень полезности твоего.
Morgan 08.08.2010 13:54 # 0
Dimon 08.08.2010 14:07 # 0
Morgan 08.08.2010 15:42 # 0
telnet 08.08.2010 19:56 # +2
Lure Of Chaos 08.08.2010 21:01 # +1
da4ever 08.08.2010 21:08 # 0
набижали...
Lure Of Chaos 08.08.2010 22:25 # 0
другое дело, если стаж у кодера есть, а он все "по старинке" кодит, и сидит в своем говне, орет: "а зачем мне это знать, я и без этого прекрасно живу!"
и еще другое дело, что сия круть может быть непригодна для конкретной задачи. Это либо низкоуровневые задачи типа драйверов, либо простые утилитки.
и еще - в той же жабе, где все, кроме примитивов, является обьектом, примитивный хелловорлд, который на многих языках пишется в одну строчку, сразу требует ООП-подхода на 5 строк...
da4ever 09.08.2010 02:20 # 0
это я не в плане поехидничать, а про то, что "все действительно так", однако, всегда есть "но". вот они:
- простая, но полезная утилка с уем, от которой нельзя просто и быстро открутить гуй, чтобы приделать кли или наоборот, с хардкоженными параметрами вроде "E:\MyFolder\exp0rt.xml" и отсутствующими кодестайлом и нейминг конвеншеном - это, согласитесь, печально.
- к драйверу, конечно же, технология ORM врядли применима, но почему бы не использовать хотя бы структурные шаблоны? (тонкий намек, на то что шаблоны - это огого!)
-в жабе хелоуворлд занимает три строчки и две закрывающие скобки. а еще:
в си шарпе, где, кажется, все является объектами, примитивный хелоуворлд занимает 7 строчек (елси с неймспейсом) и да, требует ООП подхода.
в С99 (примитивы и неочевидные объекты), обжектив С и в С++ хелоуворд занимет 5 строк и сразу требует знания стандарта, но не требует ООП.
в, руби, пайтоне и пхп, где все является объектом а о примитивах можно только мечтать, примитивный хелоуворлд занимает одну строчку.
а в хаскекле, строго-настрого типизтрованном, примитивный хелоуворлд занимает две строчки и сразу требует функционального подхода.
Значит ли это что шарп круче всех? Или что порог вхождения у хаскеля чуть выше чем у пхп? Или на пайтоне нельзя писать в функцональном стиле?
Вывод для меня не очевиден.
telnet 09.08.2010 10:40 # 0
> в, руби, пайтоне и пхп, где все является объектом
За два первых не скажу, но где это в пхп всё является объектом? Там ООП-то появилось только в чётвёртой версии, а начиная с пятой на него стало можно смотреть без смеха. Там замыкания-то только родились (5.3), да и то аки костыль.
telnet 09.08.2010 10:47 # +1
Ну нет, в чём польза-то, на пальцах ещё можно растолковать, но вот научить этим пользоваться как раз будет проблематично - "всё равно что человека, едва научившегося держаться на воде, заставить переплыть Берингов пролив" (цопирайт С. Лукьяненко). А если человек не совсем нуб, то вот тут встанет как раз вторая проблема:
> а он все "по старинке" кодит
... - то есть как его убедить, что "все эти дела" вообще-то не для труЪ-йоба-пацанскости придумали и вовсе не от хорошей жизни, а по необходимости. По себе могу сказать, что реальная польза ощущается после нескольких проектов, сделанных по-новому, когда, во-первых, набивается рука в новых привычках программирования, а, во-вторых, на практике по собственному опыту убеждаешься, что это действительно офигенно, и забываешь про всякие там while ($row = mysql_fetch_assoc($result)) echo $row['item']; как про кошмарный сон и происки нечистого.
Анонимус 10.08.2010 16:17 # 0
Погляди, они юзают ГЛОБАЛЬНЫЕ ПЕРМЕННЫЕ (_POST)
Хотя уже лет 25 как все знают, что юзать их не нужно
ZX_Spectrum 09.08.2010 05:12 # 0