Php Post方法不进入条件

时间:2016-01-04 14:20:12

标签: php post methods

首先,我的英语非常糟糕,抱歉。我正在尝试用PHP编写博客。我正在写login.php。但POST方法没有连接。

我写了kullanici adi和sifre说:

  

KullanıcıadıveSifre bos birakilamaz。

这不是语法问题。我正在使用datagrip数据库。 问题if($_POST) - >无法从这里阅读

<?php
if($_SESSION["login"]) // üye giris yaptımı yapmadımı session login kullanıcı girisi yapılmıssa gösterilir
{
require_once "inc/default.php";

}else {

    if($_POST)
    {

        $kadi = p("kadi"); // wherein p function
        $sifre = p("sifre");

        if(!$kadi || !$sifre){
            echo "Kullanıcı adı ve Sifre bos birakilamaz.";
        }
        else{
            $query = query("SELECT * FROM uyeler WHERE uye_kadi = '$kadi' &&  uye_sifre='$sifre' && uye_rutbe = 1");
            if(mysql_affected_rows()) // etkilenen satır varmı
            {
                $row = row($query); // row fonksiyonu çağrılır
                $session = array( // sessionlar oluşturulur.
                    "uye_id" => $row["uye_id"],
                    "uye_rutbe" => $row["uye_rutbe"],
                    "uye_kadi" => $row["uye_kadi"]
                );
                session_olustur($session);

                go(URL."/admin");
            }
            else
            {
                echo "<font color='red> Böyle bir Teknovol yöneticisi bulunmamaktadır.</font>";
            }
        }



    }

HTML:

<div id="giris_yap">
        <form action="" method="POST">
        <table cellpadding="0" cellspacing="0">
            <tr>
                <td>Kullanıcı Adı : </td>
                <td><input type="text" name="kadi"/></td>

            </tr>
            <tr>
                <td>Şifre : </td>
                <td><input type="password" name="sifre"></td>
            </tr>
            <tr>
                <td></td>
                <td><button type="submit"> Giriş yap</button> </td>
            </tr>


        </table>
        </form>
    </div>


    <?php

}

&GT;

p函数:

function p($par,$st = false)
{
if($st)
{


    return htmlspeacialchars(addslashes(trim($_POST[$par])));

}
else
{
    return addslashes(trim($_POST[$par]));
}
}

1 个答案:

答案 0 :(得分:2)

这里有语法错误:

$query = query("SELECT * FROM ... 

应该是:

$query = mysql_query("SELECT * FROM ...

在您打开<?php代码error_reporting(E_ALL); ini_set('display_errors', 1);后立即在文件顶部添加错误报告 在查询中添加错误检查,例如or die(mysql_error())。或者您可以在当前的错误日志中找到问题。

重要提示

stop using mysql_* functions。已在PHP 7中删除These extensions。了解preparedPDOMySQLi语句,并考虑使用PDO,it's really pretty easy

Your script might be at risk for SQL Injection Attacks.