В общем я написал скрипт, который автоматически подставляет на всех страницах статей, keywords и description, в соответствии с тем, что указано в соответствующих полях input. И вот у меня возник вопрос, а как мне теперь сделать так, чтобы текст заголовка h1, автоматически подставлялся в keywords и description? Желательно с возможностью выбрать местоположение, куда именно будет подставляться текст из h1. К примеру если пользователь ввел в поле input description "в этой статье мы рассмотрим" и вместо слов " этой статье", подставлялось значение h1 этой самой статьи. Значение h1 для каждой статьи хранится в БД, как и значение текста, который пользователь вводит в поле input. Код скрипта: Код (PHP): <?php include('session.php'); /*Защита от пустых переменных*/ if(isset($_POST['description'])) {$description = $_POST['description']; if($description == '') {unset($description);}} if(isset($_POST['keywords'])) {$keywords = $_POST['keywords']; if($keywords == '') {unset($keywords);}} include('menu.php'); ?> <div class="content"> <p>Здесь автоматическое изменение мета-тегов!</p> <?php /*Проверяем переменные на существование*/ if(isset($description) && isset($keywords)) { /*Занести значения в БД, если переменные существуют*/ $tags = mysql_query ("UPDATE meta SET description='$description',keywords='$keywords'"); if($tags == 'true') {echo"<p>Данные обновлены!</p>";} /*Иначе*/ else{echo"<p>Ошибка!</p>";} } ?> <form name="form" method="post" action="update.php"> <p> <label>Задайте шаблон для "keywords"<br> <input type="text" name="keywords" id="keywords"> </label> </p> <p> <label>Задайте шаблон для "description"<br> <input type="text" name="description" id="description" </label> </p> <p> <label> <input type="submit" name="submit" id="submit" value="Внести в базу для всех статей"> </label> </p> </form> </div> <?php include('foot.php'); ?> PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
Попробуй распарсить содержимое тега <h1></h1> в момент подгрузки из БД: Код (PHP): $bd = file_get_contents('bd.txt'); //где $bd - БД mb_ereg("<h1>(.*?)</h1>", $bd, $h); $h1 = $h[1]; //и запихнуть в содержимое h1 в переменную $h1
а этот код куда надо подставить и какой логический смысл он несет? Я просто недавно в веб-разработке, попробуй более доступным языком объяснить) и ещё вопрос, что подставить вместо bd.txt, если у меня БД хранится на сервере БД SQL, захожу в неё через phpmyadmin, название bd = siteofnews, meta = название таблицы, в которой столбцы h1, keywords и description...h1 кстати хранится без тегов <h1> </h1>, а просто как текст, подставляется в html в виде <h1><?echo $myrow['h1']?></h1>
Так вот тебе и готовая PHP переменная Код (PHP): $myrow['h1'] Вставляй $myrow['h1'] до или после $description Код (PHP): $h1 = $myrow['h1']; //преобразовал с более приятную переменную $h1 $tags = mysql_query ("UPDATE meta SET description='$description. $h1',keywords='$h1. $keywords'"); //подстановка $h1 главное, точками разделяй переменные + пробел, если нужен для разделения текста
ага, вроде чё то начинает получаться) последний вопрос, как в переменную $h1 вытащить массив значений столбца h1 из таблицы и корректно его распределить на каждую статью. Прикол в том, что в этом файле переменной $myrow['h1'] не существует, она подключается совсем в другой файл, в которой вытаскивается из другого с формы методом POST. Я сделал так, прописал над проверкой на существование переменных: Код (Text): $h1 = $myrow['$h1'] = mysql_query("SELECT h1 FROM meta"); ну и в запросе на UPDATE добавил $h1 через точку как ты написал, но он мне почему то вместо значений h1 из базы, подставляет выражение "Resource #id 6", в чем беда ?
да это понятно, тут вопрос не в функциональности этих тегов на самом сайте, а как сам "факт" выполнения этого задания В общем сделал вот так: Код (Text): <?php include('sessions.php'); $res = mysql_query("SELECT h1 FROM meta"); while ($h1 = mysql_fetch_assoc($res)){ $in = $h1 ['h1']; }; -------------------------------------------------------- /*Занести значения в БД, если переменные существуют*/ $tags = mysql_query ("UPDATE meta SET description='$description.$in',keywords='$in.$keywords'"); if($tags == 'true') {echo"<p>Данные успешно обновлены!</p>";} /*Иначе выполнить*/ else{echo"<p>Ошибка! Данные не обновлены!</p>";} } ?> ---------------------------------------------------------- Теперь заголовок подставляется, но подставляется ко всем одинаковый, тот, который в столбце h1 самый последний. Как обработать результат запроса к БД, чтобы к каждой статье, добавлялся именно её заголовок ?