【问题标题】:Php Post method does not enter conditionphp post方法不进入条件
【发布时间】:2016-04-08 04:29:59
【问题描述】:

首先我的英语很糟糕,对不起。我正在尝试用 PHP 写博客。我正在写login.php。但是POST方法没有连接。

我写 kullanici adi 和 sifre 说:

Kullanıcı adı ve Sifre bos birakilaz.

不是语法问题。我正在为数据库使用 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

}

?>

p 函数:

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


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

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

【问题讨论】:

标签: php post methods


【解决方案1】:

这里有语法错误:

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

应该是:

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

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


重要提示

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

Your script might be at risk for SQL Injection Attacks.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 2019-01-06
    • 2012-06-11
    • 1970-01-01
    • 2020-07-01
    相关资源
    最近更新 更多