- 1
- 2
- 3
- 4
<?php
$_POST['sum'] = (float)number_format(preg_replace('~[^0-9.,]~ui', '',$_POST['sum']), 2);
?>
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−1
<?php
$_POST['sum'] = (float)number_format(preg_replace('~[^0-9.,]~ui', '',$_POST['sum']), 2);
?>
Получили float
0
/* сделать логику переводчика из 10 системы в 2, 8 и 16, что бы на вход было десятичное число,
а на выходе двоичное, восьмеричное и шеснадцатиричное представление */
// для проверки, функциями php
$i=378;
echo "$i в двоичной системе = " . base_convert ($i, 10, 2) . PHP_EOL;
echo "$i в восьмеричной системе = " . base_convert ($i, 10, 8) . PHP_EOL;
echo "$i в шестнадцатиричной системе = " . base_convert ($i, 10, 16) . PHP_EOL;
unset ($i);
// десятичное в двоичное, используя алгоритм http://vestikinc.narod.ru/AB/dec_bin_tr.htm
$a = 378;
$b = ''; // пустая строковая переменная
while ($a != 0) {
$b = ($a % 2) . $b; //добавляем в начало остаток от деления, как младший бит двоичного числа
$a = (int)($a / 2); //принимаем целую часть частного за новое делимое
}
echo $b . PHP_EOL;
unset ($a, $b);
// десятичное в восьмеричное, используя алгоритм http://vestikinc.narod.ru/AB/dec_oct_tr.htm
$a = 378;
$b = ''; // пустая строковая переменная
while ($a != 0 & $a % 8 < 8) {
$b = ($a % 8) . $b; //добавляем в начало остаток от деления, как младший бит двоичного числа
$a = (int)($a / 8); //принимаем целую часть частного за новое делимое
}
echo $b . PHP_EOL;
unset ($a, $b);
// десятичное в шестнадцатеричное, через двоичное
$a = 378;
$b = ''; // пустая строковая переменная
while ($a != 0) {
$b = ($a % 2) . $b; //добавляем в начало остаток от деления, как младший бит двоичного числа
$a = (int)($a / 2); //принимаем целую часть частного за новое делимое
}
$count = strlen($b);
while(($count % 4) != 0) { // если количество символов не кратно 4
$b='0'. $b; // то добавляем в начало 0
$count = strlen($b); // снова вычисляем длину
}
$c = ''; // пустая строковая переменная
for($d = 0; $d < $count; $d = $d + 4) //пока счётчик меньше количества символов, прибавляем 4
{
$c = $c . strtr(substr($b, $d,4), //добавляем к $c замену 4-х символов $b с позиции $d
array('0000'=>'0',
'0001'=>'1',
'0010'=>'2',
'0011'=>'3',
'0100'=>'4',
'0101'=>'5',
'0110'=>'6',
'0111'=>'7',
'1000'=>'8',
'1001'=>'9',
'1010'=>'A',
'1011'=>'B',
'1100'=>'C',
'1101'=>'D',
'1110'=>'E',
'1111'=>'F'));
}
echo $c . PHP_EOL;
unset ($a, $b, $c, $d);
// десятичное в шестнадцатеричное, используя алгоритм http://vestikinc.narod.ru/AB/dec_hex_tr.htm
$a = 378;
$b = ''; // пустая строковая переменная
while ($a != 0) {
if ($a % 16 > 0 & $a % 16 < 10):
$b = ($a % 16) . $b;
elseif ($a % 16 == 10):
$b = 'A' . $b;
elseif ($a % 16 == 11):
$b = 'B' . $b;
elseif ($a % 16 == 12):
$b = 'C' . $b;
elseif ($a % 16 == 13):
$b = 'D' . $b;
elseif ($a % 16 == 14):
$b = 'E' . $b;
elseif ($a % 16 == 15):
$b = 'F' . $b;
endif;
$a = (int)($a / 16); //принимаем целую часть частного за новое делимое
}
echo $b . PHP_EOL;
логика переводчика из 10 системы исчисления в 2, 8 и 16, чтобы на входе было десятичное число, а на выходе двоичное, восьмеричное и шеснадцатиричное представление
прошу сильно гавном не бросать - на старости лет, впервые в жизни учу программирование, месяц всего-то как заглянул за экран
0
function isDateGreaterOrEqualNow($d)
{
if (!$d) return false;
$t = getdate();
$t = mktime(0, 0, 0, $t['mon'], $t['mday'], $t['year']);
return $d >= $t;
}
Космическое сравнение дат
+2
$value = $grandTotal - $tax;
$total_name = $this->__('Grandtotal_excl_tax')." (".$this->__('excl. tax').")";
$row = '<div class="columns xsmall-6 small-6">';
$row .= $total_name;
$row .= '</div><div class="columns xsmall-6 small-6 align-right">'.$this->helper('checkout')->formatPrice($value).'</div>';
$totals["grand_total_excl_tax"] = $row;
//$orderedTotals = Mage::getStoreConfig('onestepcheckout/general/summary_totals');
$orderedTotals = "subtotal,aw_giftcard_duty,aw_giftcard_duty_discount,shipping,cashondelivery,shipping_discount,discount,aw_giftcard,grand_total_excl_tax,tax,grand_total";
$orderedTotals = explode(',', $orderedTotals);
foreach($orderedTotals as $total) {
$total = trim($total);
if (isset($totals[$total])) {
echo $totals[$total];
}
}
?>
</div>
Разгребаем проект на Magento доставшийся в наследство. Умеете ли вы готовить Array() так как готовят его в строках 11-12 ?
#littleitaly
0
<!DOCTYPE html>
<html>
<head>
<?php
$filename = 'mes.txt';
$count = "count.txt";
$count_file = fopen($count, "r");
$handle = fopen($filename, "rb");
date_default_timezone_set('Europe/Moscow');
$contents = file_get_contents($filename);
$contents2=nl2br($contents);
$password=htmlspecialchars($_POST["pass"]);
if($password=='dfhsdhf' || $password=='eeeeeer')
{
}
else
{
echo '403';
exit;
}
if( isset( $_POST['obn'] ) )
{
fclose($count_file);
$count_file = fopen($count, "w");
fwrite($count_file, '0');
echo "Обнулено";
$date = date("Y-m-d H:i:s");
$date_file = fopen("date.txt", "w");
fwrite($date_file, "$date");
}
?>
<title>Admin panel</title>
</head>
<body>
<h1>Начиная с <div id=date><?php echo file_get_contents("date.txt") ?></div> сайте было <div id=count><?php echo file_get_contents("count.txt") ?></div> людей</h1>
<p><?php if ($password == 'dfhsdhf')
echo "$contents2";
?>
</p>
<br>
<?php if ($password != 'dfhsdhf')
exit;
?>
<form method="POST">
<p>Введите код подтверждения</p>
<input type="password" name="pass">
<input type="submit" name="obn" value="Обнулить" />
</form>
</body>
</html>
Лучшая админка на php
+2
return ( empty( $syndication_meta ) ? false : true );
+2
public function sql ($sql) {
$r = array(
"'" => "", //ору с этого
'"' => '',
'DROP' => '',
'TRUNCATE' => '',
'SELECT' => '',
'UPDATE' => '',
'INSERT' => '',
'DELETE' => '',
'INSERT' => '',
'UNION' => ''
);
if($this->strposa(strtoupper($sql), array_keys($r))){
mail('[email protected]', 'Внимание!', 'Обнаружена попытка SQL инъекции: "'.$sql.'" с IP адреса: '.$_SERVER['REMOTE_ADDR']);
}
$sql = str_ireplace(array_keys($r), $r, $sql);
$sql = htmlspecialchars($sql);
$sql = strip_tags($sql);
$sql = stripslashes($sql);
return $sql;
}
−1
public function sendChat ($msg) {
if($this->isLogged()){
if($this->checkAd($this->sql($msg)) !== '' || $this->checkAd($this->sql($msg))[0] !== ' '){
$q = $this->db->row("SELECT * FROM `chat` WHERE `user` = '".intval($_SESSION['steamid'])."' ORDER BY `id` DESC LIMIT 1");
if($q->time+1 <= time()){
if($q->text != $this->checkAd($this->sql($msg))) {
$r = $this->db->query("INSERT INTO `chat` (`user`,`text`,`time`) VALUES ('".intval($_SESSION['steamid'])."', '".$this->sql($this->checkAd($msg))."', ".time().")");
return json_encode(array("success" => true,));
} else {
return json_encode(array("success" => false, "msg" => "flood"));
}
} else {
return json_encode(array("success" => false, "msg" => "flood"));
}
} else {
json_encode(array("success" => false, "msg" => "null_msg"));
}
} else {
return json_encode(array("success" => false, "msg" => "not_auth"));
}
}
0
/* Технические работы */
if($_SERVER['REMOTE_ADDR'] !== '87.103.101.202') die($tpl->get('tech', TPL, $language));
/* Авторизованным */
if($api->isLogged()){
$login = $tpl->get('nologon', TPL, $language);
/* Список заменяемых слов */
$replace = array(
""
);
/* Показывание авторизированному юзеру */
$login = str_replace(array_keys($replace), $replace, $login);
} else {
$login = $tpl->get('logon', TPL, $language);
}
/* Запуск шапки сайта */
$header = $tpl->get('header', TPL, $language);
/* Список заменяемых слов */
$replace = array(
"%login%" => $login
);
/* Показывание шапки */
echo str_replace(array_keys($replace), $replace, $header);
/* Переключение по адресам */
switch ($uri[0]) {
/* Главная страница */
default:
echo $tpl->get('home', TPL, $language);
break;
}
0
/* Регистрация */
public function register ($log, $pass, $pass2, $email) {
/* Стандартная проверка */
if(isset($_SESSION['userid'])) return "already_auth";
if(!preg_match("/^[a-zA-Z0-9]+$/", $log)) return "rus_or_eng";
if(strlen($log) < 5 or strlen($log) > 31) return "log_min_5";
if($pass != $pass2) return "pass1_not_equal_pass2";
if(strlen($pass) < 8 or strlen($pass) > 31) return "pass_min_8";
/* Генерация хэша */
$hash = md5('davay'.rand().'ebatsa');
/* Проверка на существование ника */
$q = $this->db->row("SELECT * FROM `users` WHERE `user` = '".$this->sql($log)."'");
if($q != null) return "change_nick";
/* Занос в базу данных нового пользователя */
$q = $this->db->query("INSERT INTO `users` (`user`, `password`, `hash`) VALUES (:login, :password, :hash)",
array("login" => $log, "password" => $pass, "hash" => $hash));
/* Возвращаем положительный ответ */
return true;
}
Хэш не трогал)