Я создал некоторые операторы if/else, чтобы получить имя от url, например http://website.com/page.php?name=Love Кажется, что он выглядит хорошо и не вызывает ошибок, но по какой-то причине я не получаю данные из базы данных. В принципе, он получает «имя» из URL-адреса, и проверка его является одной из разрешенных категорий, если да, он выбирает статью из базы данных, которая имеет st_category = для того, какой пользователь выбрал. Но опять-таки по какой-то причине это не сработает.PHP-инструкции if/else не работают
Вот фрагмент кода, который, как я думаю, вызывает проблему.
<?php
$category = preg_replace('#[^a-z]#i', '', $_GET["name"]);
if ($category = "Love") {
$st_category = "Love";
}
else if ($category = "Work") {
$st_category = "Work";
}
else if ($category = "Money") {
$st_category = "Money";
}
else if ($category = "Kids") {
$st_category = "Kids";
}
else if ($category = "Health") {
$st_category = "Health";
}
else if ($category = "Friends") {
$st_category = "Friends";
}
else if ($category = "Education") {
$st_category = "Education";
}
else if ($category = "Other") {
$st_category = "Other";
}
else {
header("Location: http://www.inelmo.com/");
exit;
}
$sql = mysql_query("SELECT * FROM stories WHERE showing = 1 AND st_category = '$st_category' ORDER BY st_date DESC LIMIT 10") or die (mysql_error("There was an error in connection"));
//And another stuff here to display article
?>
Вы проверили, что '$ _GET ['name']' передает значение в '$ category'? – RobFos
Используйте переключатель, если вы не можете использовать if-else – matino
, что это # в preg_replace. regexes ограничены символом \ right? Также проверьте, имеет ли значение $ _GET ['name'] какое-либо значение? – Shades88