Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Использование констант в функции
 
 автор: spyder   (20.09.2006 в 12:27)   письмо автору
 
 

Привет всем!
Пытаюсь сделать функцию проверку полей.
Вот код

 require_once("defines.php");
 //Функция проверки данных переданных через метод POST
 function check($value, val)
{
    if($value)
    {
        
        $value = trim($value);            //    Удаление пробелов лидирующих и завершающих пробелов
        //Кодирование тегов и обратных слешей в нике
        $value = htmlspecialchars(stripslashes($value));

        return $value;
    }
    else return val;
}
//Проверяем переменную
check($FIO,ER_FIO);

Суть проблемы: не получается использовать константу в функции, допустим если поле пустое то
выполняется код

    }
    else return val;

как передать через функцию константу?
файл констант

<?php
 
//контактное лицо
 
define("ER_FIO""Вы незаполнили поле ФИО");
 
define("ER_POST_Q""Вы незаполнили поле должность");
 
define("ER_CONT_PERS_EMAIL""Вы не заполнили поле email");
 
define("ER_TEL_FAX""Вы незаполнили поле тел/факс");
 
define("ER_CELLULAR_TELE""Вы незаполнили поле сотовый телефон");
 
 
//Организация
 
define("ER_NAME_ORG""Вы неуказали название организации");
 
define("ER_DOSTUP_V_INET""Вы незаполнили поле Доступ в интернет");
 
?>

   
 
 автор: cheops   (20.09.2006 в 12:56)   письмо автору
 
   для: spyder   (20.09.2006 в 12:27)
 

Константы имеют глобальную область видимости, вы можете просто их использовать в функции, специально передавать их не нужно
<?php
 define
("ER_FIO""Вы незаполнили поле ФИО");
 
funct();
 function 
funct()
 {
   echo 
ER_FIO;
 }
?>

   
 
 автор: Spyder   (20.09.2006 в 13:09)   письмо автору
 
   для: cheops   (20.09.2006 в 12:56)
 

я хотел написать функцию которая проверяла бы все поля, а как вы написали получается нужно будет для каждого поля писать функцию, а я хотел писать так

function func($value, VAL)
 { 
  if($value)
   { 
      //здесь код проверки данных
   }
    else
      //если поле пустое то выводится константа с текстом ошибки по конкретному полю
     return VAL

где, $value - это имя проверяемого поля, VAL - константа проверяемого поля с сообщением об ошибке, т.е буду потом писать так

func($FIO, ER_FIO);
func($EMAIL, ER_EMAIL);
и т.д.

   
 
 автор: spyder   (20.09.2006 в 14:01)   письмо автору
 
   для: Spyder   (20.09.2006 в 13:09)
 

up

   
 
 автор: Spyder   (20.09.2006 в 16:57)   письмо автору
 
   для: spyder   (20.09.2006 в 14:01)
 

Help me!!!

   
 
 автор: ec_stasis   (20.09.2006 в 17:11)   письмо автору
 
   для: Spyder   (20.09.2006 в 16:57)
 

Объясни нормально, что ты хочешь, и зачем именно константа?

   
 
 автор: Spyder   (20.09.2006 в 17:21)   письмо автору
 
   для: ec_stasis   (20.09.2006 в 17:11)
 

попробую.
Хочу чтоб констунты можно было подставлять в функцию. Как в переменную $value

function func($value, DEFINE)
 {
  //проверяем переменную на содержимое и перекодируем html теги
  if($value)
   {
         $value = htmlspecialchars($value)
   }
  else
  {
    //если переменная пуста то выводим константу
   return ER_FIO;
   }
// далее вызываем функцию.
 funct($FIO, ER_FIO)
//где ER_FIO это константа с сообщением об ошибке если переменная пустая. 

Дак вот с этой константой не получается, ругается на неправильно указанный параметр в функции. Как в таком случае быть?
Если что нетак написал, спрашивай объясню.

   
 
 автор: ec_stasis   (20.09.2006 в 17:35)   письмо автору
 
   для: Spyder   (20.09.2006 в 17:21)
 


define("ER_FIO", 'сообщение об ошибке');
function func($value)
 {
  //проверяем переменную на содержимое и перекодируем html теги
  if($value)
   {
         $value = htmlspecialchars($value)
   }
  else
  {
    //если переменная пуста то выводим константу
   return ER_FIO;
   }
// далее вызываем функцию.
 echo funct($FIO, ER_FIO);
//где ER_FIO это константа с сообщением об ошибке если переменная пустая. 

   
 
 автор: kasmanaft   (20.09.2006 в 17:39)   письмо автору
 
   для: ec_stasis   (20.09.2006 в 17:35)
 

не, проблема не в том =))

   
 
 автор: kasmanaft   (20.09.2006 в 17:16)   письмо автору
 
   для: Spyder   (20.09.2006 в 16:57)
 

Примерно так

<?
define
("ER_FIO""Вы незаполнили поле ФИО");
function 
func ($val)
{
 echo 
CONSTANT($val);
}
func ("ER_FIO");
?>

   
 
 автор: kasmanaft   (20.09.2006 в 17:26)   письмо автору
 
   для: kasmanaft   (20.09.2006 в 17:16)
 

Или вот еще способ
<?
define
("ER_FIO""Вы незаполнили поле ФИО");
function 
func ($val)
{
 echo 
func_get_arg(0);
}
func (ER_FIO);
?>

ЗЫ .. не с глаголами .... :))

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования