Простая админ-панель

154
16 августа 2017, 19:41

Всем здрасте!нужно управления контента главной страницы - Изменение первого блока главной страницы (заголовок, текст) а также изменение title, description всей главной страницы(на PHP).как это реализовать? проюзал 2 дня! толку 0. Вот код html

<!DOCTYPE html>
<html lang="en">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<link href="test.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/css/bootstrap.min.css">
</head>
<body>
<script src="#"></script>
<div class="wrapper">
 <div id="content">
 <div id="volna">волна</div>
<form action="test.php" method="POST" name="form1":>
<p><label><br><input type="text" name="name" size="35" maxlength="20" placeholder="Введите Ваше имя..."></label></p>
<p><label><input type="text" name="phone" size="35" maxlength="20" placeholder="Введите номер Вашего телефона..."></label></p>
<p><select size="1" name="hero">
    <option disabled>Выберите страну</option>
    <option value="Турция">Турция</option>
    <option value="Испания">Испания</option>
    <option value="Мальдивы">Мальдивы</option>
    <option value="Авганистан">Авганистан</option>
   </select></p>
  <p><input id="resetField" type="reset" name="reset" value="очистить"></p>
<p id="sendEmail"><input id="butt"type="image" src="https://us.123rf.com/450wm/kebox/kebox1407/kebox140700079/30339878-puzzle-button-send.jpg?ver=6" width="100" name="imagebutton"></p>
</form>
</div>
<div class="footer">Copyright © <a href="https://www.facebook.com/sergey.karachik" target="_blank">xlabuchik</a> 2017. All rights reserved.</div> 
  </div>
</body>
</html>

дальше PHP

<?php
/* Осуществляем проверку вводимых данных и их защиту от враждебных 
скриптов */
$ip = getenv('REMOTE_ADDR');
$name = $_POST["name"];
$phone = htmlspecialchars($_POST["phone"]);
$hero =$_POST["hero"];
/* Устанавливаем e-mail адресата */
$myemail = "xlabuchik@gmail.com";
/* Проверяем заполнены ли обязательные поля ввода, используя check_input 
функцию */
$name = check_input($_POST["name"], "Пожалуйста, введите Ваше имя!");
$phone = check_input($_POST["phone"], "Укажите, пожалуйста, номер Вашего телефона! (Нужен, для того чтобы мы могли связаться с Вами).");
/* Создаем новую переменную, присвоив ей значение */
$message_to_myemail = "Hello! <br>
хотят отдохнуть в: $hero <br>
захотел: $name <br>
сказал чтоб перезвонили ему: $phone <br>
IP-адрес:$ip <br>
End";
/* Отправляем сообщение, используя mail() функцию */
$from  =  "From: $yourname <$email> \r\n Reply-To: $email \r\n"
          ."Content-Type: text/html; charset=\"utf-8\"\r\n";
mail($myemail, $tema, $message_to_myemail, $from);
?>
<p>Ваше сообщение было успешно отправлено!</p>
<p>На <a href="index.html">Главную >>></a></p>
<?php
/* Если при заполнении формы были допущены ошибки сработает 
следующий код: */
function check_input($data, $problem = "")
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
if ($problem && strlen($data) == 0)
{
show_error($problem);
}
return $data;
}
function show_error($myError)
{
?>
<html>
<body>
<p>Пожалуйста, исправьте следующую ошибку:</p>
<?php echo $myError; ?>
</body>
</html>
<?php
exit();
}
?>
Answer 1

Если чесно, я не совсем понял связь между текстом запроса и прикрепленным кодом. Ну да ладно, отвечу на текст. Как вариант вы можете подключиться к Базе Данных. Создать там таблицу homePageConfig и там прописать поля: id (PRIMARY A_I), configName (varchar 255), configValue (varchar 255). Вставьте в эту таблицу запись:

 INSERT INTO homePageConfig (configName, configValue) VALUES ('webSiteTitle', "HELLO WORLD");

Потом создайте admin.php где будет форма с полем, например "Title". Обработчик формы, подключится к БД, найдет содержимое поля webSiteTitle, и заменит его на значение из формы admin.php

Ну и для вывода результата. Ваш HTML файл должен превратиться в PHP. В нем вы подключитесь к БД, достанете нужную запись и выведете ее внутри тэга titile. Например.

<?php
$title = PDO::query("SELECT configValue FROM homePageConfig WHERE configName = 'webSiteTitle'")->fetchColumn();
?>
<title><?=$title?></title>
READ ALSO
На сервер не приходят данные переданные методом POST через AJAX (без jquery)

На сервер не приходят данные переданные методом POST через AJAX (без jquery)

Отправляю данные на сервер через AJAX в рамках одного домена, но сервер ничего не получает

213
Запись в БД через POST

Запись в БД через POST

так работает:

209
PHP - получить url страницы

PHP - получить url страницы

На странице выполняется php скриптАдрес страницы типа: site

149
Как используя ActionColumn скрыть/показать кнопки в определенной строке?

Как используя ActionColumn скрыть/показать кнопки в определенной строке?

Использую стандартный GridView::widgetПодскажите как в ActionColumn отобразить по условию в одной строке только просмотр ({view}), а в другой просмотр и удаление...

180