За последние 24 часа нас посетили 50903 программиста и 1738 роботов. Сейчас ищет 891 программист ...

Скрипт создания статей

Тема в разделе "PHP для новичков", создана пользователем MisterBoo, 29 авг 2011.

  1. MisterBoo

    MisterBoo Активный пользователь

    С нами с:
    29 авг 2011
    Сообщения:
    19
    Симпатии:
    0
    Здравствуйте уважаемые программисты!

    Вот тут решил написать код и его вроде как написал но он у меня не хочет работать. Дело вот в чем, я создал скрипт, который создает страницы html со статьями в спец папке pages. Вот код, проверял на валидаторе, ошибок нет, может логичексие, профи помогите пожалуйста!

    PHP:
    1. <?php
    2. // Достаем данные переданные с формы
    3. $name=$_POST['name'];
    4. $title=$_POST['title'];
    5. $titlepage=$_POST['titlepage'];
    6. $titletext=$_POST['titletext'];
    7. $textarea=$_POST['textarea'];
    8. //путь и сам файл
    9. $file="/pages/".$name.".html";
    10. //если файла нету создаем новый, записываем туда информормацию
    11. if(!file_exists($file)) {
    12. $fp=fopen($file, "a");
    13. $fp=fwrite($file, "<html>");
    14. $fp=fwrite($file, "<head>");
    15. $fp=fwrite($file, "<title>".$name."</title>");
    16. $fp=fwrite($file, "<link rel='stylesheet' href='style.css' type='text/css'>");
    17. $fp=fwrite($file, "</head>");
    18. $fp=fwrite($file, "<body>");
    19. $fp=fwrite($file, "<div id='container'>");
    20. $fp=fwrite($file, "<div id='header'>".$titlepage."</div>");
    21. $fp=fwrite($file, "<div id='sidebar'>");
    22. $fp=fwrite($file, "<p><a href='about.html'>О сайте</a></p>");
    23. $fp=fwrite($file, "<p><a href='faq.html'>FAQ</a></p>");
    24. $fp=fwrite($file, "<p><a href='articles.php'>Статьи</a></p>");
    25. $fp=fwrite($file, "<p><a href='services.html'>Сервисы</a></p>");
    26. $fp=fwrite($file, "</div>");
    27. $fp=fwrite($file, "<dic id='content'>");
    28. $fp=fwrite($file, "<p>".$textarea."</p>");
    29. $fp=fwrite($file, "<div id='footer'>Игорь Дудкин. Все права защищены</div>");
    30. $fp=fwrite($file, "</div>");
    31. $fp=fwrite($file, "</body>");
    32. $fp=fwrite($file, "</html>");
    33. fclose ($fp);
    34. }
    35. ?>
    36.  
     
  2. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    аха :D соре я не могу не удержаться)))))))))) это что б#я за п#здец и зачем так извращаться о_О
     
  3. MisterBoo

    MisterBoo Активный пользователь

    С нами с:
    29 авг 2011
    Сообщения:
    19
    Симпатии:
    0
    Invision
    Что? )))
     
  4. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    1) Засунь все в одну переменную и выполни fwrite
    2) Зачем тебе вообще так извращаться со страницами?))
     
  5. MisterBoo

    MisterBoo Активный пользователь

    С нами с:
    29 авг 2011
    Сообщения:
    19
    Симпатии:
    0
    Invision
    Спасибо щас попробую, я думал так нельзя, да я просто хотел страницу со статьями сделать)) А вот еще проблемка, как сделать, чтобы при создании страницы он автоматом добавлял ссылку в файле articles.php? Ну там будет типа список статей)
     
  6. MisterBoo

    MisterBoo Активный пользователь

    С нами с:
    29 авг 2011
    Сообщения:
    19
    Симпатии:
    0
    Invision
    Все равно не работает))) вот код:
    PHP:
    1.  
    2.  
    3. <?php
    4. // Достаем данные переданные с формы
    5. $name=$_POST['name'];
    6. $title=$_POST['title'];
    7. $titlepage=$_POST['titlepage'];
    8. $titletext=$_POST['titletext'];
    9. $textarea=$_POST['textarea'];
    10. $page="<html><head><title>".$title."</title><link rel='stylesheet' href='style.css' type='text/css></head><body><div id='container'><div id='header'>".$titlepage."</div><div id='sidebar'><p><a href='about.html'>О сайте</a></p><p><a href='faq.html'>FAQ</a></p><a href='articles.php'>Статьи</a></p><p><a href='services.html'>Сервисы</a></p></div><div id='content'><h2>".$titletext."</h2><p>".$textarea."</p></div><div id='footer'>Игорь Дудкин. Все права защищены.</div></div></body></html>";
    11. //путь и сам файл
    12. $file="/pages/".$name.".html";
    13. //если файла нету создаем новый, записываем туда информормацию
    14. if(!file_exists($file)) {
    15. $fp=fopen($file, "w");
    16. $fp=fwrite($file, $page);
    17. fclose ($fp);
    18. }
    19. ?>
    20.  
     
  7. alexfer

    alexfer Активный пользователь

    С нами с:
    2 авг 2010
    Сообщения:
    239
    Симпатии:
    0
  8. MisterBoo

    MisterBoo Активный пользователь

    С нами с:
    29 авг 2011
    Сообщения:
    19
    Симпатии:
    0
    alexfer
    незнаю, я права выставил на папку и на файл, еще сейчас подписал or die ("Не могу записать" и он у меня это выводит((
     
  9. MisterBoo

    MisterBoo Активный пользователь

    С нами с:
    29 авг 2011
    Сообщения:
    19
    Симпатии:
    0
    Может проблема в пути? Может написать www/pages??
     
  10. alexfer

    alexfer Активный пользователь

    С нами с:
    2 авг 2010
    Сообщения:
    239
    Симпатии:
    0
    Может все таки пройтись по ссылке и прочитать? А не гадать..
     
  11. MisterBoo

    MisterBoo Активный пользователь

    С нами с:
    29 авг 2011
    Сообщения:
    19
    Симпатии:
    0
    alexfer
    Читаю))) у меня такая бяка вылезла))
    Код (Text):
    1.  
    2. Самый большой архив музыки
    3.  
    4. Warning: fopen() [function.fopen]: Unable to access /pages/Vhjgj.html in /var/users/wup.ru/wiki-wap/www/createpage.php on line 15
    5.  
    6. Warning: fopen(/pages/Vhjgj.html) [function.fopen]: failed to open stream: No such file or directory in /var/users/wup.ru/wiki-wap/www/createpage.php on line 15
    7.  
    8. Warning: fwrite() expects parameter 1 to be resource, string given in /var/users/wup.ru/wiki-wap/www/createpage.php on line 16
    9. Could not write to file!
     
  12. alexfer

    alexfer Активный пользователь

    С нами с:
    2 авг 2010
    Сообщения:
    239
    Симпатии:
    0
  13. MisterBoo

    MisterBoo Активный пользователь

    С нами с:
    29 авг 2011
    Сообщения:
    19
    Симпатии:
    0
    alexfer
    Исправил взамен пришла вот эта ошибка:
    Код (Text):
    1.  
    2. Warning: fwrite() expects parameter 1 to be resource, string given in /var/users/wup.ru/wiki-wap/www/createpage.php on line 16
    3.  Не могу записать в файл!
     
  14. MisterBoo

    MisterBoo Активный пользователь

    С нами с:
    29 авг 2011
    Сообщения:
    19
    Симпатии:
    0
    Попробовал через file_put_contents() рн файл создал, но туда ничего не записал(
     
  15. alexfer

    alexfer Активный пользователь

    С нами с:
    2 авг 2010
    Сообщения:
    239
    Симпатии:
    0
  16. MisterBoo

    MisterBoo Активный пользователь

    С нами с:
    29 авг 2011
    Сообщения:
    19
    Симпатии:
    0
    Теперь еще хуже он даже не создает файл и не выводит ошибку, приехали)))
    если этот код еще кому нибудь нужен кроме меня, мож я ступил?
    PHP:
    1.  
    2. <?
    3. ini_set('display_errors',1);
    4. // Достаем данные переданные с формы
    5. $name=$_POST['name'];
    6. $title=$_POST['title'];
    7. $titlepage=$_POST['titlepage'];
    8. $titletext=$_POST['titletext'];
    9. $textarea=$_POST['textarea'];
    10. $page="<html><head><title>".$title."</title><link rel='stylesheet' href='style.css' type='text/css></head><body><div id='container'><div id='header'>".$titlepage."</div><div id='sidebar'><p><a href='about.html'>О сайте</a></p><p><a href='faq.html'>FAQ</a></p><a href='articles.php'>Статьи</a></p><p><a href='services.html'>Сервисы</a></p></div><div id='content'><h2>".$titletext."</h2><p>".$textarea."</p></div><div id='footer'>Игорь Дудкин. Все права защищены.</div></div></body></html>";
    11. //путь и сам файл
    12. $file="/var/users/wup.ru/wiki-wap/www/pages/".$name.".html";
    13. //если файла нету создаем новый, записываем туда информормацию
    14. if(!file_exists($file)) {
    15. $fp=fopen($file, 'w');
    16. $fp=file_put_contents($file, $page, FILE_APPEND | LOCK_EX) or die("Не могу создать страницу!");
    17. fclose ($fp);
    18. }
    19. $textfile="/var/users/wup.ru/wiki-wap/www/links.txt";
    20. $link="<a href=/pages/".$name.".html>".$title."</a>";
    21. if(!file_exists($textfile)) {
    22. $ft=fopen($textfile, 'a');
    23. $ft=file_put_contents($textfile, $link."/r/n") or die("Не получилось записать ссылку")
    24. ?>
    25.  
    Ну и на всякий случай форму:
    Код (Text):
    1.  
    2. <form action='createpage.php' method='POST'>
    3. <input type='text' name='name'> Название страницы (только на латинице!)
    4. <input type='text' name='title'> Загаловок страницы
    5. <input type='text' name='titlepage'> Загаловок на самой странице
    6. <input type='text' name='titletext'> Загаловок статьи
    7. <input type='textarea' name='textarea' size='25'> Статья
    8. <br>
    9. <input type='submit' value='Создать''>
    10. </form>
     
  17. alexfer

    alexfer Активный пользователь

    С нами с:
    2 авг 2010
    Сообщения:
    239
    Симпатии:
    0
    А это зачем?
    Все ссылки читать до полного просветления
     
  18. MisterBoo

    MisterBoo Активный пользователь

    С нами с:
    29 авг 2011
    Сообщения:
    19
    Симпатии:
    0
    alexfer
    это моя примитивная задумка для вывода всех сслок для статей на одной странице, но разве она мешает?
     
  19. MisterBoo

    MisterBoo Активный пользователь

    С нами с:
    29 авг 2011
    Сообщения:
    19
    Симпатии:
    0
    alexfer
    прошу помоги, вот я запустил на денвере, тут ошибочка вылезла, вот она:
    Код (Text):
    1.  
    2. Parse error: syntax error, unexpected $end in Z:\home\test1.ru\www\createpage.php on line 25
     
  20. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    Тебе не alexfer, тебе англо-русский словарь помочь должен. У тебя синтаксическая ошибка в 25 строке файла Z:\home\test1.ru\www\createpage.php.
     
  21. MisterBoo

    MisterBoo Активный пользователь

    С нами с:
    29 авг 2011
    Сообщения:
    19
    Симпатии:
    0
    karakh
    Это я и так знал) тока вот что за ошибка??
     
  22. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    в 23 строке нет точки с запятой.
     
  23. alexfer

    alexfer Активный пользователь

    С нами с:
    2 авг 2010
    Сообщения:
    239
    Симпатии:
    0
    + не закрыт if