Заменить текст в теге по id PHP

225
16 июля 2017, 12:36

Здравствуйте, пишу что-то типа магазина аккаунтов, и решил замутить несложную авторизацию, через vk-api ведь не сильно хочу париться с mysql и хостинг бесплатный не поддерживает :) Вопрос в авторизации, решил что бы не переделывать всю страницу в PHP просто подключу скрипт который будет контролировать только кнопку входа (ну типа если пользователь уже вошел там пишеться его имя и при нажатии ссылка на личный кабинет).

<h3 id="auth">Войти</h3>

Нужно программным методом заменить "Войти" на "Вы вошли". Яваскрипт не предлогать)

Answer 1

Буферизация + регулярка, и будет на выходе требуемый результат

<?php
session_id() ?: session_start();
ob_start();
?>
<h3 id="auth">Войти</h3>
<?php
// Допустим, id юзера вы сохранили в сессию
$_SESSION['id'] = 1;
$content = '';
if (!empty($_SESSION['id'])) {
    $content = ob_get_contents();
    ob_end_clean();
    $patt = '~(<h3 id="auth">)Войти(</h3>)~';
    $content = preg_replace($patt, '$1Вы вошли$2' , $content);
}
echo $content;
Answer 2

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

$_SESSION['user_id'] = '12345';

И проверять

if( isset($_SESSION['user_id'] )
    include 'login.php';
else
    include 'not_login.php'; 
READ ALSO
Странная работа preg_match PHP 5.6

Странная работа preg_match PHP 5.6

Делаю регистрациюНаписал шаблоны для имени, фамилии и т

181
Помогите решить задачу по СИ [требует правки]

Помогите решить задачу по СИ [требует правки]

Даны строки A и BЕсли в A есть повторяющиеся символы, а в B нет повторяю- щихся символов, то упорядочить символы B в алфавитном порядке и удалить...

261
Ошибка в CMake в CLion с подключением библиотеки

Ошибка в CMake в CLion с подключением библиотеки

Не удается подключить библиотеку zlib к проекту

316