<?php
error_reporting(E_ALL & ~E_NOTICE);
////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////
require_once("class.field.php");
class field_checkbox extends field
{
public $name;
// Размер
public $size;
//Отступ сверху
protected $top;
//Отступ слева
public $checked;
protected $left;
// Конструктор класса
function __construct($name,
$caption,
$checked = "checked",//Checked
$size = 30)
{
$this->name = $name;
$this->caption = $caption;
$this->checked = $checked;
$this->type = "checkbox";
}
// Метод, для возврата имени названия поля
// и самого тэга элемента управления
function get_html()
{
// Если элементы оформления не пусты - учитываем их
if(!empty($this->css_style))
{
$style = "style=\"".$this->css_style."\"";
}
else $style = "";
if(!empty($this->css_class))
{
$class = "class=\"".$this->css_class."\"";
}
else $class = "";
// Если определены размеры - учитываем их
// Формируем тэг
$tag = "<td><input $style $class
type=\"".$this->type."\"
name=\"".$this->name."\"
$this->checked></td></tr>";
$this->caption = "<tr><td>".$this->caption."</td>";
// Если поле обязательно, помечаем этот факт
echo $this->caption;
echo $tag;
}
}
?>
вроде бы по умолчанию я сделал так, что у меня checked, а вот куда запишется значение checked или не checked когда пользователь изменит с checked на неckecked (кстати, как это будет записано?) я не знаю. подскажите пожалуйста. может как-то класс надо малость подправить?
Спустя 59 секунд (20.07.2010 - 17:31) _Dimarik__ написал(а):
это дело будет передаваться методом POST и помещаться в базу данных
Спустя 2 часа, 25 секунд (20.07.2010 - 19:31) KaFe написал(а):
Не тестил , но подправил
<?php
require_once("class.field.php");
class field_checkbox extends field
{
public $name;
public $size;
protected $top;
public $checked;
protected $left;
function __construct($name, $caption, $checked = "checked", $size = 30)
{
$this->name = $name;
$this->caption = $caption;
$this->checked = $checked;
$this->type = "checkbox";
}
public function get_html()
{
if($this->css_style) $style = ' style="'.$this->css_style.'" ';
if($this->css_class) $class = ' class="'.$this->css_class.'" ';
$tag = '<td><input '.$style.$class.'type="'.$this->type;
$tag.= ' name="'.$this->name.'" '.$this->checked.'</td></tr>';
$this->caption = '<tr><td>'.$this->caption.'</td>';
echo $this->caption;
echo $tag;
}
/*
* Функция для снятия флажка с checkbox
*/
public function unchecked()
{
unset($this->checked)
}
}
?>
Спустя 55 минут, 8 секунд (20.07.2010 - 20:26) sergeiss написал(а):
А зачем целый класс создавать для чек-бокса?
Спустя 12 минут, 52 секунды (20.07.2010 - 20:39) _Dimarik__ написал(а):
он много раз будет использоваться.
а чтоб в другом файле мне просмотреть значение этой переменной, надо так сделать???
выдаёт ошибки:
Notice: Undefined variable: objShow in C:\wamp\www\1.php on line 2
Notice: Trying to get property of non-object in C:\wamp\www\1.php on line 2
а чтоб в другом файле мне просмотреть значение этой переменной, надо так сделать???
<?php
echo "$$_SERVER['objShow']->checked";
?>
выдаёт ошибки:
Notice: Undefined variable: objShow in C:\wamp\www\1.php on line 2
Notice: Trying to get property of non-object in C:\wamp\www\1.php on line 2
Спустя 2 минуты, 41 секунда (20.07.2010 - 20:42) Ice написал(а):
Действительно, зачем? Не то, что для чекбокса создавать, а вообще зачем создавать класс для вывода ХТМЛ? Плюсы-минусы? Мне кажется, от делать нечего.
Спустя 11 минут, 31 секунда (20.07.2010 - 20:53) _Dimarik__ написал(а):
хорошо. сделаю просто в html. подскажите только пожалуйста. мне надо записать в переменную, checked или unceched. как это сделать?
if (POST[checkbox1'] == "unchecked")
echo "не выбран";
else
echo "выбран";
так?
if (POST[checkbox1'] == "unchecked")
echo "не выбран";
else
echo "выбран";
так?
Спустя 2 минуты, 36 секунд (20.07.2010 - 20:56) sergeiss написал(а):
_Dimarik__ - если ты хочешь проверить состояние, но не знаешь, как это сделать, то выполни при входе в скрипт такой набор команд:
Посмотри, что у тебя есть в ПОСТе, связанное с чек-боксом (естественно, после сабмита формы ), и именно эту величину и проверяй!
А твой код проверки не правильный.
echo '<pre>'; var_dump( $_POST ); echo '</pre>';
Посмотри, что у тебя есть в ПОСТе, связанное с чек-боксом (естественно, после сабмита формы ), и именно эту величину и проверяй!
А твой код проверки не правильный.
Спустя 10 минут, 22 секунды (20.07.2010 - 21:06) sergeiss написал(а):
И еще.
Цитата (_Dimarik__ @ 20.07.2010 - 21:39) |
echo "$$_SERVER['objShow']->checked"; |
В этом коде совершенно не нужны кавычки (просто излишне), и не нужны 2 знака доллара! Второй знак совершенно меняет смысл всего выражения. Это получаются "переменные переменные", только ты их тут, как я понимаю, не используешь.
Спустя 12 минут, 33 секунды (20.07.2010 - 21:19) Ice написал(а):
Цитата (_Dimarik__ @ 20.07.2010 - 21:53) |
хорошо. сделаю просто в html. подскажите только пожалуйста. мне |
Имя чекбокса известно? известно. смотришь в ПОСТ. Если в нем есть ключ, такой же как имя чекбокса, значит чекбокс гарантированно чекед. Если нет - унчекед.
Спустя 43 минуты, 37 секунд (20.07.2010 - 22:02) _Dimarik__ написал(а):
if(empty($_POST['checkbox1') == false)
$i = true;
else
$i=false;
так? я яваскрипт пока что не знаю(
Спустя 4 минуты, 15 секунд (20.07.2010 - 22:07) Ice написал(а):
Причем тут яваскрипт и ПОСТ?
Спустя 4 минуты, 41 секунда (20.07.2010 - 22:11) _Dimarik__ написал(а):
if(empty($_POST['checkbox1') == false)
$i = true;
else
$i=false;
ну так ведь можно или нет?
Спустя 1 минута, 4 секунды (20.07.2010 - 22:12) Ice написал(а):
Здесь ошибка найдешь?
Спустя 2 минуты, 24 секунды (20.07.2010 - 22:15) _Dimarik__ написал(а):
я понял. скобку не закрыл. поздно уже))))ошибся)
Спустя 1 час, 21 минута, 35 секунд (20.07.2010 - 23:36) KaFe написал(а):
_Dimarik__ Ты вообще не читаешь??? А??? Читай нафиг книжку или сайты (php.su,http://www.softtime.ru/bookphp/help.php) , а потом уже хватайся за ООП и всякое там чудо PHP девелопинга.
Извините, но посмотрел его другой пост http://phpforum.ru/index.php?showtopic=31452&hl=, и тут, это вообще.
Извините, но посмотрел его другой пост http://phpforum.ru/index.php?showtopic=31452&hl=, и тут, это вообще.