До колко ти е добра логиката няма да коментирам.Това, че се замисляш как би могъл да прибавиш някаква функционалност към кода от урока обаче говори, че вървиш в правилна посока на развитие, така че продължавай така и занапред.
Понеже не успях да изкарам директно записите в полето за текст ( до толкова ми стигат познанията засега ) те се показват над него и просто си ги копирам вътре след което всичко си работи както трябва.
Това се получава така защото не връщаш някакъв резултат във функцията, а директно извеждаш такъв на екран посредством echo.За да присвои променливата $a всички записи от файла Friendlist.txt то трябва да ги върнеш в самата функция посредством езиковата конструкция return.Би трябвало да изгледаш и урока за това "как да не пишем код" за да схванеш начина по-който можеш с някакви елементарни навици да си оптимизираш кода по отношение на производителност.Примерно виж какво си направил ти във функцията Friends:
1. дефинирал си една променлива $b - напълно излишно след като я дефинираш отново в цикъла for
2.Можеше да изнесеш броя елементи в масива в една променлива, а не при всяко негово завъртане да караш пхп да брои елементите отново и отново в масива посредством функцията count():
//..
for($b=0;$b<$count;$b++) {
echo "$a[$b]<br/>";
}
//..
3.В случая не се интересуваш от броя елементи в масива, а просто искаш да ги изведеш, затова можеше да използваш конструкцията foreach вместо цикъла for и да не броиш излишно броя елементи на масива.
За html частта също не бих коментирал, но е добре да знаеш че стойностите на атрибутите се ограждат в кавички(единични или двойни в зависимост от стила на писане).Важно е също да знаеш, че html елемента textarea няма атрибут с име
value.Ако искаш да изведеш в него текст то би трябвало да го направиш между отварящия и затварящтия му таг (<textarea>инфо</textarea>)
function Friends() {
$a = file('Friendlist.txt'); $list = '';
foreach($a as $v) {
$list .= $v;
}
return $list;
}
$a=Friends();
echo "<form method='post' action='edit.php'>
<textarea name='address' cols='80' rows='15'>$a</textarea>
<input type='submit' value='save'>
</form>";
if (strlen($_POST['address'])>3) {
$b=$_POST['address'];
}
След като вкарахме стойностите в полето за текст както ти си го именувал трябва да помислиш за логиката си за редактиране на записите тъй като броя символи в $_POST['address'] ще бъде в почти всички случаи по-голям от 3. Успех !