|
|
|
| Тема :http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=5647&page=1
<html>
<head>
<script language=JavaScript>
function _Submit(){
document.vars.myvar.value="ToPHP";
document.vars.submit();
}
</script>
</head>
<body>
<?php echo $HTTP_GET_VARS['myvar'];
echo $HTTP_GET_VARS['CountCol'];
?>
<form action="form.php" method="get" name="vars">
<textarea name="myvar" style="display:none" value="1"></textarea>
<INPUT TYPE="hidden" NAME="CountCol" VALUE="2">
<input type="button" value="ToPHP" onclick = "_Submit();">
</form>
</body>
</html>
Может это какнбть поможет, или это не в тему?
|
| |
|
|
|
|
|
|
|
для: lena
(26.07.2005 в 12:13)
| | HTML-форма отправит формулу в раздробленном виде и её можно будет создать в обработчике. При создании таблицы может быть несколько вариантов - много полей под каждый из элементов формы и одно поле под готовую форумулу, по которой потом и искать изображение. | |
|
|
|
|
|
|
|
для: cheops
(26.07.2005 в 13:15)
| | Лучше одно поле под готовую формулу.
<script language=JavaScript>
function _setImage(){
var formula = "ВР32-" +
document.getElementById('ampere_rating_text').innerHTML + "-" +
document.getElementById('removable_lever_text').innerHTML +
document.getElementById('number_pole_text').innerHTML +
document.getElementById('explosion_chamber_text').innerHTML+
document.getElementById('outer_clamp_text').innerHTML +
document.getElementById('handle_lever_text').innerHTML +
document.getElementById('auxiliary_contact_text').innerHTML+ "-" +
document.getElementById('degree_protection_text').innerHTML
alert(formula)
document.getElementById('aircraft').src="images/" + formula + ".jpg"; // тут
меняется картинка
}
</script>
|
этот JS собирает формулу в одно
а как запрос послать теперь в базу? | |
|
|
|
|
|
|
|
для: lena
(26.07.2005 в 15:47)
| | Значение formula следует записать в скрытое поле HTML-формы, так чтобы оно передалось в PHP-обработчик HTML-формы. | |
|
|
|
|
|
|
|
для: cheops
(26.07.2005 в 19:40)
| | Да formula пошлется если будет кнопка внизу формы на отправку данных. А мне нужно чтобы картинка менялась при клике на радио кнопку:))
Я отправляю данные так
document.getElementById('aircraft').src = "image.php?formula="+formula;
|
А в файле image.php
написано
<?php require_once('Connections/cat.php'); ?>
<?php
mysql_select_db($database_cat, $cat);
$sql=mysql_query("SELECT 'image' from 'subdirectorys' where 'nomer'='".$_GET['formula']."'");
$path=mysql_result($sql,0,0);
$filename=$SERVER["DOCUMENT_ROOT"]."".$path;
$f=fopen($filename, "r");
$image = fread($f, filesize($filename));
fclose($f);
header("Content-type: image/gif");
echo $image;
$img=$sql('image');
?>
|
но картинка не меняется (пропадает) | |
|
|
|
|
|
|
|
для: lena
(28.07.2005 в 19:08)
| | А в смысле картинка не меняется (пропадает)?
Параметр formula приходит?
Файл $filename открывается?
В переменной $image что-нибудь имеется? | |
|
|
|
|
|
|
|
для: cheops
(29.07.2005 в 00:33)
| | Мне не нужно чтобы на странице все происходило (без перегрузки).
]На Счет отправки formula
Я проверяла запрос таким образом.
document.location.href = "image.php?formula="+formula;
|
image.php переписала на
<?php require_once('Connections/cat.php'); ?>
<?php
$image=$_GET['formula'];
echo "$image";
mysql_select_db($database_cat, $cat);
$query_Recordset1 = "SELECT * FROM subdirectorys WHERE subdirectorys.nomer='".$_GET['formula']."'";
$Recordset1 = mysql_query($query_Recordset1, $cat) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<?php echo "<img src=".$row_Recordset1['image'].">"; ?>
<?php
mysql_free_result($Recordset1);
?>
|
тогда все получается только на странице image.php:((
Но меня это не устраивает (если можно так сказать)
]На Счет открытия файла
image.php переписать на
<?php require_once('Connections/cat.php'); ?>
<?php
mysql_select_db($database_cat, $cat);
$sql=mysql_query("SELECT 'image' from 'subdirectorys' where 'nomer'='".$_GET['formula']."'");
$path=mysql_result($sql,0,0);
$filename=$SERVER["DOCUMENT_ROOT"]."".$path;
$f=fopen($filename, "r");
$image = fread($f, filesize($filename));
fclose($f);
header("Content-type: image/gif");
echo $image;
?>
|
Тогда выходит ошибка
Warning: Cannot modify header information - headers already sent by (output started at z:\home\localhost\www\test\koren\image.php:2) in z:\home\localhost\www\test\koren\image.php on line 10
|
И на всю страницу Буквы различных кодировок.
На счет картинки
На месте где должна быть картинка красный крестик
Извините меня за невежество:(( | |
|
|
|
|
|
|
|
для: lena
(29.07.2005 в 10:39)
| | >Мне не нужно чтобы на странице все происходило (без перегрузки).
Совсем без перезагрузки не получится - так как база данных находится на сервере и чтобы обратиться к ней с клиентской страницы - её придётся перезагружать - тут даже можно не пытаться искать обходные пути.
>Тогда выходит ошибка
Куки, сессии, отправка заголовков должны происходить до отправки любой информации в окно браузера, т.е. до любого вывода echo, print или непосредственного вывода вне тэгов <?php и ?>. Это связано с тем, что HTTP-заголовки передаются перед всеми данными и когда происходит вывод в окно браузера PHP вынужден их пред этим отослать клиенту. Поэтому повторно, после вывода информации в браузер он не может работать с куками, сессиями и отправлять заголовки.
Если вывод текста до отправки заголовков необходим следует воспользоваться функциями управления вывода, позволяющих задерживать вывод информации в браузер.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=837
Т.е. до заголовка
<?php
header("Content-type: image/gif");
?>
|
не должно быть никакого вывода в окно браузера.
>Извините меня за невежество:((
Извиняться не за что :) так как мы руботаем с вами удалённо, я просто пытаюсь выяснить всю информацию, которая поможет решению проблемы. Отсюда обилие вопросов с моей стороны. | |
|
|
|
|
|
|
|
для: cheops
(29.07.2005 в 12:43)
| | Насчет перегрузки страницы...
Тогда форма с радио кнопками встанет по умолчанию (checked)
и клиенту не видно что же он до этого выбирал. | |
|
|
|
|
|
|
|
для: lena
(29.07.2005 в 15:06)
| | Следует проверять значения POST-параметров и выставлять checked программно при помощи PHP. Т.е.
<input type='radio' name='blabla' value='1' <? if($_POST['blabla'] == 1) echo "checked"; ?>>
|
и так для каждого поля. | |
|
|
|
|
|
|
|
для: cheops
(29.07.2005 в 17:28)
| | Да это вариант. Но задумка изначально : незаметная для пользователя смена картинок.
Иллюзия "Конструктора". А перегрузка страницы будет заметна. | |
|
|
|
|
|
|
|
для: lena
(01.08.2005 в 10:50)
| | Тогда все элементы конструктора придётся загружать на машину клиента и собирать форумулу из них - если их очень много, время загрузки страницы может возрасти значительно. | |
|
|
|
|
|
|
|
для: cheops
(01.08.2005 в 13:31)
| |
document.getElementById('aircraft').src ="image/"+formula+".jpg";
|
В таком варианте картинка грузится напямую, не через MySql.
Разве нет способов создавать запросы без перезагрузки: невидемые окна, фреймы, которые обрабатывают запросы? | |
|
|
|
|
|
|
|
для: lena
(01.08.2005 в 14:21)
| | >Разве нет способов создавать запросы без перезагрузки:
>невидемые окна, фреймы,
Но их всё-равно придётся перезагружать. | |
|
|
|
|
|
|
|
для: cheops
(01.08.2005 в 18:20)
| | Таким образом перегружается невидимый слой или страница, но форма остается перед глазами пользователя. Вы что нибудь знаете про такой трюк? | |
|
|
|
|
|
|
|
для: lena
(01.08.2005 в 22:34)
| | Я знаю, что он есть, но предпочитаю не испльзовать его, так как это приводит к значительному усложнению программного проекта, и, следовательно, к увеличению числа ошибок. | |
|
|
|
|
|
|
|
для: cheops
(29.07.2005 в 17:28)
| | Можно я подниму эту тему снова?
<input type='radio' name='blabla' value='1' <? if($_POST['blabla'] == 1) echo "checked"; ?>
|
Этот вариант мне кажется не подойдет ?
т.к. формула соединяется в одно целое.
Каждую составляющую формулы надо передовать как отдельную переменную? | |
|
|
|
|
|
|
|
для: lena
(23.08.2005 в 13:05)
| | >Этот вариант мне кажется не подойдет ?
А почему?
>Каждую составляющую формулы надо передовать как отдельную переменную?
Да, каждый <input type='radio' следует обрабатывать таким образом. | |
|
|
|
|
|
|
|
для: cheops
(23.08.2005 в 13:56)
| |
<script language=JavaScript>
function _setImage(){
var formula = "BP32" +
document.getElementById('ampere_rating_text').innerHTML +
document.getElementById('removable_lever_text').innerHTML +
document.getElementById('number_pole_text').innerHTML +
document.getElementById('explosion_chamber_text').innerHTML +
document.getElementById('outer_clamp_text').innerHTML +
document.getElementById('handle_lever_text').innerHTML +
document.getElementById('auxiliary_contact_text').innerHTML +
document.getElementById('degree_protection_text').innerHTML ;
document.location.href = "test.php?formula="+formula;
}
</script>
|
формирует BP3231B1010000.jpg
из которой BP, 32, 31 отдельные радиокнопки, а в базу передается BP3231B1010000.jpg, но обратно не передается по отдельности. | |
|
|
|
|
|
|
|
для: cheops
(26.07.2005 в 19:40)
| | Может я не в том направлении двигаюсь? | |
|
|
|