Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Постановка условия

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Как правильно поставить условие
Chessy
Отправлено: 08 Октября, 2007 - 09:23:18
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Сент. 2007  


Помог: 0 раз(а)




Добрый день, не знаю как правильно поставить условие: есть 2 массива, если вызов программы происходит с русской странички, то работает один массив, а если программа вызывается с английской странички, то работает второй массив. Примерно так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $a=array();
  3. $b=array();
  4. $lang;
  5. if ($lang="ru") //не уверена, что это правильно
  6. $a;
  7. else $b;
  8.  

Помогите, пожалуйста - очень-очень надо :cry2:!!!!
Спасибо!!!
 
 Top
EuGen Администратор
Отправлено: 08 Октября, 2007 - 09:28:03
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Что значит - "работает один массив .." и в каком контексте нужно различать русские и английские запуски скрипта ?((* ..Если можно, то полностью огласите в чем же задача состоит, так легче будет (* А то я так не очень понял, в чем собственно проблема.. в использовании if чтоли ?((*


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Chessy
Отправлено: 08 Октября, 2007 - 11:23:53
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Сент. 2007  


Помог: 0 раз(а)




Есть таблица, которая должна находиться на сайте и в русском варианте, и в английском. В массиве $а находится шапка этой таблицы на русском языке, а в $b - на английском. И с русскоязычной страницы, и с англоязычной я даю ссылку на мою таблицу, - т.е. при переходе пользователя на страницу на русском языком языке, он видит таблицу с шапкой на русском языке и, соответственно, если пользователь читает сайт на английском языке - он видит таблицу с шапкой на английском языке. Таким образом, если моя таблица вызывается из русского варианта сайта, то в нее вставляются данные из массива $а, иначе - из массива $b. Вот, постаралась объяснить:shuffle: - заранее спасибо
 
 Top
EuGen Администратор
Отправлено: 08 Октября, 2007 - 11:42:34
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Так а в чем проблема? (*..
Сделайте так, чтобы у Вас на сайте был параметр lang. Если он равен "en", то считается, что юзер хочет посмотреть сайт на английском - "ru" - на русском, "js" - на японском и т.п. ..
Иначе говоря формируйте ссылку на Ваш скрипт вида
PHP:
скопировать код в буфер обмена
  1.  
  2. your_script.php?lang=en&...//далее список Ваших обычных параметров
  3.  

На главной странице сайта сделайте пользователю возможность выбрать язык, а по умолчанию считайте язык просмотра равным, например, ru. И после того, как пользователь выбрал язык, на всех страницах во все ссылки и формы просто дописывайте языковой параметр.
А внутри скрипта считывайте $_GET['lang'] или $_POST['lang'] и соответственно загружайте нужные вым данные из нужных массивов.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
valenok Модератор
Отправлено: 08 Октября, 2007 - 23:48:56
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Опретаторы сравнения
Котрольные структуы: If

По второй ссылке ещё есть что называемая case
О ней тоже полезно прочитать.

Основы php. Поэтому если хотите в конце чтото дейтсвительно написать, прочтите это.


-----
Truly yours, Sasha.
 
My status
 Top
Chessy
Отправлено: 11 Октября, 2007 - 09:54:25
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Сент. 2007  


Помог: 0 раз(а)




Добрый день, эту задачку я решила, но другим способом, и попыталась сделать как вы мне посоветовали не получилось: понятно, что это от недостатка знаний, но в инете тоже не нашла ответа (наверное, не так искала), там в основном как формировать запрс в форме и я никак не могу понять куда же вписать значение параметра $lang, то есть как передать в строке запроса его значение? Чтоб был понятен мой вопрос приведу пример:
1.php - вызывает вышеописанный код
PHP:
скопировать код в буфер обмена
  1.  
  2. require ("Cod.php") //- как сюда вписать значение моего параметра $lang?
  3.  

Я понимаю, вопрос слишком прост, но мне очень хочется понять как же это можно сделать
Большое спасибо!!!
 
 Top
EuGen Администратор
Отправлено: 11 Октября, 2007 - 10:01:42
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. //Для GET-запроса к скрипту (проще говоря, через ссылку)
  3. <a href="yuor_script.php?lang=en">Посмотрите мой сайт на английском</a>
  4. <a href="yuor_script.php?lang=ru">Посмотрите мой сайт на русском</a>
  5. <a href="yuor_script.php?lang=ch">Посмотрите мой сайт на китайском</a>
  6. //Для POST-запроса (вариант с hidden-полями) - через формы
  7. <form action="your_script.php" method="POST">
  8. <input type="hidden" name="lang" value="en">
  9. <input type="submit" value="Посмотрите мой сайт на английском">
  10. </form>
  11.  
  12. <form action="your_script.php" method="POST">
  13. <input type="hidden" name="lang" value="ru">
  14. <input type="submit" value="Посмотрите мой сайт на русском">
  15. </form>
  16.  
  17. <form action="your_script.php" method="POST">
  18. <input type="hidden" name="lang" value="ch">
  19. <input type="submit" value="Посмотрите мой сайт на китайском">
  20. </form>
  21. //Или более продвинутый вариант - с элементом управления
  22.  
  23. <form action="your_script.php" method="POST">
  24. <input type="radio" name="lang" value="en">Английский язык
  25. <input type="radio" name="lang" value="ru">Русский язык
  26. <input type="radio" name="lang" value="ch">Китайский язык
  27. <input type="submit" value="Посмотрите мой сайт">
  28. </form>
  29.  


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
valenok Модератор
Отправлено: 11 Октября, 2007 - 13:16:55
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Не надо ничего туда вписывать.
представьте что вместо строки require | include
стоит 5 страниц вашего кода, только вместо того чтобы там было 500 строк кода, написанна одна - require


-----
Truly yours, Sasha.
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB