|
|
|
| Как передать переменную чекбокса (checkbox) из одной формы в другую с учетом того что потом она будет передаваться еще в одну форму. Вот код:
<?
include "connect.php";
mysql_select_db($DB);
echo "<form action='updat.php' method='POST'>";
echo "<table border=1 cellspacing='0' width=100% bgcolor='#00CCCC'>";
echo "<tr bgcolor='#6666FF' colspan='2'><td>№</td><td>Дата</td><td>Подразделение</td><td>Участок</td><td>Механизм</td><td>Кол-во м/ч</td><td>Подразд.заказчик</td><td>Участок заказчик</td></tr>";
$r=mysql_query("select * from tbl");
for ($i=0; $i<mysql_num_rows($r); $i++)
{
echo "<tr>";
$f=mysql_fetch_array($r);
echo "<td><INPUT type='checkbox' name='numer[]' value='$f[numer]'>$f[numer]</td><td>$f[data]</td><td>$f[podrazd]</td><td>$f[uchastok]</td><td>$f[mehanizm]</td><td>$f[kol_vo]</td><td>$f[usl_podr]</td><td>$f[usl_uch]</td>";
echo "</tr>";
?>
|
| |
|
|
|
|
|
|
|
для: Felix
(17.11.2004 в 08:41)
| | >Как передать переменную чекбокса (checkbox) из одной формы в другую
Имеется ввиду передача из одного скрипта в другой, а затем еще в один? Или что то другое?
В случае Вашего кода, после того как будет нажата кнопка "Submit" и данные формы будут отосланы скрипту 'updat.php' – в нем будет создан массив $_POST['number'], которые и будет содержать все значения checkbox-ов. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(17.11.2004 в 09:07)
| | Да имеется в виду передача из одного скрипта в другой а затем еще в один и еще и еще всего 8 штук.
Вот я и незнаю как протащить эту переменную через все скрипты не потеряв нигде.
А как это будет выглядеть в виде кода ? У меня ума не хватает чтото. А именно как это будет выглядеть в скрипте в который передадуться переменные в данном случае в updat.php | |
|
|
|
|
|
|
|
для: Felix
(17.11.2004 в 11:19)
| | Хм, тут, наверное, зависит от задачи. Что Вы хотите делать с этими переменными в другом скрипте?
Из формы будут переданы только те значения чекбоксов, которые были "отмечены".
Вот пример формы:
<form action="action.php" method="post">
<input type="checkbox" name="ch[]" value="1"> 1<br>
<input type="checkbox" name="ch[]" value="2"> 2<br>
<input type="checkbox" name="ch[]" value="3"> 3<br>
<input type="checkbox" name="ch[]" value="4"> 4<br>
<input type="checkbox" name="ch[]" value="5"> 5<br>
<input type="submit" value="Послать">
</form>
|
Скрипт-обработчик action.php
<?
// Присваиваем переданные из формы данные переменной $ch
$ch = $_POST['ch'];
// Выводим содержимое массива на экран
foreach ($ch as $val)
{
echo $val."<br>";
}
?>
|
Значения выделенных чекбоксов переданы. Как их использовать далее - зависит от задачи.
Расскажите - подумаем вместе. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(17.11.2004 в 13:35)
| | Рассказываю :
Далее нужно значение этих же выделенных чекбоксов передать в следущую форму т.е. в следущий скрипт в скрытом поле (hidden) .
Я попробовал передать $ch но у меня не вышло. Вместо значений пишет Array и все. | |
|
|
|
|
|
|
|
для: Felix
(17.11.2004 в 13:51)
| | Можно сделать так:
Во втором скрипте автоматически формируем скрытые поля с именем ch.
И по отправке данных формы следующему скрипту перейдут и значения того же самого массива.
<form action="nextaction.php" method="post">
<?
foreach ($ch as $val)
{
echo '<input type=hidden name=ch[] value='.$val.'>';
}
?>
<input type="submit" value="Послать">
</form>
|
| |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(17.11.2004 в 21:33)
| | Спасибо за помощь, с этим вроде бы все.
Есть еще вопрос как сделать проверку на правильность вводимой пользователем формата даты. к примеру надо чтобы пользователь мог ввести дату в форму только в формате гггг.мм.дд и никак подругому. | |
|
|
|
|
|
|
|
для: Felix
(18.11.2004 в 06:16)
| | Можно воспользоваться регулярными выражениями - следующее регулярное выражение не полностью проверяет корректность ввода, но форма ввода (гггг.мм.дд) будет правильной...
<?php
// гггг.мм.дд
$date = "2004.11.18";
if(!preg_match("|^[0-9]{4}.[0-9]{2}.[0-9]{2}$|i", $date))
{
echo "Введите дату в формате гггг.мм.дд";
}
else
{
echo "Дата введена правильно";
}
?>
|
http://www.softtime.ru/group/id_group=3 | |
|
|
|
|
|
|
|
для: Felix
(17.11.2004 в 08:41)
| | Вот что вышло у меня:
<?php
if(!isset ($_GET['level']) )
{
echo '
<form action="index.php?level=1" method="post">
Ââåäèòå âàø íèê ???<br><br>
<input name="name" type="text" value=""><br><br>
<input type="submit" value="Send">
</form>';
}
elseif( $_GET['level'] == '1' )
{
if ( !isset($_POST['name']) )
{
echo 'Âû íå çàïîëíèëè ïàðàìåòðû <<< <a href="index.php">íàçàä</a>';
}
else
{
echo '
<form action="index.php?level=2" method="post">
<input name="name" type="hidden" value="'.$_POST['name'].'">
Êàê âàì ýòîò ôîðóì ???<br><br>
<input type="radio" name="ocenka" value="Îòëè÷íî"> Îòëè÷íî<br>
<input type="radio" name="ocenka" value="Õîðîøî"> Õîðîøî<br>
<input type="radio" name="ocenka" value="Ìíå ïîôèãó"> Ìíå ïîôèãó<br>
<input type="radio" name="ocenka" value="Ôèãíÿ"> Ôèãíÿ<br><br>
Âàøè êîììåíòàðèè...<br><br>
<textarea name="comment" cols="40" rows="8"></textarea><br><br>
<input type="submit" value="Send">
</form>
';
}
}
elseif ( $_GET['level'] == '2' )
{
if ( !isset ($_POST['name'],$_POST['ocenka'], $_POST['comment']) )
{
echo 'Âû íå çàïîëíèëè ïàðàìåòðû <<< <a href="javascript:history.back()">íàçàä</a>';
}
else
{
$to = 'namo@pochta.ru';
$subject = 'Script';
$text = "Èìÿ: $_POST[name]\nÎöåíêà: $_POST[ocenka]\nÊîììåíòàðèè:\n $_POST[comment]\nÊîíåö";
mail($to,$subject,$text);
echo 'Ñïàñèáî çà ó÷àñòèå :)';
}
}
else
{
echo '<script>location = "index.php"</script>';
}
?>
|
| |
|
|
|