@LenaOlegovna

Слетело подключение к базе данных почему?

Здравствуйте друзья, вопрос такой, при настройке ЧПУ слетело подключение к базе данных, не могу понять причину.
ЧПУ настраивала через транслитерацию в файле .htaccess добавила это:

RewriteEngine On
Options +FollowSymlinks
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^articles/([a-z0-9\-]+)/?$ articles/page.php?id=$1 [L]

функция код:

function ftranslite($name){
$name=preg_replace("/[\s+\.\,]/","-",$name);
$name=preg_replace("/[\"\'\!\?\(\)\:\$\%]/","",$name);                
static $trans= array(
'а'=>'a', 'б'=>'b', 'в'=>'v', 'г'=>'g', 'д'=>'d', 'е'=>'e', 'ж'=>'zh', 'з'=>'z',
'и'=>'i', 'й'=>'y', 'к'=>'k', 'л'=>'l', 'м'=>'m', 'н'=>'n', 'о'=>'o', 'п'=>'p',
'р'=>'r', 'с'=>'s', 'т'=>'t', 'у'=>'u', 'ф'=>'f', 'ы'=>'i', 'э'=>'e', 'А'=>'A',
'Б'=>'B', 'В'=>'V', 'Г'=>'G', 'Д'=>'D', 'Е'=>'E', 'Ж'=>'ZH', 'З'=>'Z', 'И'=>'I',
'Й'=>'Y', 'К'=>'K', 'Л'=>'L', 'М'=>'M', 'Н'=>'N', 'О'=>'O', 'П'=>'P', 'Р'=>'R',
'С'=>'S', 'Т'=>'T', 'У'=>'U', 'Ф'=>'F', 'Ы'=>'I', 'Э'=>'E', 'ё'=>"yo", 'х'=>"h",
'ц'=>"ts", 'ч'=>"ch", 'ш'=>"sh", 'щ'=>"shch", 'ъ'=>"", 'ь'=>"", 'ю'=>"yu", 'я'=>"ya",
'Ё'=>"YO", 'Х'=>"H", 'Ц'=>"TS", 'Ч'=>"CH", 'Ш'=>"SH", 'Щ'=>"SHCH", 'Ъ'=>"", 'Ь'=>"",
 'Ю'=>"YU", 'Я'=>"YA");                 
 $strstring = strtr($name, $trans) ;                 
return strtolower($strstring) ;
}


ну и ссылки на страницы блога поменяла на:

gel-travel.ru/articles<?php echo ftranslite($article["title"]) ?>/

ЧПУ заработали, а вывод из базы данных прекратился, подключалась так:

$db = new PDO('mysql:host=localhost;dbname=ХХХ;charset=utf8', 'ХХХ', 'ХХХ');

$currentArticleId = intval($_GET['id']);
$sql = "SELECT * FROM articles WHERE id = '$currentArticleId'";
$result = $db->query($sql);
$article = $result->fetch(PDO::FETCH_ASSOC);

Спасибо заранее.
  • Вопрос задан
  • 115 просмотров
Решения вопроса 2
@galaxy
$currentArticleId = intval($_GET['id']);

А что, $_GET['id'] - целочисленное?
Судя по остальному коду, нет.
Ответ написан
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
ftranslite просто шикарен )))

слетело подключение к базе данных,
Точно? И ошибки небось есть?

вывод из базы данных прекратился
Так вывод или подключение?

gel-travel.ru/articles/<?php echo ftranslite($article["title"]) ?>/ - Мне кажется, или у вас слэш отвалился?

$currentArticleId = intval($_GET['id']);В ид у вас будет попадать транслитерированное название же?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы