[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Warning: implode(): Invalid arguments passed
Страницы: 1, 2
Gorbach__
У меня есть 2-а файла один phptextarea.html в котором я описываю многострочное поле, а второй phptextarea.php в котором происходит обработка многострочного поля.
Описание данных файлов приведено ниже.
Помогите исправить слудующую ошибку: Warning: implode(): Invalid arguments passed in ............... on line 27

phptextarea.html

<!DOCTYPE html PUBLIC " - //W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml/DTD/xhtml-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
php в примерах
</title>
</head>

<body>

<center>

<h1>
Многострочное поле
</h1>


<form method = GET action = "phptextarea.php">

Перечислите Ваших лучших друзей:
<br>

<textarea name = "friends" cols = "50" rows = "5">
1.
2.
3.
4.
5.
</textarea>

<br>
<br>

<input type = submit value = "OK">

</form>

</center>


</body>
</html>

phptextarea.php

<!DOCTYPE html PUBLIC " - //W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml/DTD/xhtml-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
php в примерах
</title>
</head>

<body>

<center>

<h1>
Чтение данных из многострочного поля
</h1>

<?php

$arr = $_GET ["friends"];



$t = implode(" ",$arr);

echo $t;




?>

</center>

</body>
</html>















bulgakov
Во первых желательно оформить код в теги php например, и скрыть отдельно фрагменты одного и другого файла под спойлер, во вторых

<form method = GET action = "phptextarea.php">

Возьмите get в кавычки.

И еще. Смотрим описание функции implode

string implode ( string $glue , array $pieces )

Первый аргумент - строка, второй - массив, почему вы решили что из $_GET ["friends"] у вас придет массив?
caballero
распечатай через print_r или var_dump что там у тебя в массиве
Gorbach__
Распечатал через print_r
1.kjlkj 2.kjlkj 3.jjjлждл 4.uio 5.kjlkjljlj
bulgakov
Gorbach__
Может вам нужна функция explode?

array explode ( string $delimiter , string $string [, int $limit ] )

Она разбивает строку в массив по определенному знаку.
caballero
там массив должен быть на входе
у тебя и так строка

bulgakov
Цитата
Распечатал через print_r
1.kjlkj 2.kjlkj 3.jjjлждл 4.uio 5.kjlkjljlj

И где тут массив? Это просто строка вы можете ее вывести напрямую без обработки, или же разбить по разделителю в массив и выводить через foreach
bulgakov
Попробуйте например так:

$form = $_GET ["friends"];
$arr = explode(" ", $arr);
foreach($arr as $row){
echo $row."<br/>";
}

PS хотя я не думаю что это будет разбивать строку так как вам нужно, оно будет отдельно и имя и фамилию выводить, может лучше завести под каждый вариант отдельную форму ввода?
bulgakov
Вот я вам тут накидал код:
phptextarea.html
Свернутый текст


<!DOCTYPE html>
<
head>
<
meta charset = "utf-8" />
<
title>
php в примерах
</title>
</
head>
<
body>
<
center>
<
h1>
Многострочное поле
</h1>

Перечислите Ваших лучших друзей: <br/>
<
form method = "GET" action = "phptextarea.php">
<
input type="text" name="1"><br/>
<
input type="text" name="2"><br/>
<
input type="text" name="3"><br/>
<
input type="text" name="4"><br/>
<
input type="text" name="5"><br/>
<
br>
<
br>
<
input type = submit value = "OK">
</
form>

</
center>
</
body>
</
html>




phptextarea.php
Свернутый текст


<!DOCTYPE html>
<
head>
<
meta charset="utf-8" />
<
title>
php в примерах
</title>
</
head>

<
body>
<
center>
<
h1>
Чтение данных из многострочного поля
</h1>

<?php
$form = array();
foreach($_GET as $row){
$form[] = $row;
}

foreach($form as $row){
echo $row."<br/>";
}
?>

</center>

</
body>
</
html>






PS: как вариант можно еще вместо GET использовать POST
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.