我使用PHP创建了一个小项目,大约有50个用户,每个用户都有自己的用户名和密码,而用户的主要功能是撰写帖子。
用户打开表单页面以撰写帖子,并在填写表单后单击添加按钮。
在这种情况下,表单操作将重定向到另一个页面并将其插入数据库,然后重定向到显示由登录用户撰写的帖子的主页。
问题在于,重定向首页时,已登录用户会看到另一位已登录用户的帖子。这种情况有时(并非总是)发生。
另一个有趣的事情是,如果在这种情况下用户单击F5按钮,则再次显示他自己的帖子。我已经尝试解决这个问题近两个月了。但是我找不到问题的原因。
有人可以帮助我吗?
注意:我使用SESSION进行身份验证!
init.php:
session_start();
session_regenerate_id();
require_once("session.php");
define('DELETION_CONFIRM','onclick="return confirm(\'<<<Предупреждение>>> Вы уверены, что хотите удалить этот элемент?\');"');
define('PAYMENT_CONFIRM','onclick="return confirm(\'<<<Предупреждение>>> Вы уверены, что хотите изменить статус платежа?\');"');
define('SITE_NAME','http://'.$_SERVER['SERVER_NAME']);
define('PAGE_NAME','http://'.$_SERVER['SERVER_NAME']);
define('TOKEN','629625615:AAHBtdU7NzCtw92O1uSG7cu5_ydzCyZxaQ0');
define("GO_BACK_BUTTON", "<button type=\"button\" onclick=\"goBack()\" class=\"btn btn-primary\"><i class=\"fa fa-arrow-left fa-fw\"></i> Hазад</button><script>function goBack(){window.history.back();}</script>");
$path_of_current_page=($_SERVER["PHP_SELF"]);
$current_page=basename($path_of_current_page);
$blank_types_list=array("fcc_export"=>"ФСС ташқи", "fcc_local"=>"ФСС ички", "akd"=>"Раскредитовка/АКД", "fumigation"=>"Акт Фумигация");
require_once("db/database.php");
require_once("model/db_object.php");
require_once("model/user.php");
require_once("model/region.php");
require_once("model/country.php");
require_once("model/role.php");
require_once("model/district.php");
require_once("model/certificate_of_disinfestation.php");
require_once("model/fumigator.php");
require_once("model/fumigation_formula.php");
require_once("model/fumigation_insecticide.php");
require_once("model/fumigation_declaration.php");
require_once("model/disinfected_object.php");
require_once("model/insecticide_exchange.php");
require_once("model/blank_exchange.php");
require_once("model/fumigation_chamber.php");
require_once("model/inspector.php");
require_once("model/monthly_remainder_of_insecticide.php");
require_once("functions.php");
home.php
<?php
include("init.php");
$role="";
if(strpos($_SESSION['role'],"region_fumigator")!==false){
$role=$_SESSION['role'];
}else{
$role="";
}
check_login($role);
$certificate_type=NULL;
$certificates_of_disinfestation_number=count($certificate_of_disinfestation_object->find_by_ids($_SESSION['user_id'],"registrar_id"));
$certificates_of_disinfestation=$certificate_of_disinfestation_object->find_by_ids_with_pagination($_SESSION['user_id'],"registrar_id",$offset,$number_of_records_per_page);
include("header.php");
?>
<!-- Main content -->
<section class="content">
<div class="box-body">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12" style="background-color: white;">
<?php
if(!empty($certificates_of_disinfestation)){
?>
<div class="scrolled_table" >
<table class="js-dynamitable table table-striped" style="min-width:3000px;">
<thead>
<tr>
<th style="width: 70px;border-bottom: 1px solid #119769;">
</th>
<th colspan="2" style="width:210px;">
                    АФ      
</th>
<th colspan="2" style="width:500px;">
                                    Ташкилот                             
</th>
<th colspan="3" style="width:400px;">
                                    Маҳсулот          
</th>
<th style="border-bottom: 1px solid #119769;width:150px;">
</th>
<th colspan="4" style="width:650px;">
                                            Фумигант                
</th>
<th colspan="2" style="width:300px;">
               Фумигант сумма
</th>
<th style="border-bottom: 1px solid #119769;"></th>
<th style="border-bottom: 1px solid #119769;"></th>
<th style="width:110px;border-bottom: 1px solid #119769;"></th>
<th style="width:90px;border-bottom: 1px solid #119769;"></th>
</tr>
<tr>
<th style="width: 70px;border-top:white;">№<?=table_sort_icons();?></th>
<th> № <?=table_sort_icons();?></th>
<th>САНАСИ<?=table_sort_icons();?></th>
<th>Номи <?=table_sort_icons();?></th>
<th>ИНН<?=table_sort_icons();?></th>
<th>Номи<?=table_sort_icons();?></th>
<th>Miqdori<?=table_sort_icons();?></th>
<th>бирлиги<?=table_sort_icons();?></th>
<th>Давлат Hоми<?=table_sort_icons();?></th>
<th>Formulasi<?=table_sort_icons();?></th>
<th>Номи<?=table_sort_icons();?></th>
<th>норма(гр/мл) <?=table_sort_icons();?></th>
<th>cарфланган(гр/мл)<?=table_sort_icons();?></th>
<th>1 m<sup>3</sup>/m<sup>2</sup> <?=table_sort_icons();?></th>
<th>жами<?=table_sort_icons();?></th>
<th><img src="printer.png" width=25></th>
<th><img src="envelope.png" width=25></th>
<th>Имп_Экс_Вын</th>
<th>АФ №<?=table_sort_icons();?></th>
</tr>
</thead>
<tbody>
<?php
if($page_number<2){
$row_number=0;
}else{
$row_number=$number_of_records_per_page*($page_number-1);
}
$product=NULL;
foreach ($certificates_of_disinfestation as $certificate_of_disinfestation){
$row_background=NULL;
if($certificate_of_disinfestation->status=="deleting_process"){
$row_background="yellow";
}elseif($certificate_of_disinfestation->status=="modified"){
$row_background="green";
}
if($certificate_of_disinfestation->certificate_type=="local"){
$certificate_type="Внутренний";
}elseif($certificate_of_disinfestation->certificate_type=="import"){
$certificate_type="Импорт";
}elseif($certificate_of_disinfestation->certificate_type=="export"){
$certificate_type="Экспорт";
}
$payment_button_status="unpaid";
if(!empty($certificate_of_disinfestation->payment_type)){
$payment_button_status="paid";
}
$row_number++;
$country_ru_name=NULL;
if($certificate_of_disinfestation->country_id=="0"){
$country_ru_name=NULL;
}else{
$country=$country_object->find_by_id($certificate_of_disinfestation->country_id);
$country_ru_name=$country->country_ru_name;
}
$fumigation_declaration=$fumigation_declaration_object->find_by_id($certificate_of_disinfestation->declaration_id);
$fumigation_insecticide=$fumigation_insecticide_object->find_by_id($certificate_of_disinfestation->insecticide_id);
$formula=$fumigation_formula_object->find_by_id($fumigation_insecticide->fumigation_formula_id)->formula;
echo "<tr style='background-color:".$row_background.";'>";
echo "<td>".$row_number."</td>";
echo "<td><a>".$certificate_of_disinfestation->certificate_number."</a></td>";
echo "<td>".$certificate_of_disinfestation->certificate_given_date."</td>";
echo "<td>".$certificate_of_disinfestation->organization_name."</td>";
echo "<td>".$certificate_of_disinfestation->organization_inn."</td>";
echo "<td>".$certificate_of_disinfestation->disinfected_building_name."</td>";
echo "<td>".number_format($certificate_of_disinfestation->disinfected_building_volume,3,"."," ")."</td>";
echo "<td>".$certificate_of_disinfestation->disinfected_building_unit."</td>";
echo "<td>".$country_ru_name."</td>";
echo "<td>".$formula."</td>";
echo "<td>".$fumigation_insecticide->name."</td>";
echo "<td>".$certificate_of_disinfestation->insecticide_dosage."</td>";
echo "<td>".number_format($certificate_of_disinfestation->expended_insecticide_amount,3,"."," ")."</td>";
echo "<td>".number_format($fumigation_declaration->price,0,""," ")."</td>";
echo "<td>".number_format($certificate_of_disinfestation->total_price,0,""," ")."</td>";
?>
<?php
echo "<td><a href='print_akt.php?certificate_number=".$certificate_of_disinfestation->certificate_number."'><img src='printer.png' width=25></a></td>";
if($certificate_of_disinfestation->status!="deleting_process"){
?>
<td>
<a style="display: inline; border:none; padding: 0px;" class="btn btn-default btn-lg" data-toggle="modal" data-target="#delete_certificate_of_disinfestation<?php echo $certificate_of_disinfestation->id;?>" title='Buzilgan aktni o`chirish.'>
<i class="fa fa-envelope fa-fw text-yellow"></i>
</a>
</td>
<?php
include("../modal/delete_certificate_of_disinfestation.php");
}else{
echo "<td><a title='Akt ko`rib chiqilmoqda.'><img src='in_process2.png' width=30 ></a></td>";
}
echo "<td>".$certificate_type."</td>";
echo "<td><a>".$certificate_of_disinfestation->certificate_number."</a></td>";
echo "</tr>";
}
?>
</tbody>
</table>
</div>
<?php
}else{
echo notification("warning","fa-ban","Ничего не найдено","Предполагается, что у вас нет зарегистрированного акта.");
}
?>
</div>
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="dynamitable.jquery.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-36251023-1']);
_gaq.push(['_setDomainName', 'jqueryscript.net']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</div>
</div>
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<?php
include("footer.php");
?>