Теряется пробел при передаче массива через форму.

zIP

Новичок
Теряется пробел при передаче массива через форму.

Выводим массив в форме.

PHP:
          foreach($file as $num_string => $string) {
            $base = explode ( "|", $string);
$i = $num_string+1;
echo "<tr><td>№ ".$i."</td><td><input type=\"checkbox\" name=red[] value=$string checked></td><td>База ".$base[0]."</td><td>Сервер ".$base[1]."</td>  </tr>";
echo "$string";

                }
Передаем массив red[] функции

PHP:
function delhost($red) {

print_r ("$red"); // Здесь все впорядке

    if (is_writable ("data.dat") ) {
        unlink ("data.dat");
        }

        $file=fopen("data.dat",'a');

        if (flock($file, LOCK_EX  ) & isset($red)) {
        foreach($red as $string) {
            echo $string;
            fwrite($file, $string."\r\n");
            }
            flock($file, LOCK_UN );
            echo "<table width=\"70%\" align=\"center\">
<tr><td><br>Данные отредактированны</td></tr></table>";
        } else {
            echo "<table width=\"70%\" align=\"center\">
<tr><td><br>Все данные удалены!</td></tr></table";
    }
echo "</form>";
}
Так вот, если элемент массива $red содержит пробел, то при перезаписи данных в файл удаяеться все, что находиться после пробела в этом элементе массива.

Т.е., если в начале функции delhost вывести массив

print_r ("$red");

то все впорядке, а вот дальше пробел пропадает
 

zIP

Новичок
Ага... Опять синтаксис.

Только теперь при обновлении страницы после вызова функции дописывает в файл пробел.

-~{}~ 14.08.06 14:12:

Точнее пустую строку.

-~{}~ 14.08.06 14:21:

Все, разобрался

PHP:
function delhost($red) {

    if (!isset($red)) {

...
else {
            echo " Зачем нажимать дважды?";

    }
-~{}~ 14.08.06 14:28:

Не правильно...

-~{}~ 14.08.06 14:29:

Дайте подсказку над чем подумать. Совсем запутался.
 
Сверху