ON / OFF值状态始终处于脱机状态

时间:2014-10-13 19:44:44

标签: php html mysql status

我有这个代码,当我点击按钮"关闭"状态总是关闭但是在db中

例如

我点击数据库设置中的galery查询为value = 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);
?>

2 个答案:

答案 0 :(得分:3)

您的代码中包含大量内容:

if($topnews = 1)

这不是您想要做的 - 它将1的值分配给$topnews,因此此if语句始终为true且始终为true执行。您正在寻找:

if($topnews == 1)

现在,在你的代码上:

$topnews=$result=mysql_query($query);

You shouldn't be using mysql_* functions anymore。但是,$topnews的值是MySQL结果对象,并且没有来自数据库的值。你需要获取它,类似于:

$result = mysql_query( $query);
$row = mysql_fetch_array($result);
$topnews = $row['topnews'];

答案 1 :(得分:0)

您使用的是错误的比较运算符。 在if语句中使用==或===。

为了使它更安全,交换常量和变量!

if (1 == $galeria)

更安全
if ($galeria == 1)