首先,我的英语很差,对不起。我正在尝试用PHP写博客。我正在写login.php。但是POST方法并没有连接。
我写kullanici adi和sifre说:
Kullanıcıadıve Sifre 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
}
?>
p函数:
function p($par,$st = false)
{
if($st)
{
return htmlspeacialchars(addslashes(trim($_POST[$par])));
}
else
{
return addslashes(trim($_POST[$par]));
}
}
此处出现语法错误:
$query = query("SELECT * FROM ...
应该是:
$query = mysql_query("SELECT * FROM ...
在打开<?php
标记error_reporting(E_ALL); ini_set('display_errors', 1);
后立即将错误报告添加到文件顶部在查询中添加错误检查,例如or die(mysql_error())
。或者,您可以在当前错误日志中找到问题。
重要说明
请停止使用mysql_*
函数。这些扩展已在PHP7中删除。了解PDO和MySQLi的准备语句,并考虑使用PDO,这真的很容易。
您的脚本可能面临SQL注入攻击的风险。