imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 20.03.2005, 20:41     # 1
v1s0r
Guest
 
Сообщения: n/a

Question Помогите с РНР...

Сразу скажу, что в РНР я не силен. Знаком поверхностно.

Значит нужен вот такой скрипт:
На сайте надо выложить список, ну допустим из 15-20 компонентов. Посетители, зайдя на сайт и выбрав один из них, ткнут на него(или нажмут на кнопку рядом- не это важно). Он должен исчезнуть из списка.
Если ещё сделать возможность выбора только одного компонента, чтобы не кликали на все подряд, было бы очень хорошо, но это не так важно

Р.С. Если я ошибаюсь и такое пишется не на РНР, то поправьте меня


Любая помощь приветствуется. Спасибо заранее.
 
Старый 20.03.2005, 20:53     # 2
uncleman
Newbie
 
Регистрация: 14.02.2005
Сообщения: 47

uncleman Путь к славе только начался
посоветовал бы на java script
uncleman вне форума  
Старый 20.03.2005, 21:05     # 3
v1s0r
Guest
 
Сообщения: n/a

Хмм.. мне бы хотя бы примерно набросать: что, как и к чему. Сам не напишу, а вот подправить или изменить немного чего смогу. Поэтому если найдется добрый человек - спасибо =)
 
Старый 21.03.2005, 10:12     # 4
Ghost
::VIP::
Звезда первого сезона
Молчун-2004
 
Аватар для Ghost
 
Регистрация: 24.08.2002
Сообщения: 1 575

Ghost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех Гуру
v1s0r
Держи:
Код HTML:
<HTML>
<HEAD>
<SCRIPT TYPE="text/javascript">
var isSelected = 0;
function mySelect(n) {
  if (isSelected != 0) { alert('низя-я-я-я!!!'); } else {
    var d = document.getElementById('img'+n);
    d.style['display'] = 'none';
    isSelected = 1;
  }
}
</SCRIPT>
</HEAD>
<BODY>
<IMG SRC="1.jpg" ALT="img1" ID="img1" onClick="javascript:mySelect(1);">
<IMG SRC="2.jpg" ALT="img2" ID="img2" onClick="javascript:mySelect(2);">
<IMG SRC="3.jpg" ALT="img3" ID="img3" onClick="javascript:mySelect(3);">
<IMG SRC="4.jpg" ALT="img4" ID="img4" onClick="javascript:mySelect(4);">
<IMG SRC="5.jpg" ALT="img5" ID="img5" onClick="javascript:mySelect(5);">
</BODY>
</HTML>
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы!
Ghost вне форума  
Старый 21.03.2005, 12:02     # 5
v1s0r
Guest
 
Сообщения: n/a

Ghost Спасибо большое, как раз то что нужно...
Но вот по своей глупости не написал все что мне нужно

Значит самое главное, что бы после того как кто то нажал и пропал image, то нужно чтобы следующий кто зашёл его уже не видел... Тоесть что-то типо выбора.. человек зашёл, выбрал одно и ушёл.. другой зашёл, перед ним список уже без выбранного.. он тоже что-то выбрал и ушёл.. ну и так далее..**

Надеюсь на этот раз объяснил именно так как хотелось бы +)
 
Старый 21.03.2005, 14:40     # 6
Ghost
::VIP::
Звезда первого сезона
Молчун-2004
 
Аватар для Ghost
 
Регистрация: 24.08.2002
Сообщения: 1 575

Ghost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех Гуру
v1s0r
Гыхм... Я так понимаю, список элементов для вывода где-то хранится - в базе данных или в файле - на сервере. JS не может изменять файлы на сервере, т.о. остаются два выхода:

1. Скрипт list.php формирует страницу со списокм элементов и ставит на каждый элемент ссылку на скрипт delete.php?n=<номер элемента>. Т.о. образом, при нажатии на элемент происходит загрузка скрипт delete.php, который удаляет элемент №n из списка на сервере, после чего перенаправляет вызов скрипту list.php: либо через JS (window.location='list.php';), либо через HTML (<META HTTP-EQUIV="REFRESH" CONTENT="10;URL=list.php">).

2. Оставляем предложенный мной скрипт, но в функцию mySelect() вставляем загрузку скрипта delete.php?n=<...> в какой-недь скрытый фрейм (framename.location='delete.php?n='+n;), причем этот скрипт делает только одно - удаляет нужный элемент их списка на сервере.

Вот сваял быстренько list.php и delete.php ;)
PHP код:
<?php
  $filename 
"list.txt";
  
$fp fopen ("$filename""r"); 
  
$s fread($fp,filesize("$filename"));
  
fclose($fp); 
  
$arr split("\n"$s);
  
reset ($arr); $i 0;
  while (list(, 
$value) = each ($arr)) { 
    echo 
"<a href=\"delete.php?n=$i\">$value</a>\n"
    
$i++;
  } 
?>
PHP код:
<?php
  $filename 
"list.txt";
  
$fp fopen ("$filename""r"); 
  
$s fread($fp,filesize("$filename"));
  
fclose($fp); 
  
$arr split("\n"$s);
  
reset ($arr); $i 0;
  
$fp fopen ("$filename""w"); 
  while (list(, 
$value) = each ($arr)) { 
    if (
$i != $n) { fwrite($fp"$value\n"); }
    
$i++;
  } 
  
fclose($fp); 
  echo 
"<SCRIPT TYPE=\"text/javascript\">";
  echo 
"  window.location='list.php';";
  echo 
"</SCRIPT>";
?>
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы!

Последний раз редактировалось Ghost; 21.03.2005 в 14:18. Причина: склероZzz...
Ghost вне форума  
Старый 21.03.2005, 16:15     # 7
v1s0r
Guest
 
Сообщения: n/a

Ghost
Спасибо большое .. вроде работает, проблемы теперь на сервере :
"Warning: fopen(list.txt): failed to open stream: Permission denied in /www/data11/user/..."
Ну и ещё кое-что, но с этим разберусь...

А вот меня интересует второй способ, о котором ты написал. Он же не требует поддержку РНР на сервере.
Java я не знаю, поэтому делал по интуиции :

по твоим словам надо было изменить на
function mySelect(framename.location='delete.php?n='+n

Но это мне ничего не дало... надеюсь подскажешь бедному юзеру
 
Старый 21.03.2005, 16:32     # 8
Ghost
::VIP::
Звезда первого сезона
Молчун-2004
 
Аватар для Ghost
 
Регистрация: 24.08.2002
Сообщения: 1 575

Ghost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех Гуру
v1s0r
Он требует PHP на сервере! Любые действия с изменениями данных, хранящихся на сервере, а именно это и приходится делать при удалении элемента из списка, требуют серверных скриптов - PHP, Perl, ASP и проч. Короче - CGI. Второй способ отличается от первого только тем, что визальное удаление со страницы происходит мгновенно (через JS), а действительное удаление (из списка на сервере) происходит в фоне в некотором скрытом фрейме и не видно. Тем не менее, все равно необходимо писать скрипт delete.php на сервере (достаточно будет без последних трех строчек с echo). И перед этим потребуется создать этот самый скрытый фрейм:
Код HTML:
<IFRAME SRC="about:blank" NAME="..." STYLE="display: none;"></IFRAME>
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы!
Ghost вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 18:02.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.