- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
<?php
$a = explode(" ",'Строка с пробелами');
$vol = '';
for($i=0; $i<count($a); $i++) {
$vol .= $a[$i];
}
echo $vol;
?>
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+81
<?php
$a = explode(" ",'Строка с пробелами');
$vol = '';
for($i=0; $i<count($a); $i++) {
$vol .= $a[$i];
}
echo $vol;
?>
Шоколадный шедевр убирания пробелов из строки...
Ни знаний .*_replace, ни, даже, implode, в данном случае...
+71
$var1 = "Строка";
$var2 = true;
var_dump($var1);
var_dump($var2);
if($var1 != $var2){
echo "Не равны";
}else{
echo "Равны";
}
Недавно заметил странное поведение моего кода и вот что выяснилось.
Исправил сравнением по типу !==.
Не думал что такая вот хрень всплывет.
+86
<?
function anti_sql($expressao) {
$inject=0;
$expressao = strtolower($expressao);
//arrays com palavras e caracteres invalidos
$badword1 = array("' or 0=0 --",'" or 0=0 --',"or 0=0 --","' or 0=0 #","admin'--",'" or 0=0 #',"or 0=0 #","' or 'x'='x",'" or "x"="x',"') or ('x'='x","' or 1=1--",'" or 1=1--',"or 1=1--","' or a=a--",'" or "a"="a',"') or ('a'='a",'") or ("a"="a','hi" or "a"="a','hi" or 1=1 --',"hi' or 1=1 --","hi' or 'a'='a","hi') or ('a'='a",'hi") or ("a"="a',"or '1=1'");
$badword2 = array("select", " select","select "," insert"," update","update "," delete","delete "," drop","drop "," destroy","destroy ");
for($i=0;$i<sizeof($badword1);$i++) {
if(substr_count($expressao,$badword1[$i])!=0)
$inject=1;
}
for($i=0;$i<sizeof($badword2);$i++) {
if(substr_count($expressao,$badword2[$i])!=0)
$inject=1;
}
$charvalidos = "abcdefghijklmnopqrstuvwxyz0123456789БАГВЗЙИКНМУТФХЪЩЬСбагвзйикнмутфхъщьс!?@#$%&(){}[]:;,.-_ ";
for($i=0;$i<strlen($expressao);$i++) {
$char = substr($expressao,$i,1);
if(substr_count($charvalidos,$char)==0)
$inject=1;
}
return($inject);
}
?>
Эх, португальские кодеры...
+75
<input type="text" value="1" id="Count" size="1">
<a href="<?=$arResult["ADD_URL"]?>" rel="nofollow" onclick="return addToCart(this, 'catalog_detail_image', 'detail', '<?=GetMessage("CATALOG_IN_BASKET")?>');" id="catalog_add2cart_link"><span><img src="/upload/cart.jpg"></span>
+141
<?php
class GetF {
var $symbol;
public function __construct(){
$this->symbol = 'Ф';
}
}
function GetE(){
return 'е';
}
function GetL(){
$L = array('л'=>'Abracadabra');
return str_replace(array_values($L), array_keys($L), 'Abracadabra');
}
function GetI($password){
return $password == 'Please give me I' ? 'и' : 'WTF?';
}
class GetX extends GetF{
var $symbol;
public function __construct(){
$this->symbol = 'кс';
}
}
$preF = new GetF();
$F = $preF->symbol;
$E = GetE();
$L = GetL();
$I = GetI('Please give me I');
$preX = new GetX();
$X = $preX->symbol;
echo $F.$E.$L.$I.$X; //БУ парапам пам пам РА парапам пам пам ТИ парапам пам НО парапам пам пам
My name is....
+79
function exeSQL($inSQL,$withDebug = true,$iniDb = '') {
global $db;
$tmp_db = $db;
if ($iniDb != '') {
$tmp_db = $iniDb;
}
if (isset($_SESSION['HIDDEN']) and is_numeric($_SESSION['HIDDEN']['HIDDEN']) and $_GET['HIDDEN'] == 'YES') {
echo "
<br>---------------------------------------------------------------------
BEG_TIME: " . date('h:i:s A');
print "<pre>";
print_r($inSQL);
echo "<br>END_TIME: " . date('h:i:s A') . "<br>
------------------------------------------------------------------------";
}
$result = mysql_query($inSQL, $tmp_db);
$error = mysql_error($tmp_db);
if ($error) {
if (strpos($inSQL, 'USD-CODED_RECORD:V') !== false) {
$strSQL = util::decodeRecord($inSQL);
exeSQL($strSQL, $withDebug);
return ;
}
if ($withDebug) {
// if (!is_dir("d:/temp") and $_GET['debug2'] != 'Y') {
// echo file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/index.html');
// die();
// }
echo $error;
print "<pre>";
print ($inSQL);
die();
}
}
// -- CHECK IF IT WAS INSERTION ---
// -- TRY TO RETURN DATASET
$arr = @mysql_fetch_array($result);
// -- NO RESULT AT ALL
if (is_array($arr)) {
// -- RETURN AS VARCHAR ----
if (count($arr) <= 2) return $arr[0];
// FORM RESULT ARRAY TO RETURN TO USER
$res = array();
while ($arr) {
$res[] = $arr;
$arr = mysql_fetch_array($result);
}
return $res;
} else {
return '';
$id = mysql_insert_id($tmp_db);
if ($id > 0) {
return $id;
}
}
return '';
}
Работа с СУБД.
+100
$sql = "SELECT (SELECT Name FROM dbo.RoutesTypes WHERE RowID = Type) AS Name --Название маршрута
,(SELECT Name FROM dbo.Destinations WHERE Name = '$Src') AS DestA --Пункт отправления
,(SELECT Name FROM dbo.Destinations WHERE Name = '$Dst') AS DestB --Пункт назначения
--,(SELECT COUNT([RowID]) FROM [RoutePartInstances] WHERE [RoutePartType] = RoutesTypes.RowID AND [Occuped] = 0) AS FreePlaces --Количество свободных мест на выбранную часть маршрута
,(SELECT SUM(Cost) From RoutesParts WHERE Ordern >= RoutesTypes.OrderA AND Ordern <= RoutesTypes.OrderB AND InstanceID = Type) AS TicketCost --Стоимость билета на выбранную часть маршрута
,(SELECT SUM(TimeInWay) From RoutesParts WHERE Ordern >= RoutesTypes.OrderA AND Ordern <= RoutesTypes.OrderB AND InstanceID = Type) AS TimeInWay --Время в пути на выбранной части маршрута
--Расчёт времени отправления
,(SELECT DATEADD(Minute,
(SELECT
CASE
WHEN RoutesTypes.OrderA > 1 THEN (SELECT SUM(TimeInWay) From RoutesParts WHERE Ordern < RoutesTypes.OrderA AND InstanceID = Type)+10*(SELECT COUNT(RowID) From RoutesParts WHERE Ordern < RoutesTypes.OrderA AND InstanceID = Type)
ELSE 0
END),[DateStart])) AS DepartureTime
--Расчёт времени прибытия
,(SELECT DATEADD(Minute,
(SELECT SUM(TimeInWay) From RoutesParts WHERE Ordern >= RoutesTypes.OrderA AND Ordern <= RoutesTypes.OrderB AND InstanceID = Type)+10*(SELECT COUNT(RowID) From RoutesParts WHERE Ordern > RoutesTypes.OrderA AND Ordern <= RoutesTypes.OrderB AND InstanceID = Type),
(SELECT DATEADD(Minute,
(SELECT
CASE
WHEN RoutesTypes.OrderA > 1 THEN (SELECT SUM(TimeInWay) From RoutesParts WHERE Ordern < RoutesTypes.OrderA AND InstanceID = Type)+10*(SELECT COUNT(RowID) From RoutesParts WHERE Ordern < RoutesTypes.OrderA AND InstanceID = Type)
ELSE 0
END),[DateStart])))) AS ArrivalTime
--,RoutesTypes.OrderA --Порядок выбранной точки отправления в маршруте. Это нам понадобится при покупке билета
--,RoutesTypes.OrderB --Порядок выбранной точки назначания в маршруте. Это нам понадобится при покупке билета
--,RoutesTable.[RowID] AS RouteID --Идентификатор рейса из таблицы расписаний. Это нам понадобится при покупке билета
--,RoutesTable.[Type] AS RouteTypeID --Идентификатор типа маршрута из таблицы типов маршрутов. Это нам понадобится при покупке билета
FROM [RoutesTable] AS RoutesTable
INNER JOIN (SELECT RoutesParts_A.[InstanceID],RoutesParts_A.[TimeA],RoutesParts_B.TimeB,RoutesParts_A.RowID,RoutesParts_ A.Ordern AS OrderA,RoutesParts_B.Ordern AS OrderB
FROM [RoutesParts] AS RoutesParts_A
INNER JOIN (SELECT [InstanceID],[TimeB],[Ordern] FROM [RoutesParts] WHERE [DestBID] = (SELECT RowID FROM Destinations WHERE Name = '$Dst')) AS RoutesParts_B ON RoutesParts_B.InstanceID = RoutesParts_A.InstanceID
WHERE [DestAID] = (SELECT RowID FROM Destinations WHERE Name = '$Src'))AS RoutesTypes ON RoutesTable.Type = RoutesTypes.InstanceID";
Встретил на форуме phpforum.ru. Человек интересовался почему не работает запрос :)
+102
<html class="html">
.............
</html>
Бывает и такое
+90
if ($value != 0) { // Если значение не равно нулю
$this->koeff = $value * 0.01; // Коэффициенту этого экземляра класса присвоить одну сотую от цены
$count++; // Счетчик увеличиваем на единицу
} else { // Иначе
$this->koeff=0; // Устанавливаем коэффициент этого экземпляра класса равным нулю
// Счетчик не увиличиваем
} // Конец условия
Код боевой не мой, комментарии авторские.
+89
function uIsCommentAllowed($id_all)
{
$db = 'i_all';
$this->db->select('comment');
$this->db->where('id_all',$id_all);
$query = $this->db->get($db);
if ($query->num_rows() == 0) return false;
else
{
$row = $query->row();
if ($row->comment == 1) return true;
if ($row->comment == 1) return false;
}
return false;
}
Кто не видит где говно, показываю: if ($row->comment == 1) return true; if ($row->comment == 1) return false;
Теперь главный вопрос - почему на при тестировании данная ошибка не проявляется, и все вообще работает верно?