У меня проблема с изменением цвета фона страницы php.
Во-первых, я хочу взять имя цвета из DATABASE, чтобы сделать текущий цвет постоянным. Я имею в виду, что если пользователь изменит цвет фона на СИНИЙ, например, он будет постоянным и постоянным. Итак, я храню цвета в базе данных, но проблема в том, что я не могу обновить базу данных в соответствии с ЦВЕТОМ, который выбирает пользователь.
ЭТО ТЕКУЩИЙ ЦВЕТ ОТ БАЗЫ ДАННЫХ (ЭТА ЧАСТЬ РАБОТАЕТ ХОРОШО, Я ПРОСТО ДОБАВИЛ ЭТУ ЧАСТЬ ДЛЯ ВСЕГО, ЧТОБЫ ПОНИМАТЬ ЛЕГКО);
<body name="body" id="body" bgcolor="
<?php
mysql_connect("localhost","DB","password") or die("ERROR!!");
mysql_select_db("DB") or die("COULDN'T FIND IT!!") or die("COULDN'T FIND DB");$sql = mysql_query("SELECT color FROM background");
$color = 'color';
while($rows = mysql_fetch_assoc($sql))
echo $rows[color];
?>
">
И ЭТО ЧАСТЬ, ЧТО Я ОБНОВЛЯЮ БАЗУ ДАННЫХ;
<?php
$con = mysql_connect("localhost","DB","password") or die("ERROR!!");
mysql_select_db("DB") or die("COULDN'T FIND IT!!") or die("COULDN'T FIND DB");if (isset( $_SESSION['CurrentUser'])){
echo '<form method="post"><center><input type="submit" name="background" value="Change background">';
echo '<input type="submit" name="color" value="Change font color">';
echo '<input type="submit" name="size" value="Change font size"></center></form><br/>';
if (isset( $_POST['background'])){
echo '<span style="color:black"><center>Choose background color</center></span><br/>';
echo '<center><a href="?colour=blue"><img src="blue.png" width="20" height="50"></a></center>';
echo '<center><a href="?colour=black"><img src="black.jpg" width="20" height="50"></a></center>';
echo '<center><a href="?colour=silver"><img src="silver.jpg" width="20" height="50"></a></center>';
echo '<center><a href="?colour=red"><img src="red.png" width="20" height="50"></a></center><br/><br/>';
$Color = $_POST['colour']; // THIS LINE IS THE PROBLEM
if ($Color == 'blue'){
$sql = "UPDATE background SET color='blue' WHERE id=1";
mysql_query($sql,$con); }
if ($Color == 'black'){
$sql = "UPDATE background SET color='black' WHERE id=1";
mysql_query($sql,$con); }
if ($Color == 'silver'){
$sql = "UPDATE background SET color='silver' WHERE id=1";
mysql_query($sql,$con); }
if ($Color == 'red'){
$sql = "UPDATE background SET color='red' WHERE id=1";
mysql_query($sql,$con); }
}
}
?>
</form></td></tr></table>
ВЕЩЬ, ЧТО ВСЕ РАБОТАЕТ, ХОРОШО !! Я имею в виду, я могу обновить базу данных, если я хочу, так что нет ПРОБЛЕМА С СОЕДИНЕНИЕМ MYSQL ИЛИ ЧТО-ТО ОБ ЭТОМ. ПРОБЛЕМА Я НЕ МОГУ ПОЛУЧИТЬ ЗНАЧЕНИЕ ПАРАМЕТРА «ЦВЕТ» ДЛЯ ОБНОВЛЕНИЯ БАЗЫ ДАННЫХ.
СПАСИБО
Вы забыли знак доллара раньше color
когда вы повторяете свои результаты:
$color = 'color';
while($rows = mysql_fetch_assoc($sql))
echo $rows[color];
должно быть:
$color = 'color';
while($rows = mysql_fetch_assoc($sql))
echo $rows[$color];
Тогда попробуй
$Color = $_GET['colour'];
How about this:
//....
echo '<form method="post"><center><input type="submit" name="background" value="Change background">';
echo '<input type="submit" name="color" value="Change font color">';
echo '<input type="submit" name="size" value="Change font size"></center></form><br/>';
if (isset( $_POST['background'])){
echo '<span style="color:black"><center>Choose background color</center></span><br/>';
echo '<center><a href="?colour=blue"><img src="blue.png" width="20" height="50"></a></center>';
echo '<center><a href="?colour=black"><img src="black.jpg" width="20" height="50"></a></center>';
echo '<center><a href="?colour=silver"><img src="silver.jpg" width="20" height="50"></a></center>';
echo '<center><a href="?colour=red"><img src="red.png" width="20" height="50"></a></center><br/><br/>';
}
if( !empty( $_GET['colour'] )) {
$Color = $_GET['colour'];
if ($Color == 'blue'){
$sql = "UPDATE background SET color='blue' WHERE id=1";
mysql_query($sql,$con); }
if ($Color == 'black'){
$sql = "UPDATE background SET color='black' WHERE id=1";
mysql_query($sql,$con); }
if ($Color == 'silver'){
$sql = "UPDATE background SET color='silver' WHERE id=1";
mysql_query($sql,$con); }
if ($Color == 'red'){
$sql = "UPDATE background SET color='red' WHERE id=1";
mysql_query($sql,$con); }
}
}
?>
</form>