AntiSlaed CMS
Вход
Логин: Пароль:Забыли пароль?
Запомнить вас на этом компьютере?
Войти скрытым?

Здравствуйте, Гость ( Вход | Регистрация )

> Внимание!

Адрес нашего форума изменился, теперь мы доступны по адресу antislaed.net. Обновите ссылки и закладки, он больше не изменится.


 
Ответить в данную темуНачать новую тему
> Кто поправит функцию
teletehnika
сообщение Jun 30 2010, 08:29
Сообщение #1


А нас мёдом не корми, Дай чего нибуть помалевать.
Иконка группы

Группа: Дизайнеры

Сообщений: 3,009
Регистрация:
23.9.2007
Из: Казахстан, Жезказган Рядом с Байконуром
Пользователь №: 967
Спасибо сказали: 1247

Вставить ник




Эх!!! Давно меня здесь не было. Всем привет.
Есть одна функция, которая никак не хочет у меня работать. А так как я в php ноль, почти ноль, то прошу помощи.
Функция была зазендена. Под зендом работает а расзенденная нивкакую.
Под зендом было 18 файлов, остальные 17 работают чётко. Думаю что дезенд не верно понимает какую то задачу.
Вот она, выдранная с файла:
КОД
function checksessionpost( $delete )
{
    $AllFields = array( "txtPaymentFirstName", "txtPaymentLastName", "txtPaymentAddress1", "txtPaymentAddress2", "txtPaymentCity", "txtPaymentPostalCode", "txtPaymentCountry" );
    $numRequired = count( $AllFields );
    $skeys = array_keys( $_SESSION );
    if ( $delete == 1 )
    {
        $pkeys = array_keys( $_POST );
        $i = 0;
        for (;    do
    {
    $i < $numRequired;    ++$i    )
            {
                if ( !in_array( $AllFields[$i], $skeys ) )
                {
                    $GLOBALS['_SESSION'][$AllFields[$i]] = "";
                }
                else if ( in_array( $AllFields[$i], $pkeys ) )
                {
                    $GLOBALS['_SESSION'][$AllFields[$i]] = $_POST[$AllFields[$i]];
                }
                break;
            }
        } while ( 1 );
    }
    else
    {
        $i = 0;
        for (;    $i < $numRequired;    ++$i    )
        {
            if ( in_array( $AllFields[$i], $skeys ) )
            {
                $GLOBALS['_SESSION'][$AllFields[$i]] = "";
            }
        }
    }
}

Ругается на вот эту строку : for ( ; do

Вот строка ошибки:
КОД
Parse error: syntax error, unexpected T_DO, expecting ';' in K:\home\Mysait\www\engine\functions.php  on line 182
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
rAmantiK
сообщение Jun 30 2010, 09:41
Сообщение #2


Живу на АС
Иконка группы

Группа: Пользователи

Сообщений: 462
Регистрация:
23.5.2008
Из: Aktobe Kazahstan
Пользователь №: 3,888
Спасибо сказали: 51

Вставить ник




Ну и сам посмотри внимательно...
for (; do
{
... и ...
for (; $i < $numRequired; ++$i )
{

Найди 10 отличий...
) <- это не улыбка, а подсказка.

Сообщение отредактировал rAmantiK: Jun 30 2010, 09:43
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
teletehnika
сообщение Jun 30 2010, 11:51
Сообщение #3


А нас мёдом не корми, Дай чего нибуть помалевать.
Иконка группы

Группа: Дизайнеры

Сообщений: 3,009
Регистрация:
23.9.2007
Из: Казахстан, Жезказган Рядом с Байконуром
Пользователь №: 967
Спасибо сказали: 1247

Вставить ник




Да пробовал я ставить скобку "как не улыбка", не помогает. Но тут если глянуть то вроде как продолжение ниже, вот это:
{
$i < $numRequired; ++$i )
И потом скобка закрывается. убирал и фигурные, откр и закр-ывающую. нифига не помогает.
ИЛИ Я НЕ ПРАЛЬНО ПОДСКАЗКУ ПОНЯЛ?
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
rAmantiK
сообщение Jun 30 2010, 16:40
Сообщение #4


Живу на АС
Иконка группы

Группа: Пользователи

Сообщений: 462
Регистрация:
23.5.2008
Из: Aktobe Kazahstan
Пользователь №: 3,888
Спасибо сказали: 51

Вставить ник




Тогда попробуй так:

Вместо
КОД
for (;    do
    {
    $i < $numRequired;    ++$i    )
            {
                if ( !in_array( $AllFields[$i], $skeys ) )
                {
                    $GLOBALS['_SESSION'][$AllFields[$i]] = "";
                }
                else if ( in_array( $AllFields[$i], $pkeys ) )
                {
                    $GLOBALS['_SESSION'][$AllFields[$i]] = $_POST[$AllFields[$i]];
                }
                break;
            }
        } while ( 1 );

Поставь
КОД
        for (; $i < $numRequired;    ++$i    )
        {
                if ( !in_array( $AllFields[$i], $skeys ) )
                {
                    $GLOBALS['_SESSION'][$AllFields[$i]] = "";
                }
                else if ( in_array( $AllFields[$i], $pkeys ) )
                {
                    $GLOBALS['_SESSION'][$AllFields[$i]] = $_POST[$AllFields[$i]];
                }
                break;
         }
         while ( 1 );


По идее должно быть правильно.
rAmantiK, Вас 1 раз(а) поблагодарили за это сообщение:
teletehnika
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
vitalik1972
сообщение Jun 30 2010, 17:44
Сообщение #5


Живу на АС
Иконка группы

Группа: Пользователи

Сообщений: 765
Регистрация:
10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211

Вставить ник




$i = 0;
for (; $i < $numRequired; ++$i )
{

надо так:

for ($i=0; $i < $numRequired; ++$i )
{
vitalik1972, Вас 2 раз(а) поблагодарили за это сообщение:
DjSalamander, teletehnika
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
DjSalamander
сообщение Jun 30 2010, 18:27
Сообщение #6


прорвемся...
Иконка группы

Группа: [..AS..]

Сообщений: 2,388
Регистрация:
6.9.2008
Из: Latvia Riga-Vangaži
Пользователь №: 5,367
Спасибо сказали: 457

Вставить ник




Михалыч!
Во первых выговор, за то что не отвечаеш,
а во вторых делай смело, как Виталий сказал, он знает толк в програмирований.

И в третьих- у нас джентелменам на слово верят (IMG:http://antislaed.net/style_emoticons/default/biggrin.gif)
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
teletehnika
сообщение Jun 30 2010, 19:22
Сообщение #7


А нас мёдом не корми, Дай чего нибуть помалевать.
Иконка группы

Группа: Дизайнеры

Сообщений: 3,009
Регистрация:
23.9.2007
Из: Казахстан, Жезказган Рядом с Байконуром
Пользователь №: 967
Спасибо сказали: 1247

Вставить ник




Не хлопцы, не работает как пишите. Вообщем так, связался с разрабом и он мне скинул файл с открытым кодом без проблем.
Вот кусок с этой функцией:
КОД
function checkSessionPost($delete){
$AllFields = array('txtPaymentFirstName',  'txtPaymentLastName', 'txtPaymentAddress1', 'txtPaymentAddress2', 'txtPaymentCity', 'txtPaymentPostalCode', 'txtPaymentCountry');
$numRequired = count($AllFields);
$skeys= array_keys($_SESSION);
if($delete==1) {
  $pkeys= array_keys($_POST);
  for ($i = 0; $i < $numRequired; ++$i) {
   if (!in_array($AllFields[$i], $skeys)) {
    $_SESSION[$AllFields[$i]]="";
   } else {
     if (in_array($AllFields[$i], $pkeys)) {
      $_SESSION[$AllFields[$i]]=$_POST[$AllFields[$i]];
     }
   }
  }
} else {
  for ($i = 0; $i < $numRequired; ++$i) {
   if (in_array($AllFields[$i], $skeys)) {$_SESSION[$AllFields[$i]]="";}
  }
}
return;
}

Отличия наяву. Но работает.
Тема закрыта, вернее вопрос снят, спасибо кто принимал участие.
Рома, я постоянно в степях а там инета нету, завтра опять сваливаю.
Всем пока.
===================

Да, эта функция проверяет, все ключевые имена в сессии.
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
rAmantiK
сообщение Jun 30 2010, 19:29
Сообщение #8


Живу на АС
Иконка группы

Группа: Пользователи

Сообщений: 462
Регистрация:
23.5.2008
Из: Aktobe Kazahstan
Пользователь №: 3,888
Спасибо сказали: 51

Вставить ник




(IMG:http://antislaed.net/style_emoticons/default/happy.gif) На вахтовый метод подсел???
А степей у нас в Казахстане ОЧЕНЬ много, но мусора как показывает практика ВАЛОМ и везде. (IMG:http://antislaed.net/style_emoticons/default/sleep.gif)
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
teletehnika
сообщение Jun 30 2010, 19:31
Сообщение #9


А нас мёдом не корми, Дай чего нибуть помалевать.
Иконка группы

Группа: Дизайнеры

Сообщений: 3,009
Регистрация:
23.9.2007
Из: Казахстан, Жезказган Рядом с Байконуром
Пользователь №: 967
Спасибо сказали: 1247

Вставить ник




Не, не вахта. Просто сезонка.
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение

Ответить в данную темуНачать новую тему

3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
 

RSS Текстовая версия Сейчас: 25 November 2024 - 11:38
Хостинг предоставлен NetLevel.Ru   Eleanor CMS