У меня есть этот код, и когда я нажимаю кнопку «выкл», статус всегда выключен, но в БД включен
пример
Я нажимаю на запрос галереи в БД, установленном в значение = 1 (вкл), но статус отключается
если я нажму выключить все еще скажу выключен
show.php
<?php
$mysqli = new mysqli("localhost", "root", "pass", "strona");
//----------
function topnews()
{
$query="SELECT topnews FROM opcje";
$topnews=$result=mysql_query($query);
if($topnews == 1)
{
echo "<div id='on'>wlączone</div>";
}
else if($topnews == 0)
{
echo "<div id='off'>wyłączone</div>";
}
}
//------------
function galeria()
{
$query2="SELECT galeria FROM opcje";
$galeria=$result=mysql_query($query2);
if($galeria == 1)
{
echo "<div id='on'>wlączone</div>";
}
else
{
echo "<div id='off'>wyłączone</div>";
}
}
//--------------
function logowanie()
{
$query3="SELECT logowanie FROM opcje";
$logowanie=$result=mysql_query($query3);
if($logowanie == 1)
{
echo "<div id='on'>wlączone</div>";
}
else
{
echo "<div id='off'>wyłączone</div>";
}
}
//--------------
function rejestracja()
{
$query4="SELECT rejestracja FROM opcje";
$rejestracja=$result=mysql_query($query4);
if($rejestracja == 1)
{
echo "<div id='on'>wlączone</div>";
}
else
{
echo "<div id='off'>wyłączone</div>";
}
}
$mysqli->close();
?>
<form action="onoff.php" method="post">
<tr>
<td><p><h3>Okienka na głównej</h3></p><hr></td>
</tr>
<tr>
<td>Status<br></td>
<td><?php topnews(); ?><br></td>
<td><input type="submit" value="wlacz" name="on"/></td>
<td><input type="submit" value="wylącz" name="off"/></td>
</tr>
<tr>
<td><p><h3><hr>Galeria</h3></p><hr></td>
</tr>
<tr>
<td>Status<br></td>
<td><?php galeria(); ?><br></td>
<td><input type="submit" value="wlacz" name="on2"/></td>
<td><input type="submit" value="wylącz" name="off2"/></td>
</tr>
<tr>
<td><p><h3><hr>Logowanie</h3></p><hr></td>
</tr>
<tr>
<td>Status<br></td>
<td><?php logowanie(); ?><br></td>
<td><input type="submit" value="wlacz" name="on3"/></td>
<td><input type="submit" value="wylącz" name="off3"/></td>
</tr>
<tr>
<td><p><h3><hr>Rejestracja</h3></p><hr></td>
</tr>
<tr>
<td>Status<br></td>
<td><?php rejestracja(); ?><br></td>
<td><input type="submit" value="wlacz" name="on4"/></td>
<td><input type="submit" value="wylącz" name="off4"/></td>
</tr>
</form>
onoff.php
<?php
$con=mysqli_connect("localhost","root","pass","strona");
// Check connection
if (mysqli_connect_errno()) {
echo "Błąd podczas łączenia z bazą danych: " . mysqli_connect_error();
}
//===========//top news//===============//
if(isset($_POST['on']))
{
$on = $_POST['on'];
$sql = "UPDATE opcje SET topnews = '1'";
echo "<script>alert('Włączono Pomyslnie');</script>";
header("Refresh: 1; url=wlwyl.php");
}
else if(isset($_POST['off']))
{
$off = $_POST['off'];
$sql = "UPDATE opcje SET topnews = '0'";
echo "<script>alert('Wyłączono Pomyslnie');</script>";
header("Refresh: 1; url=wlwyl.php");
}
//===========//galeria//===============//
if(isset($_POST['on2']))
{
$on2 = $_POST['on2'];
$sql = "UPDATE opcje SET galeria = '1'";
echo "<script>alert('Włączono Pomyslnie');</script>";
header("Refresh: 1; url=wlwyl.php");
}
else if(isset($_POST['off2']))
{
$off2 = $_POST['off2'];
$sql = "UPDATE opcje SET galeria = '0'";
echo "<script>alert('Wyłączono Pomyslnie');</script>";
header("Refresh: 1; url=wlwyl.php");
}
//===========//logowanie//===============//
if(isset($_POST['on3']))
{
$on3 = $_POST['on'];
$sql = "UPDATE opcje SET logowanie = '1'";
echo "<script>alert('Włączono Pomyslnie');</script>";
header("Refresh: 1; url=wlwyl.php");
}
else if(isset($_POST['off3']))
{
$off3 = $_POST['off'];
$sql = "UPDATE opcje SET logowanie = '0'";
echo "<script>alert('Wyłączono Pomyslnie');</script>";
header("Refresh: 1; url=wlwyl.php");
}
//===========//rejestracja//===============//
if(isset($_POST['on4']))
{
$on4 = $_POST['on'];
$sql = "UPDATE opcje SET rejestracja = '1'";
echo "<script>alert('Włączono Pomyslnie');</script>";
header("Refresh: 1; url=wlwyl.php");
}
else if(isset($_POST['off4']))
{
$off4 = $_POST['off'];
$sql = "UPDATE opcje SET rejestracja = '0'";
echo "<script>alert('Wyłączono Pomyslnie');</script>";
header("Refresh: 1; url=wlwyl.php");
}
//============//kiedys cos//==============//
if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
mysqli_close($con);
?>
Ваш код содержит тонну таких:
if($topnews = 1)
Это не то, что вы хотите сделать — это присвоение значения 1
в $topnews
так вот if
утверждение всегда верно и всегда выполняется. Ты ищешь:
if($topnews == 1)
Теперь на ваш код:
$topnews=$result=mysql_query($query);
Вы не должны использовать mysql_*
функционирует больше. Но ценность $topnews
является объектом результата MySQL и не имеет значения из базы данных. Вы должны получить это, что-то похожее на:
$result = mysql_query( $query);
$row = mysql_fetch_array($result);
$topnews = $row['topnews'];
Вы используете неправильные операторы сравнения.
Используйте == или === в операторе if.
Чтобы сделать это еще безопаснее, поменяйте местами константу и переменную!
if (1 == $galeria)
безопаснее, чем
if ($galeria == 1)