[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Оптимизация кода
Microsoft
Я написал код обработки формы...

PHP
<?php

if(!$a|| !$b|| !$c|| !$d|| !$e|| !$f|| !$g|| !$h) die("...");

$a trim($a);
$b trim($b);
$c trim($c);
$d trim($d);
$e trim($e);
$f trim($f);
$g trim($g);
$h trim($h);

$a ucwords($a);
$b ucwords($b);
$c ucwords($c);
$d ucwords($d);
$e ucwords($e);
$f ucwords($f);
$g ucwords($g);
$h ucwords($h);

$a addslashes($a);
$b addslashes($b);
$c addslashes($c);
$d addslashes($d);
$e addslashes($e);
$f addslashes($f);
$g addslashes($g);
$h addslashes($h);

$connect mysql_connect("localhost"'root');

if (!
$connect) die("...");

mysql_select_db("db"$connect) or die("...");

$query "SELECT count(*) FROM db_table WHERE a = '$a'";

if (
mysql_result(mysql_query($query), 0) > 0) {

echo 
'В таблице уже есть такое поле';

};

$query "INSERT INTO db_table VALUES ('".$a."','".$b."','".$c."','".$d."','".$e."','".$f."','".$g."','".$h."')";

$result mysql_query($query);

mysql_close($connect);

header("Location: http://localhost/");

exit;



Он не совсем удобный.
Когда я его писал, для каждой переменной мне отдельно приходилось указывать три разные функции.
Как сделать, чтобы весь блок переменных обрабатывался сразу тремя функциями?

Так же не совсем удобно было добавлять каждое значение поля по отдельности в: "INSERT INTO db_table VALUES ('".$a."','".$b."','".$c."','".$d."','".$e."','".$f."','".$g."','".$h."')";
Это не критично, но просто интересно можно ли автоматизировать...

Посоветуйте...



Спустя 4 минуты, 41 секунда (30.05.2009 - 09:33) Kuliev написал(а):
Microsoft
А что Вам мешает написать функцию, в теле которой будут проходить проверки переменных и возвращаться уже чистые переменные.

Спустя 10 минут, 21 секунда (30.05.2009 - 09:43) Sylex написал(а):
PHP
$a addslashes(ucwords(trim($a)));


и вместо addslashes лучше юзать mysql_real_escape_string:
PHP
$a mysql_real_escape_string(ucwords(trim($a)));


а лучше ознакомиться с тем, что такое массивы

Спустя 1 минута, 29 секунд (30.05.2009 - 09:44) Grazor написал(а):
да, если все переменные засунуть в массив, то можно будет перебрать их в одном цикле

Спустя 1 час, 32 минуты, 23 секунды (30.05.2009 - 11:17) twin написал(а):
Для этого не обязательно строить цикл. Есть штатная функция array_map();

Спустя 41 минута, 9 секунд (30.05.2009 - 11:58) Grazor написал(а):
twin, blink.gif интересно, спасибо

Спустя 1 день, 21 час, 3 минуты, 17 секунд (1.06.2009 - 09:01) glock18 написал(а):
По массивам в php огромное количество функций. Прежде чем решите делать что-то новое (ранее не делавшееся) с массивами - посмотрите, а нет ли какой-нибудь функции в самом php, которая могла бы упростить/ускорить это.

http://ru2.php.net/manual/ru/book.array.php

Спустя 4 минуты, 57 секунд (1.06.2009 - 09:06) Grazor написал(а):
glock18
ну я бы сказал, что так не только с массивами. для решения большинства задач уже существуют готовые функции rolleyes.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.