- 1
- 2
- 3
- 4
string tmpS;
//идут всякие монипуляции с этой строкой
//. . .
tmpS.Remove(0, tmpS.Length);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+120
string tmpS;
//идут всякие монипуляции с этой строкой
//. . .
tmpS.Remove(0, tmpS.Length);
Реальный код из коммерческого продукта.
+166
# Получаем историю активации карт пользователя
$query = mysql_query("CENSORED") or die(mysql_error());
$usercount=mysql_numrows($query);
# Добавляем бонусы для каждой 10-й и 100-й карты
for ($i=0; $i<=1000; ($i+=10)) // переменная $i изменяется от 1 до 5. В скобках { ... } заключена одна итерация (заход) цикла.
{
$g=$i-1;
if($g=="-1")
{
}
else
{
switch($usercount)
{
case "$g":
if($g=="99" OR $g=="199" OR $g=="299" OR $g=="399" OR $g=="499" OR $g=="599" OR $g=="699" OR $g=="799" OR $g=="899" OR $g=="999")
{
# Добавляем бонусы каждой 100-й карте
$query = mysql_query("CENSORED");
$query = mysql_query("CENSORED");
$query = mysql_query("CENSORED");
}
else
{
# Добавляем бонусы каждой 10-й карте
$query = mysql_query("CENSORED");
$query = mysql_query("CENSORED");
$query = mysql_query("CENSORED");
}
break;
header("Location: $refer?err=ok");
exit;
}
}
}
Нашел этот код в одном из проектов, поддержкой которого пришлось заниматься. Это сервис в котором пользователь активирует бонусные карты. Таким чудесным образом автор учитывал дополнительные бонусы за каждую 10-ю и 100-ю карту... Авторское форматирование сохранено. SQL запросы пришлось спрятать.
+166
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Сайт Управления безопасности информационных технологий</title>
</head>
<body>
<?php
echo "You will be redirected after 5 seconds";
sleep(5);
header("Location: https://itsdhub");
?>
</body>
</html>
Найдено в fido7.ru.php.
Хотел сделать с помощью PHP редирект с таймаутом.
Считал, что сначала пользователь увидит сообщение "You will be...", а через
пять секунд сработает header. Hо получается так, что сообщение в браузере не
выводится, а просто идет пятисекундная задержка с последующим срабатыванием
header. Почему? Что я не так сделал?
−91
#coding=utf8
#Ввод коэффициентов
def inputVar():
a=raw_input('Enter a')
b=raw_input('Enter b')
c=raw_input('Enter c')
return a,b,c
#Вывод исходного уравнения в виде ax^2+bx+c=0
def printHeader(a,b,c):
import math
ax2=str(a)*bool(a)*bool(a-1)+'x^2'*bool(a)+'+'*bool(b+math.fabs(b))*bool(a)
bx1=str(b)*bool(b)*bool(b-1)+'x'*bool(b)+'+'*bool(c+math.fabs(c))*bool(bool(a)+bool(b))
cx0=str(c)*bool(c)+'0'*bool(not(bool(bool(a)+bool(b)+bool(c))))
print '\n\nУравнение:',ax2+bx1+cx0+' = 0'
#Подсчет и вывод корней уравнения
def printRoots(a,b,c):
D=b**2-4*a*c
import math
import cmath
if a:
if D>0:
x1=(-b+math.sqrt(D))/(2*a)
x2=(-b-math.sqrt(D))/(2*a)
print "Корни уравнения:\n","x1 =",x1,"\nx2 =",x2
if D==0:
x1=(-b)/(2*a)
x2=x1
print "Корень уравнения:\n","x1 = x2 =",x1
if D<0:
print "Корни уравнения:"
print 'x1 = '+str((-b)/(2*a))*bool(b)+'+'*bool(b)+str(cmath.sqrt(D)/(2*math.fabs(a)))
print 'x2 = '+str((-b)/(2*a))*bool(b)+'-'*bool(b)+str(cmath.sqrt(D)/(2*math.fabs(a)))
elif b:
x1=-c/b
x2=x1
print'Корень уравнения:\n','x =',x1
elif c:
print'Уравнение неверно'
else:
print'Уравнение верно'
#Тело программы
a,b,c=inputVar()
a=int(a); b=int(b); c=int(c)
printHeader(a,b,c)
printRoots(a,b,c)
+137
<!-- box begin -->
<div class="box_login">
<div class="border-top">
<div class="border-right">
<div class="border-bot">
<div class="border-left">
<div class="left-top-corner">
<div class="right-top-corner">
<div class="right-bot-corner">
<div class="left-bot-corner">
<div class="inner">
<div class="enter">
<h2>Вход для пользователей сайта</h2>
<form id="contacts-form" method="post" action="#">
<div class="field"><label>Ваш email:</label><input type="text" name="user_email" autofocus/></div>
<div class="field"><label>Пароль:</label><input type="password" name="pass"/></div>
<button class="enter" type="submit"><b>Войти</b></button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- box end -->
+107
procedure delonefromend(var p:TPointer);
var i,n:integer; t:TPointer;
begin
i:=1;
t:=p;
while p<>nil do
begin
t:=t^.next;
i:=i+1;
end;
for n:=1 to i do p:=p^.next;
dispose(p^.next);
end;
Для того чтобы добраться до последнего элемента в списке, сначала циклом подсчитывается в i их количество, а потом другим циклом от 1 до I указатель p перемещается на i элементов, тобишь в конец.
+141
unsigned b;
unsigned char num;
b = ((b & ((1 << num) - 1)) << ((sizeof(b) << 3) - num)) | (b >> num);
Долго не мог понять, что оно делает.
+164
$list_n_price[] = $n_price;
?>
<? } ?>
<?
for ($n_ar = 0; (count($list) - $n_ar) >= 4; $n_ar +=4) {
это человек писал ? 0_о
+160
MainDM->ADOQ_pr_kontr_vert->SQL->Add(
"SELECT Smena, Prostenok, Popravka, Val_zad_temp, t.Zam1, t.Zam2, t.Zam3, t.Zam4, "
"@sr1:=((t.Zam1 + t.Zam2 + t.Zam3 + t.Zam4) / 4) as sredn, "
"@p:= @sr1 - (avgtempr.avgZam1 + avgtempr.avgZam2 + avgtempr.avgZam3 + avgtempr.avgZam4) / 4 as popravka from "
"(SELECT avg(Zam1) as avgZam1, avg(Zam2) as avgZam2, avg(Zam3) as avgZam3, avg(Zam4) as avgZam4 from "
"(SELECT "
"SUM(CASE "
"WHEN kontroln_vertik.Zamer = 1 THEN kontroln_vertik.Value ELSE 0 "
"END) as Zam1, "
"SUM(CASE "
"WHEN kontroln_vertik.Zamer = 2 THEN kontroln_vertik.Value ELSE 0 "
"END) as Zam2, "
"SUM(CASE "
"WHEN kontroln_vertik.Zamer = 3 THEN kontroln_vertik.Value ELSE 0 "
"END) as Zam3, "
"SUM(CASE "
"WHEN kontroln_vertik.Zamer = 4 THEN kontroln_vertik.Value ELSE 0 "
"END) as Zam4 "
"FROM kontroln_vertik WHERE kontroln_vertik.Date = \'2011-03-02\' "
"and kontroln_vertik.Storona = 1 "
"group by kontroln_vertik.Prostenok) zameri) avgtempr, "
"(SELECT kontroln_vertik.Smena, kontroln_vertik.Prostenok, kontroln_vertik.Popravka, "
"kontroln_vertik.Val_zad_temp, kontroln_vertik.Period_koks, "
"SUM(CASE "
"WHEN kontroln_vertik.Zamer = 1 THEN kontroln_vertik.Value ELSE 0 "
"END) as Zam1, "
"SUM(CASE "
"WHEN kontroln_vertik.Zamer = 2 THEN kontroln_vertik.Value ELSE 0 "
"END) as Zam2, "
"SUM(CASE "
"WHEN kontroln_vertik.Zamer = 3 THEN kontroln_vertik.Value ELSE 0 "
"END) as Zam3, "
"SUM(CASE "
"WHEN kontroln_vertik.Zamer = 4 THEN kontroln_vertik.Value ELSE 0 "
"END) as Zam4 "
"FROM kontroln_vertik "
"WHERE kontroln_vertik.Date = \'2011-03-02\' and "
"kontroln_vertik.Storona = 1 "
"group by kontroln_vertik.Prostenok) t"
);
+159
<? while ($cat = db_fetch_object($qid_c)) { ?>
<?
$n_p_id = $cat->id;
$n_p = $cat->name;
$list[] = "";
$list_n_p_id[] = $n_p_id;
$list_n_p[] = $n_p;
?>
<? } ?>
<table>
<?
for ($n_ar = 0; (count($list) - $n_ar) >= 4; $n_ar +=4) {
$first = $list[$n_ar];
$second = $list[$n_ar + 1];
$third = $list[$n_ar + 2];
$forth = $list[$n_ar + 3];
$first_n_p_id = $list_n_p_id[$n_ar];
$second_n_p_id = $list_n_p_id[$n_ar + 1];
$third_n_p_id = $list_n_p_id[$n_ar + 2];
$forth_n_p_id = $list_n_p_id[$n_ar + 3];
$first_n_p = "<a href=../collection/?id=$first_n_p_id>$list_n_p[$n_ar]</a>";
$n_ar1 = $n_ar + 1;
$second_n_p = "<a href=../collection/?id=$second_n_p_id>$list_n_p[$n_ar1]</a>";
$n_ar2 = $n_ar + 2;
$third_n_p = "<a href=../collection/?id=$third_n_p_id>$list_n_p[$n_ar2]</a>";
$n_ar3 = $n_ar + 3;
$forth_n_p = "<a href=../collection/?id=$forth_n_p_id>$list_n_p[$n_ar3]</a>";
print "<tr class=collection>" . "<td class=collection1>" . $first_n_p . "</td>" . "<td class=collection2>" . $second_n_p . "</td>" . "<td class=collection3>" . $third_n_p . "</td>" . "<td class=collection4>" . $forth_n_p . "</td>" . "</tr>";
}
?>
ну так нужно уметь!