Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> php+javascript - парочка вопросов новичка, парс переменных 
:(
    Опции темы
Scope
  Дата 7.8.2008, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 3.6.2007

Репутация: нет
Всего: нет



Итак, есть задача- открыть в PHP попап окошко фиксированного размера, слева отобразить картинку, справа описание устройства (на двух языках, в зависимости от значения переменной "set_language", отображаемой в адрессной строке исполняющего php документа), снизу кнопку ОК(типа закрыть).

Создаём попап строчкой:
Код
<a href=javascript:popUp('"; echo $str; echo "')>
Где переменная $str указывает местонахождение картинки.

Далее в яваскрипте по совету одного товарища было решено открывать заранее сформированный php документ:
Код
function popUp_details(URL) {
....
popwin=window.open("detail_popup.php,"",look)
Ну и собственно вопрос- как передать ещё одну переменную "set_language" в яваскрипт и оттуда в php документ передать переменные "URL" и "set_language"?

Код detail_popup.php:
Код

<title>Closer view</title><head>
<link rel=StyleSheet href="corporatestyle.css" type="text/css" media="screen"></head>
<body bgcolor="#FFFFFF" leftmargin=0 rightmargin=0 topmargin=0 bottommargin=0 marginheight=0 marginwidth=0>
<?php include "lang.php";?>
<TABLE cellpadding=0 cellspacing=0 border=0 width="100%" height="100%" ><tr><td align="center">
<center><br>
<TABLE cellpadding=0 cellspacing=0 border=1 bordercolor="000000"><tr><td>
<img src= "ссылка на пикчу, взятая из переменной URL, переданной в яваскрипт">
</td></tr></table>
<td width="100%" align=center><?php echo "а здесь текст на двух языках из файла lang.php, в зависимости от переменной set_language, переданной в яваскрипт"?></td>
</td></tr><tr><td colspan="2" valign="bottom" align="center">
<br><form><input type=submit value="OK" class="button-popups" onClick=\'self.close()\'></form><br>
</center>
</td></tr></table>
</body>


Это сообщение отредактировал(а) Scope - 7.8.2008, 11:59
PM MAIL   Вверх
bars80080
Дата 7.8.2008, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



допустим кнопки:
Код

<input type="button" value="по-русски" onclick="popUp_details(URL, 'ru')" />
<input type="button" value="по-немецки" onclick="popUp_details(URL, 'de')" />

функция
Код

function popUp_details(URL, lang) {
....
popwin=window.open('detail_popup.php?lang' + lang,"",look)

php-скрипт
Код

<?php
if(!empty($_GET['lang'])) $lang = $_GET['lang']; else $lang = 'ru';
// желательно сделать проверку на допустимые значения lang
include('language_'.$lang.'.php');

?>


Добавлено через 1 минуту и 2 секунды
проглядел, ну на ссылке тож самое
PM MAIL WWW   Вверх
Scope
Дата 7.8.2008, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 3.6.2007

Репутация: нет
Всего: нет



передаём переменную в яваскрипт строкой: 
Код
<a href=javascript:popUp_details('".$str.','.$details_lang."')>

З.Ы.: не получается "по человечески"(см. код ниже) написать этот кусок, ругается на ошибку
Код
<a href="#" onclick="javascript:popUp_details('".$str.','.$details_lang."')>


обрабатываем в яваскрипте:
Код
function popUp_details(URL, lang) {
...
popwin=window.open("detail_popup.php?url=" +URL+ "&lang=" +lang,"",look)


на выходе получаем: 
Код
/detail_popup.php?url=../gallery/108.jpg,rus&lang=undefined


 smile что не так?

Это сообщение отредактировал(а) Scope - 7.8.2008, 21:01
PM MAIL   Вверх
Onis
Дата 7.8.2008, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

Репутация: 1
Всего: 3



Цитата(Scope @  7.8.2008,  21:00 Найти цитируемый пост)
З.Ы.: не получается "по человечески"(см. код ниже) написать этот кусок, ругается на ошибкукод
 PHP1:
<a href="#" onclick="javascript:popUp_details('".$str.','.$details_lang."')>


Напиши строку которой ты выводишь этот линк. Если через print то вроде не правильно, если не через print... тоже вроде не верно.

Это сообщение отредактировал(а) Onis - 7.8.2008, 21:24
PM MAIL   Вверх
bars80080
Дата 7.8.2008, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



ну потому что надо писать не через пень колоду, а аккуратно разделяя переменные и литералы

Код

<a href="#" onclick="javascript:popUp_details('".$str."','".$details_lang."')>
 наверно, так, но не видя всего кода рисующего эту ссылку не поручусь
PM MAIL WWW   Вверх
Scope
Дата 7.8.2008, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 3.6.2007

Репутация: нет
Всего: нет



Функция целиком:
Код
deleted


Это сообщение отредактировал(а) Scope - 8.8.2008, 01:48
PM MAIL   Вверх
bars80080
Дата 7.8.2008, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



Код
echo '<table width="100" border="0" cellpadding="0" cellspacing="0" class="pictire"><tr>
         <td><a href="javascript:popUp_details(\''.$str.'\',\''.$details_lang.'\');"><img src="'.$name.'" width="98" height="73" border="0" /></a></td>
  </tr></table>';  
 так вернее будет

Это сообщение отредактировал(а) bars80080 - 7.8.2008, 21:53
PM MAIL WWW   Вверх
Onis
Дата 7.8.2008, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

Репутация: 1
Всего: 3



Цитата(bars80080 @  7.8.2008,  21:52 Найти цитируемый пост)
 так вернее будет


А так вроде правильнее:
Код

echo " <table width='100' border='0' cellpadding='0' cellspacing='0' class='pictire'>
        <tr>
            <td><a href=\"javascript:popUp_details('".$str."', '".$details_lang."')\"><img src='
    ";


Добавлено @ 22:01
А нет. У вас быстродействие выше будет.

Добавлено @ 22:06
Чем меньше сtрок заключено в двойные ковычки тем лучше, интерпретатор в строке заключенной в двойные ковычки ищет переменные и заменяет на их значения. А в одинарных ковычках всё по дефолту идет как текст.

Код

$a = 5;

print '$a'; // $a

print "$a"; // 5
 

Тупанул.  smile 

Это сообщение отредактировал(а) Onis - 7.8.2008, 23:01
PM MAIL   Вверх
bars80080
Дата 7.8.2008, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



это не принципиально, когда программа провисает на нерациональных модулях, которые наверняка будут

PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1063 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.