база данных — изменение цвета фона с помощью переполнения стека

У меня проблема с изменением цвета фона страницы 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 ИЛИ ЧТО-ТО ОБ ЭТОМ. ПРОБЛЕМА Я НЕ МОГУ ПОЛУЧИТЬ ЗНАЧЕНИЕ ПАРАМЕТРА «ЦВЕТ» ДЛЯ ОБНОВЛЕНИЯ БАЗЫ ДАННЫХ.

СПАСИБО

0

Решение

Вы забыли знак доллара раньше color когда вы повторяете свои результаты:

$color = 'color';
while($rows = mysql_fetch_assoc($sql))
echo $rows[color];

должно быть:

$color = 'color';
while($rows = mysql_fetch_assoc($sql))
echo $rows[$color];
0

Другие решения

Тогда попробуй

        $Color = $_GET['colour'];
0

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>

0
По вопросам рекламы [email protected]