Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - MXM

Страницы: [1] 2 3
1
Всем привет!
Ситуация: имеются 2 скрипта, необходимо объединить их так, чтобы выбранные значения (из второго скрипта) устанавливались (показывались) в том поле (в первом срипте) где находится курсор.

- Первый скрипт:
-- имеется два поля name="color_1" и name="color_2", каждое поле размещено в своей таблице. В поля устанавливаются, ручками, значения - RGB, которые берутся из палитры (2-ой скрипт). Далее введенные значения при сохранении передаются пхп-скрипту, который в свою очередь сохраняет их в БД. Другой скрипт забирая их из БД передаёт в style.css, последний в bgcolor для каждой таблицы в соответствии с установленными значениями. Тем самым мы видим наглядно цвет. Схема сложная.
<form action="styles.php" method="POST"

<
table ="#006600"
<
tr
<
td><input type="text" size="6" maxlength="6" name="color_1" value="#006600"></td
</
tr
</
table

<
table bgcolor="#FFA34F"
<
tr
<
td><input type="text" size="6" maxlength="6" name="color_2" value="#FFA34F"></td
</
tr
</
table

<
input type="submit" name="submit" value="Сохранить"
</
form>


- Второй скрипт:
<script language="JavaScript"><!-- 
lck=0
function 
r(hval
{ if ( 
lck == ) { 
document.f.c.value=hval; } } 
function 
l() 
{if (
lck == 0) { lck 1; } 
else { 
lck 0; } } 
//--></script> 
<table border=0 cellspacing=1 cellpadding=0
 <
tr
 <
td bgcolor=FFFFFF><a href="java script:l()" onmouseover="r(\'#FFFFFF\'); return true"><img src="aef.gif" width=15 height=15 border=0 alt=""></a></td
 <
td bgcolor=CCCCCC><a href="java script:l()" onmouseover="r(\'#CCCCCC\'); return true"><img src="aef.gif" width=15 height=15 border=0 alt=""></a></td
 <
td bgcolor=999999><a href="java script:l()" onmouseover="r(\'#999999\'); return true"><img src="aef.gif" width=15 height=15 border=0 alt=""></a></td
 <
td bgcolor=666666><a href="java script:l()" onmouseover="r(\'#666666\'); return true"><img src="aef.gif" width=15 height=15 border=0 alt=""></a></td
 <
td bgcolor=333333><a href="java script:l()" onmouseover="r(\'#333333\'); return true"><img src="aef.gif" width=15 height=15 border=0 alt=""></a></td
 <
td bgcolor=000000><a href="java script:l()" onmouseover="r(\'#000000\'); return true"><img src="aef.gif" width=15 height=15 border=0 alt=""></a></td
 </
tr
</
table
<
p><form name=f
RGB код: <input type=text size=10 name=c
</
form>

Комментарий: хотелось бы объеденить эти 2 скрипта и получить следующую схему работы:
- устанавливается курсор в любое из полей
- далее выбирается из палитры цвет и по щелчку мыши устанавливается в поле в котором находится курсор. При этом: уже при выборе цвета код RGB попадает в поле, а bgcolor таблицы подкрашивается в соответсвующему коду RGB.
Заранее спасибо за помощь!
P.S. Посмотреть наглядно скрипты можно:ЗДЕСЬ

2
Всем привет!

Ситуация следующая: в phpbb не предусмотренно выставление прав на раздел в форуме - "голосовать все", поэтому для этого устанавливается мод Allow Guest Voting ( http://phpbbhacks.com/download/553 )
После его установки появляется данная возможность.

Но есть маленькая проблемка, в ezPortal\'e ( http://www.phpbbhacks.com/category/34 ) есть вывод опросника, так вот, при таких действиях, получаю:
- я в админке поставил на определенный раздел форума права - голосовать все
- в portal.php указал тот самый раздел в форуме откуда брать опросник, и на котором установил права - голосвать все
- когда я захожу гостем в сам раздел форума там где опросник - выводится опросник с возможностью проголосовать
- а вот когда захожу гостем в portal.php, то опросник выводится без возможности голосования, пишет ниже опросника "Зайдите под логином, чтобы голосовать"...

Почему это происходит? И как это исправить?
Подсказывают, что нужно править код в portal.php.

Если кто встречал данную ситуацию и находил выход из нее, правил код, то поделитесь, пожалуйста!
Заранее благодарен!

3
Цитировать
RomikChef:
ограничимся пока эмпирическим правилом
Спасибо! Хорошо, пока ограничимся.

4
PHP / пустая строка
« : 10 Мая 2004, 12:32:55 »
Цитировать
RomikChef:
а оставлять топик с кривым кодом, смысла которого авор не знает - не стоит
Тебе конечно спасибо! Но если ты внимательно почитаешь топик, то думаю, со второй попытки у тебя получится увидеть, что я не писал, что не знаю смысл кода.

5
Цитировать
RomikChef:
пост надо использовать всегда, когда форма меняет данные на сайте.

а гет - когда отображает данные
Не много не понял различий? Ведь они оба яв-ся одними из методов передачи данных /пременных/. Мне очень интересно, можешь более подробно рассказть о них? Что для чего? В книгах твоё описание я нигде не встречал.

6
PHP / пустая строка
« : 10 Мая 2004, 11:33:54 »
Цитировать
RomikChef:
стереть ее надо, а не закрывать
Привет! Тогда, делаем так:
$fp
=fopen("../data/news.txt","r");    
$news=array();    
$i=0;    
while(!
feof($fp))    
{
$news[$i]=fgets($fp,10000);
if (
trim($news[$i])==\'\') continue;
...

Правильно?

7
Цитировать
ThE0ReTiC:
Поптому что гетом можно передать не более определенного количества байт (2 Килобайта, если не ошибаюсь)
передавай POST`ом
Соглашусь, т.к. как писал я выше:
Цитировать
MXM:
Скрипт начал работать при веденных 986 символах в разные поля.
- Затем я посчитал сколько символов, со всеми разделителями и т.д., записал скрипт после введенных "единиц", подсчет составил 2007 символов.

2007 символов ближе всего к 2 Килобайтам... ;) Значит так оно и есть. Спасибо всем! Думаю, что тему можно закрыть.

8
Цитировать
ThE0ReTiC:
method="GET" в форме стоит ?
Не стоит. Он же по умолчанию.
Цитировать
AliMamed:
MXM смысл в том, что почти наверняка ты пытаешься передать форму методом GET. а в таком случае следует использовать метод POST.
Да. Согласен. C POST\'ом всё работает. Но теперь возникает вопрос, почему в этом случае нужно использовать POST?
И почему с GET\'ом всё работает, но с описанными выше причинами?
Цитировать
AliMamed:
..указывай конкретное поведение. "скрипт отказывается" ни о чем не говорит.
Постараюсь исправится.

9
Всем привет!
Ситуация:
Пишу новостную ленту. Всё очень просто. В админке есть форма с тремя полями:
1 - вводишь дату, 2 - краткое описание новости, 3 - полное описание. Далее форму принимает скрипт, обрабатывает её и записывает в простой текстовый файл / запись в файл /.
В чём же проблема:
При добавлении большого количества информации скрипт отказывается принимать данные из формы. Большое количество инфы вписывается во второе и третье поле. Количество введенной информации: 482 символа.
Мои действия:
- Начал уменьшать количество инфы, скрипт принял форму при введенных 390 символов во 2-ом и 390 символов в 3-ем поле.
- Далее проверил сколько, вообще, можно добавить символов (подряд идущих, без пробелов, за пример взял единицы - 1).
Скрипт начал работать при веденных 986 символах в разные поля.
- Затем я посчитал сколько символов, со всеми разделителями и т.д., записал скрипт после введенных "единиц", подсчет составил 2007 символов.
Вопрос:
В чём может быть проблема? Почему такое расхождение: простой текст добавляет при 390 символах, при "сплошных" единицах 986? Кто устанавливает лимит вводимой инфы, количества символов? Как записать в файл большой объем информации?
Заранее спасибо!

10
PHP / пустая строка
« : 06 Мая 2004, 18:20:00 »
Снова всем привет!
Ответ найден, надо сделать проверку:$fp=fopen("../data/news.txt","r");
$news=array();
$i=0;
while(!
feof($fp))
{
$str=fgets($fp,10000);
 if(
$str==\'\'&&feof($fp)) break; /* принудительный выход из цикла без сохранения строки в массиве */
 $news[]=$str;}
fclose($fp);

Думаю, что тему можно закрыть.

11
PHP / пустая строка
« : 05 Мая 2004, 11:39:46 »
RomikChef, затрудняюсь ответить.

12
PHP / пустая строка
« : 04 Мая 2004, 20:42:56 »
RomikChef, прошу прощения, я хотел сказать, что file() не проходит, а не подходит, т.к. новостную ленту я хотел реализовать на fopen(). С идеей и её реализацией с тобой полностью согласен.

13
PHP / пустая строка
« : 04 Мая 2004, 20:31:07 »
RomikChef, к сожалению, file() не проходит.
Отнять единицу эта была моя первая мысль после появления пустой строки... вариант не подходит, минус единица приводит к не отображению последней внесенной новости...( хотя счетчик при этом работает точно...

14
PHP / пустая строка
« : 04 Мая 2004, 19:48:14 »
Цитировать
RomikChef:
потрясающая фантастика.

Для меня фантастика, я же ещё не волшебник...;)
Объяснить не могу (пожимаю плечами). Могу и заблуждаться.
После всех упрощений код стал:
$fp
=fopen("../data/news.txt","r");   
$news=array();   
$i=0;   
while(!
feof($fp))   
{
$news[$i]=fgets($fp,10000);   
 
$i++;}   
fclose($fp);
sort($news);
$nnews=count($news);   
print 
"Всего новостей - $nnews";   
for(
$i=0;$i<$nnews;$i++)   
{
$pt=explode(";",$news[$i]);   
print 
"<td>Номер новости: $pt[0]</td>\\n";
print 
"<td>Дата добавления: $pt[1]</td>\\n";
.   
и т.двывод на экран   
.}

Только, пустая строка остаётся пустой строкой...(

15
PHP / пустая строка
« : 04 Мая 2004, 18:03:24 »
FreeSpace, согласен, что имплоде/эксплоде это шедевр. Постараюсь больше не соверашать такие глупости.
RomikChef, почему пришпандориваю точку с запятой, потому чтоб отделить внесенную информацию, т.е. к примеру:
дата;краткая_запись_новости;полная_запись_новости .
Точка с запятой в коде и вправду лишняя, всё дело в том, что когда я вывожу все новости на экран:
sort($news);   
$nnews=count($news);   
print 
"Всего новостей - $nnews";   
for(
$i=0;$i<$nnews;$i++)   
{
$pt=explode(";",$news[$i]);   
print 
"<td>$pt[1]</td>\\n";   
.   
вывод на экран   
.   
}
, то я использую explode(). Explode() отличается от Implode() вот чем, приведу пример:
# НАЧАЛО отличие explode() от implode() #
$nomer=\'1|2|3|4|5|6|7|8|9|10|11|12|13\';
$nomer=explode(\'|\',$nomer);
echo "$nomer".\'<BR>\';
echo "$nomer[2]".\'<BR>\';
$nomer=implode(\'|\',$nomer);
echo "$nomer".\'<BR>\';
echo "$nomer[2]".\'<BR>\';
/*
Отображение на экране:
Array
3
1|2|3|4|5|6|7|8|9|10|11|12|13
2
*/
# КОНЕЦ отличие explode() от implode() #

Посему мне потребовалось добавить ";", чтоб корректно отобразить новости, но исходя из примера отличия, нужно было просто поменять номер доступа к элементам, или заменить эксплоде на имплоде, так как одно из различий это получения элемента по номеру доступа.
Отсюда код:...
while(!
feof($fp)) 
{
$news[$i]=fgets($fp,10000); 
$i++;}...
...{
$pt=explode(";",$news[$i]);   
print 
"<td>$pt[0]</td>\\n";...

Страницы: [1] 2 3