Используйте php для хранения информации отправки и отображения на отдельной HTML-странице

#javascript #php #jquery #html #css

#javascript #php #jquery #HTML #css

Вопрос:

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

Я создал страницу создания новостной статьи, которая позволяет пользователю вводить такую информацию, как автор, описание и текст.

Код выглядит следующим образом.

 <html>
<body>
<style>
    textarea 
    {
        resize: none;
    }
</style>

<form action="foo.php" method="post">

   <label for="textarea">Title:</label>
   <p></p>
   <textarea rows="1" cols="100" name="title"></textarea>
   <br></br>
   <label for="textarea">Author:</label>
   <p></p>
   <textarea rows="1" cols="100" name="author"></textarea>
   <br></br>
   <label for="textarea">Description:</label>
   <p></p>
   <textarea rows="15" cols="100" name="desc"></textarea>
   <br></br>
   <label for="textarea">Body:</label>
   <p></p>
   <textarea rows="15" cols="100" name="body"></textarea>
   <br></br>

   <p><input type="submit" name="submit" value="Submit" /></p>

</form>
</body>
</html>
  

Эта информация отправляется на foo.php , и я хотел бы foo.php для динамического создания div с отображением заголовка, автора, даты публикации и описания внутри. Тогда у этого div будет кнопка «Подробнее», которая будет отображать фактическую статью или «тело» в этом случае.

Затем я хотел бы вставить этот div в отдельную HTML-страницу. Другими словами, каждый раз, когда пользователь, создающий новую статью, нажимает кнопку отправки, информация обрабатывается, добавляется в элемент div, а затем этот div вставляется на другую HTML-страницу.

Есть ли какой-нибудь способ сделать это или какой-нибудь пример руководства по новостям / статьям, в котором объясняется, как это сделать? Я искал несколько часов, и, похоже, по этой конкретной теме ничего нет. Я также пробовал что-то в этом роде, но это ни к чему меня не привело, и после 3 дней попыток разобраться в этом, я готов выколоть себе глаза.

 <script>
<?php
foreach (glob("*.txt") as $filename)
{
    $lines_array = file($filename);

    $search_string_title = "Article_title";
    $search_string_published = "Published";
    $search_string_author = "Author";
    $search_string_desc = "Description";
    $search_string_body = "Body";

    foreach($lines_array as $line)
    {
        if(strpos($line, $search_string_title) !== false)
        {
            list(,$title_str) = explode(":", $line);
        }
        if(strpos($line, $search_string_published) !== false)
        {
            list(,$published_str) = explode(":", $line);
        }
        if(strpos($line, $search_string_author) !== false)
        {
            list(,$author_str) = explode(":", $line);
        }
        if(strpos($line, $search_string_desc) !== false)
        {
            list(,$desc_str) = explode(":", $line);
        }
        if(strpos($line, $search_string_body) !== false)
        {
            list(,$body_str) = explode(":", $line);
        }
    }

    $article_title = $title_str;
    $published = $published_str;
    $author = $author_str;
    $desc = $desc_str;
    $body = $body_str;

    $news_content= array($article_title, $published, $author, $desc, $body);

}
?>

var news = <?php echo json_encode($news_content) ?>;
var title = news[0];
var published = news[1];
var author = news[2];
var desc = news[3];
var body = news[4];

var div = document.createElement("div");
div.style.width = "600px";
div.style.height = "600px";
div.style.background = "red";
div.style.color = "white";

var sHTML = '<div style="text-align:center; padding:15px; font-weight:bold;">'   title   "<br />"   "<br />"   "Published: "   published   "<br />"   "Author: "   author   "<br />"   "<br />"   desc   </div>';

div.innerHTML = sHTML;

div1.appendChild(div);

</script>
  

Комментарии:

1. PHP file_put_contents: php.net/manual/en/function.file-put-contents.php

Ответ №1:

То, что вы пытаетесь сделать, очень похоже на MVC

Я бы сделал это так: создал страницу, подобную той, которую вы описываете, и когда я закончу вводить информацию, я бы отправил данные в PHP-скрипт, чтобы поместить мою информацию в базу данных (например, MySQL).

На странице, где вы хотите, чтобы отображались разделы, я бы просто перебрал строки статей моей базы данных и заставил мой php отображать информацию, которую вы хотите в этих разделах.

Ответ №2:

Похоже, вам нужна база данных!

Вы бы сохранили информацию со страницы, на которой вы разместили, в базе данных. Затем, foo.php загрузил бы эту информацию из базы данных.

Загляните в MySQL с помощью PHP. Они хорошо сочетаются друг с другом. Если вы не знакомы с базами данных в целом, я бы рекомендовал следовать некоторым руководствам по базам данных Microsoft Access. Access позволяет легко визуализировать, как данные сохраняются в базе данных.

Ответ №3:

Я бы подумал о том, чтобы взять эту информацию и поместить ее в базу данных, а на другой странице заставить ее извлекать записи из таблицы базы данных и заполнять divs таким образом.