Jump to content
  • 0

изменение файла с помощью php


Mike-Eci
 Share

Question

имеется страничка индекс.php

(я писал в другой теме.. :-) но наверно там пхп никому не интересен)

вот суть вопроса: нужно добавить строку в индекс.пхп с помощью экшн.пхп

меня интересовало как можно заставить страничку в интернете поменяться с пользовательского компа. т.е. я в строчку формы пишу "http://forum.htmlbook.ru/", а в теле странички моей должно появиться:

Код

<A HREF="http://forum.htmlbook.ru/"><img src="img/no-pict.gif">http://forum.htmlbook.ru/</A>

я так понял мне нужно работать с файлами что бы добавить на мою страничку еще ссылки, правильно? или есть какой то более простой\правильный способ?

я вот так пытаюсь сейчас:

<?php

$mytext = "<A HREF=\""+$addr+"\"><img src=\"img/img09.gif\">"+$addr+"</A>";


$fp = fopen("index.php", "a+"); // Открываем файл в режиме записи
if ($fp)
{
while(!feof($fp))
{


$st = fgets($fp);

if ($st == '<form action="action.php" method="POST">') $test = fwrite($fp, $mytext);// Находим строку

else echo "Ошибка при открытии файла";
?>

и соответственно в индекс.пхп у меня это(сокращу для простоты):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"lang="en"xml:lang="en">
<head>
<title>Хоум пейдж</title>
<meta http-equiv="content-type"content="text/html;charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="css/screen.css" />
</head>

<body>
<div id="main">
<A HREF="http://www.yandex.ru/"> <img src="img/img01.gif">Яндекс http://www.yandex.ru/</A>

<A HREF="https://account.sura.ru/stat/"><img src="img/img09.gif">Счет Волгателекомы</A>

<form action="action.php" method="POST">
<input name="addr" size="60" type="text" value="Адрес_необходимой_странички"> <input type="submit">
</form>

</div>


</body>
</html>

:) и у меня это не работает.. я впервые вижу пхп. помогите пожалуйста.. где я ошибся?

Edited by Mike-Eci
Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0

А что происходит в action.php? Я надеюсь обрабатывается массив $_POST[]...

Ошибка в action.php на 18 строке. Ищите. Количество открывающих { должно совпадать с количеством закрывающих }. Вы забыли две закрывающих для конца цикла и перед else.

Зачем же весь текст страницы перелопачивать? Делаете отдельный файл vars.php с переменными:

<?php
$mypath = "http://forum.htmlbook.ru/"
?>

Инклюдите его в index.php а в action.php меняете содержимое vars.php

Edited by Searcher
Link to comment
Share on other sites

  • 0

Ну вы настойчивый! )))

По моему вы написали херню.

Надо было примерно так как я писал вам до этого (у меня сейчас нет времени вечером отпишусь по возможности подробнее):

главное ловите суть, а конкретно с вашей задачей разберетесь

form.php

...
<form action='page.php'>
<input name='url' type='text' />
<input type="submit" value='Отправить' />
</form>
....

page.php

...
$url=$_POST[url];
echo'<a href='.$url.'>Ссылка</a>';
...

Еще вам по ходу нужно запоминать, удалять редактировать свои ссылочки. В том же page.php (опять так и подчеркну, что я излогаю суть а не конкретный способ решения) можно открыть xml-файл и туау всё записывать. Как? Пока некогда расписывать. Да и сами наверное сможете разобраться. А пока всё.

Link to comment
Share on other sites

  • 0

Bolmazov точно описал суть. А с переменной $url можно уже делать все, что угодно. Записать в базу, в файл или просто временно вывести у клиента.

Все зависит от ваших задач. Если вы запишите в файл, то эта ссылка будет видна всем пользователям. Если нужно несколько ссылок, то надо сделать еще редактирование существующих, удаление и добавление. Тогда записывать надо в базу или в файл с разделителями.

Link to comment
Share on other sites

  • 0

Человеки, большое спасибо за внимание!

вы можете меня убить, но у меня не работает даже то, что сказал Bolmazov!!

получается так:

получившаяся ссылка ссылается на http://127.0.0.1/

а в адресной строке то что передала моему экшн.пхп моя индекс.пхп http://127.0.0.1/action.php?url=sdffd

ну простите что я надоедаю :-) дайте рабочий код или скажите что не так я снова сделал. я еще раз говорю за пхп сел впервые, в глаза не видел не СИ, не СИ++

Link to comment
Share on other sites

  • 0
Человеки, большое спасибо за внимание!

вы можете меня убить, но у меня не работает даже то, что сказал Bolmazov!!

получается так:

получившаяся ссылка ссылается на http://127.0.0.1/

а в адресной строке то что передала моему экшн.пхп моя индекс.пхп http://127.0.0.1/action.php?url=sdffd

ну простите что я надоедаю :-) дайте рабочий код или скажите что не так я снова сделал. я еще раз говорю за пхп сел впервые, в глаза не видел не СИ, не СИ++

А у тебя адрес будет: sdffd ?

А не пробовал например прописывать http://www.address.ru ? :)

Link to comment
Share on other sites

  • 0

если честно, я не думал что будет разница.. я был уверен что он приделает любой текст..

но я попробовал. и тоже самое :-(

ООО!!! зато вместо ПОСТ сработала как следует ГЕТ

кажется я проще вариант нашел :-)

спасибо большое за внимание!

я разделил индекс хтмл на части.. отделил все ссылки в отдельный файл и в индексе просто сделал инклюд

а теперь через фопен буду в конец файла со ссылками добавлять по примеру "Bolmazov"а! :)

Edited by Mike-Eci
Link to comment
Share on other sites

  • 0

хочу поделиться своим счастьем!! :-) вот такое собрал и РАБОТАЕЕЕЕТТ!!! моему счастью нет предела!! это первый мой (ну с помощью естественно) код на пхп рабочий!!!

<form align="center" action method=post>
<input name='url' type='text' />
<input type="submit" name=send value='отправить' />
</form>

<?php
if(isset($_POST['send']))
{
$f = fopen("links.htm", "a");
$t="<A HREF=\"".$url."\"><img src=\"img/img09.gif\">".$url."</A> \n";
fwrite($f,$t);
fclose($f);
}
?>

единственное НО - появляется изменение почему то только после второго нажатия на кнопку :-(

Link to comment
Share on other sites

  • 0

Привет еще раз. Что же вы за человек то такой?! )))

Ну ответьте хотя бы самому себе на вопрос: "Зачем мне упёрлось работать с файлом через fwrite? Мне самому то удобно? А может есть другие способы и мне уже о них писали, а я не понял?"

Постарайтесь еще раз понять СТАНДАРТНЫЙ подход к вашей маленькой проблемке, о которой мы еще очень долго переписываемся и, честное слово, уже хочется вашего понимания в этом вопросе.

1. В форме у атрибута action поставте значение. К примеру action='page.php'

2. Именно в том файле, имя которого вы укажете в action, обрабатывайте ваш $_POST['url'] (ВОТ ПОЧЕМУ У ВАС <input name='url' type='text' /> А ЛОВИТЕ ВЫ $_POST['send'], А ПОТОМ ИСПОЛЬЗУЕТЕ КАКОЙ-ТО $url )

...

Не... тут глухо.

Ладно, ща будет вам немного кода.

<form action='иня_этого_скрипта.php' method=post>
<input name='url' type='text' />
<input type="submit" value='Отправить' />
</form>
<?php
if (isset($_POST[url])){
$url=$_POST[url];
echo'<a href='.$url.'>'.$url.'</a>';
}
?>

Вот рабочий, но по сути бестолковый код. Вам лишь надо его одуплить.

Для сохранения ссылок записывайте их куда-ни будь (БД, XML, txt, etc.) а потом читайте. ну это потом. Пока просто с примером разберитесь.

Edited by Bolmazov
Link to comment
Share on other sites

  • 0
Вот рабочий, но по сути бестолковый код. Вам лишь надо его одуплить.

Для сохранения ссылок записывайте их куда-ни будь (БД, XML, txt, etc.) а потом читайте. ну это потом. Пока просто с примером разберитесь.

во-первых, можно, пожалуйста, на "ТЫ" со мной?

ну а второе - я же так и сделал! записал в отдельный файл links.htm все ссылки. я вот пару постов назад как раз написал об этом.

как Вы говорите, к экшну "действие присвоить" - тогда переходит на пустую страничку, а мне этого не нужно. сейчас у меня получилось что я хотел изначально я ввожу в строку адрес и по нажатию кнопки мне в конце добавляется еще одна ссылочка. (а на каком то сайте нашел пример с экшном без ссылки на страничку - я не знаю правильно это или нет, но работает. кстати попробовал слово экшн можно вообще убрать и без него работает)

может я действительно с Вами говорю на разных языках? может куда то можно выложить результат? :-(

не знаете, случаем, хостинга бесплатного с пхп?

и в сообщении #11 я сам собрал код, не просто скопировал. :-( честно честно!

Link to comment
Share on other sites

  • 0
  • 0

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy