|
|
|
| Люди! Подскажите, пожалуйста, как этот код сделать верным?
...
if($type=='checkbox')
{
list($X, $Y, $type, $P, $value, $name, $chek) = explode(" ",$line);
if($chek=true)
{
$chek1='checked';
}
else if($chek=false)
{
$chek1='nochecked';
}
}
$i1++;
if($type=='checkbox'){
echo "<input type='$type' $chek1 name='$name' value='$value' ID='$P' STYLE='position:absolute;visibility:visible;top=$X; left=$Y;'ondblclick='c2($i1-1)' oncontextmenu='func1($i1-1)' dragEnabled>";
}
echo "\n";
...
То есть это как бы проверка на отмеченность чекбокса.
Я беру строчку из файла и разбиваю её по переменным - $X, $Y, $type...
Переменная $chek в файле имеет значения - true или false.
Но при этой проверке :
if($chek=true)
{
$chek1='checked';
}
else if($chek=false)
{
$chek1='nochecked';
}
,переменная $chek1 в 'echo "<input ... ' получает всегда значения - checked , хотя в файле есть как - true так и false.
Как сделать чтобы проверка была верной,то есть чтобы каждому true соответствовало значение checked , а каждому false - nochecked ??? | |
|
|
|
|
|
|
|
для: servannin
(29.11.2004 в 15:50)
| | попробуй исправить этот фрагмент
if($chek=true)
{
$chek1='checked';
}
else if($chek=false)
{
$chek1='nochecked';
}
|
вот так
if($chek==true)
{
$chek1='checked';
}
else if($chek==false)
{
$chek1='nochecked';
}
|
т.е. условие равенства надо писать == (два равно) | |
|
|
|
|
|
|
|
для: Crux
(29.11.2004 в 18:37)
| | конечно ,спасибо ,но всё равно не работает.
я уже по всякому пробовал ... не получается ... | |
|
|
|
|
|
|
|
для: servannin
(29.11.2004 в 18:43)
| | Судя по всему проверка правильна. Ошибка закралась раньше. Возможно при считывании из файла. Проверяй значения $chek (выводи в браузер). Если все время равно истине, тогда... Приведи весь код и пример файла. Посмотрим... | |
|
|
|
|
|
|
|
для: Crux
(29.11.2004 в 18:54)
| | посмотри ,пожалуйста, вот этот код , а потом раскомментируй и исправь $chek на $chek1 в строке echo "<input type='$type' $chek name='$name' ....." : (файл "text.txt" внизу ) :
<?php
$i1=0;
$filename = "text.txt";
$str_array = file($filename);
// Обходим массив в цикле
echo "<html>\n";
echo "<BODY>\n";
echo "<table cellspacing='2' cellpadding='2' border='0'>\n<tr>\n<td width='170' height='365'>\n";
echo "<form name='a1'>";
echo "\n";
foreach($str_array as $line)
{
list($X, $Y, $type, $P, $value, $name) = explode(" ",$line);
if($type=='textarea')
{
list($X, $Y, $type, $P, $value, $name,$row,$col) = explode(" ",$line);
}
if($type=='text')
{
list($X, $Y, $type, $P, $value, $name, $siz) = explode(" ",$line);
}
if($type=='checkbox')
{
list($X, $Y, $type, $P, $value, $name, $chek) = explode(" ",$line);
//if($chek==true)
// {
// $chek1='checked';
// }
//else if($chek==false)
// {
// $chek1='nochecked';
// }
}
$i1++;
if($type=='checkbox'){
echo "<input type='$type' $chek name='$name' value='$value' ID='$P' STYLE='position:absolute;visibility:visible;top=$X; left=$Y;'ondblclick='c2($i1-1)' oncontextmenu='func1($i1-1)' dragEnabled>";
}
echo "\n";
if($type=='button'){
echo "<input type='$type' name='$name' value='$value' ID='$P' STYLE='position:absolute;visibility:visible;top=$X; left=$Y;'ondblclick='c2($i1-1)' oncontextmenu='func1($i1-1)' dragEnabled>";
}
if($type=='textarea'){
echo "<$type name='$name' value='$value' ID='$P' rows=$row cols=$col STYLE='position:absolute;visibility:visible;top=$X; left=$Y;'ondblclick='c2($i1-1)' oncontextmenu='func1($i1-1)' dragEnabled>$value</TEXTAREA>";
}
if($type=='password'){
echo "<input type='$type' name='$name' value='$value' ID='$P' STYLE='position:absolute;visibility:visible;top=$X; left=$Y;'ondblclick='c2($i1-1)' oncontextmenu='func1($i1-1)' dragEnabled>";
}
if($type=='text'){
echo "<input type='$type' name='$name' value='$value' ID='$P' SIZE=$siz STYLE='position:absolute;visibility:visible;top=$X; left=$Y;'ondblclick='c2($i1-1)' oncontextmenu='func1($i1-1)' dragEnabled>";
}
}
echo "\n";
echo "</form>\n</td>\n<td bgcolor='#000000'>\n</td> \n</tr>\n</table>\n</BODY>\n</HTML>";
echo "\n";
echo "<SCRIPT LANGUAGE=JavaScript>\n";
echo "var globalmainvar = null;";
echo "function JerryMove() {\n";
echo "if ((event.button == 1) && (globalmainvar != null)) \n";
echo "{\n";
echo "var intTop = event.clientY + document.body.scrollTop;\n";
echo "var intLeft = event.clientX + document.body.scrollLeft;\n";
echo "var intLessTop = 0;\n";
echo "var intLessLeft = 0;\n";
echo "var childGMV = globalmainvar.offsetParent;\n";
echo "while (childGMV.offsetParent != null)\n";
echo "{\n";
echo "intLessTop += childGMV.offsetTop;\n";
echo "intLessLeft += childGMV.offsetLeft;\n";
echo "childGMV = childGMV.offsetParent;\n";
echo "}\n";
echo "globalmainvar.style.pixelTop = intTop - intLessTop - globalmainvar.y;\n";
echo "globalmainvar.style.pixelLeft = intLeft - intLessLeft - globalmainvar.x;\n";
echo "event.returnValue = false;\n";
echo "}\n";
echo "}\n";
echo "function checkDrag(_On_)\n";
echo "{\n";
echo "{\n";
echo "if (null != _On_.getAttribute('dragEnabled'))\n";
echo "return _On_;\n";
echo "_On_ = _On_.parentElement;\n";
echo "}\n";
echo "return null;\n";
echo "}\n";
echo "function JerryDown()\n";
echo "{\n";
echo "var childGMV = checkDrag(event.srcElement);\n";
echo "if (null != childGMV)\n";
echo "{\n";
echo "globalmainvar = childGMV;\n";
echo "globalmainvar.x = event.offsetX;\n";
echo "globalmainvar.y = event.offsetY;\n";
echo "var op = event.srcElement;\n";
echo "if ((globalmainvar != op.offsetParent) && (globalmainvar != event.srcElement))\n";
echo "{\n";
echo "while (op != globalmainvar)\n";
echo "{\n";
echo "globalmainvar.x += op.offsetLeft;\n";
echo "globalmainvar.y += op.offsetTop;\n";
echo "op = op.offsetParent;\n";
echo "}\n";
echo "}\n";
echo "}\n";
echo "}\n";
echo "function c2(index)\n";
echo "{\n";
echo "var x=prompt('Введите значение объекта : ',document.forms[0].elements[index].value);\n";
echo "var y=prompt('Введите имя объекта : ',document.forms[0].elements[index].name);\n";
echo "if( document.forms[0].elements[index].type=='checkbox')\n";
echo "{\n";
echo "var z=prompt('Введите состояние (checked / nochecked) объекта : ',document.forms[0].elements[index].checked);\n";
echo "if(z=='checked')\n";
echo "{\n";
echo "document.forms[0].elements[index].checked =true;\n";
echo "}\n";
echo "else if(z=='nochecked')\n";
echo "{\n";
echo "document.forms[0].elements[index].checked =false;\n";
echo "}\n";
echo "}\n";
echo "if(document.forms[0].elements[index].type=='textarea')\n";
echo "{\n";
echo "var r1=prompt('Введите количество линий видимого текста : ',document.forms[0].elements[index].rows); \n";
echo "var c1=prompt('Введите число, задающее видимую ширину текста : ',document.forms[0].elements[index].cols); \n";
echo "if(r1&&c1) \n";
echo "{\n";
echo "document.forms[0].elements[index].rows=r1 ;\n";
echo "document.forms[0].elements[index].cols=c1 ;\n";
echo "}\n";
echo "}\n";
echo "if(document.forms[0].elements[index].type=='text')\n";
echo "{\n";
echo "var t1=prompt('Введите число, задающее видимую ширину текста : ',document.forms[0].elements[index].size);\n";
echo "if(t1)\n";
echo "{\n";
echo "document.forms[0].elements[index].size=t1 ;\n";
echo "}\n";
echo "}\n";
echo "if(x&&y)\n";
echo "{\n";
echo "document.forms[0].elements[index].value =x;\n";
echo "document.forms[0].elements[index].name =y;\n";
echo "}\n";
echo "}\n";
echo "function func1(index){\n";
echo "myhide(index);\n";
echo "return false;\n";
echo "}\n";
echo "function myhide(index){\n";
echo "if (document.forms[0].elements[index].style.visibility=='visible')\n";
echo "{\n";
echo "document.forms[0].elements[index].style.visibility='hidden';\n";
echo "}\n";
echo "}\n";
echo "function hawk()\n";
echo "{\n";
echo "for(var i=0;i<50;i++)\n";
echo "{\n";
echo "pt=document.forms[0].elements[i].style.pixelTop\n";
echo "pl=document.forms[0].elements[i].style.pixelLeft\n";
echo "ty=document.forms[0].elements[i].type\n";
echo "idi=document.forms[0].elements[i].id\n";
echo "val=document.forms[0].elements[i].value\n";
echo "nam=document.forms[0].elements[i].name\n";
echo "row=document.forms[0].elements[i].rows\n";
echo "col=document.forms[0].elements[i].cols\n";
echo "if (document.forms[0].elements[50+i].type=='hidden'){\n";
echo "document.forms[0].elements[50+i].value=pt+' '+pl+' '+ty+' '+idi+' '+val+' '+nam\n";
echo "if(document.forms[0].elements[i].type=='textarea')\n";
echo "{\n";
echo "document.forms[0].elements[50+i].value=pt+' '+pl+' '+ty+' '+idi+' '+val+' '+nam+' '+row+' '+col\n";
echo "}\n";
echo "}\n";
echo "}\n";
echo "}\n";
echo "document.onmousedown = JerryDown;\n";
echo "document.onmousemove = JerryMove;\n";
echo "document.onmouseup = new Function('globalmainvar = null;');\n";
echo "</script>\n";
?>
файл text.txt :
50 15 checkbox P0 checkbox_value0 checkbox_name true
50 15 checkbox P1 checkbox_value1 checkbox_name true
50 15 checkbox P2 checkbox_value2 checkbox_name true
50 15 checkbox P3 checkbox_value3 checkbox_name true
50 15 checkbox P4 checkbox_value4 checkbox_name true
50 15 checkbox P5 checkbox_value5 checkbox_name true
50 15 checkbox P6 checkbox_value6 checkbox_name true
127 344 checkbox P7 checkbox_value7 checkbox_name true
52 381 checkbox P8 checkbox_value8 checkbox_name false
72 304 checkbox P9 checkbox_value9 checkbox_name false
100 15 button P10 button_value0 button_name
100 15 button P11 button_value1 button_name
100 15 button P12 button_value2 button_name
100 15 button P13 button_value3 button_name
100 15 button P14 button_value4 button_name
100 15 button P15 button_value5 button_name
100 15 button P16 button_value6 button_name
100 15 button P17 button_value7 button_name
100 15 button P18 button_value8 button_name
100 15 button P19 button_value9 button_name
150 15 textarea P20 textarea_value0 textarea_name 3 17
150 15 textarea P21 textarea_value1 textarea_name 3 17
150 15 textarea P22 textarea_value2 textarea_name 3 17
150 15 textarea P23 textarea_value3 textarea_name 3 17
150 15 textarea P24 textarea_value4 textarea_name 3 17
150 15 textarea P25 textarea_value5 textarea_name 3 17
150 15 textarea P26 textarea_value6 textarea_name 3 17
150 15 textarea P27 textarea_value7 textarea_name 3 17
150 15 textarea P28 textarea_value8 textarea_name 3 17
150 15 textarea P29 textarea_value9 textarea_name 3 17
230 15 password P30 password_value0 password_name
230 15 password P31 password_value1 password_name
230 15 password P32 password_value2 password_name
230 15 password P33 password_value3 password_name
230 15 password P34 password_value4 password_name
230 15 password P35 password_value5 password_name
230 15 password P36 password_value6 password_name
230 15 password P37 password_value7 password_name
230 15 password P38 password_value8 password_name
230 15 password P39 password_value9 password_name
280 15 text P40 textfield_value0 textfield_name 17
280 15 text P41 textfield_value1 textfield_name 17
280 15 text P42 textfield_value2 textfield_name 17
280 15 text P43 textfield_value3 textfield_name 17
280 15 text P44 textfield_value4 textfield_name 17
280 15 text P45 textfield_value5 textfield_name 17
280 15 text P46 textfield_value6 textfield_name 17
280 15 text P47 textfield_value7 textfield_name 17
280 15 text P48 textfield_value8 textfield_name 17
280 15 text P49 textfield_value9 textfield_name 17 | |
|
|
|
|
|
|
|
для: servannin
(29.11.2004 в 19:18)
| | Проблема заключается в следующем:
1) Переменная $chek считывается с символом перевода строки на конце, поэтому следует использовать функцию trim().
2) Попытка сравнить тип String с типом Boolean всегда вернет TRUE, поэтому true следует заключать в кавычки.
if(trim($chek)=="true")
{
$chek1="checked";
}
else
{
$chek1='nochecked';
}
|
| |
|
|
|
|
|
|
|
для: Crux
(29.11.2004 в 20:10)
| | Огромное спасибо за помощь мне.
Если бы не trim() я бы ещё долго бился бы ... | |
|
|
|