|
|
|
ช่วยผมด้วยย Warning: Unknown: Input variables exceeded 1000 |
|
|
|
|
|
|
|
Code
Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0
ผมทำโปรเจคภายในสาขาครับ เขียนบน php 5.2.6 แต่ทางสาขาอัพเดทเป็น php 5.4 เลยทำให้การเขียนโค้ดแบบลวก ๆ ของผมต้องมานั่งเช็คใหม่ แล้วมันมีปัญหาเรื่อง เวลาที่เรา submit ข้อมูลที่มันมาก ๆ มันทำให้เกิด PHP Fatal error ดังกล่าว
นี่คือโค้ดการ submit ของผมครับ php 5.2.6 ใช้ได้ แค่ php 5.4 ใช้ไม่ได้
Code (PHP)
<?php
@session_start();
include("../check/check_status_admin.php");
$path = "../../include/";
include($path."header2.php");
include($path."database_info.php");
$process = $_POST["process"];
$reg_toeic_free_id = $_POST['reg_toeic_free_id'];
$count_code = $_POST['count_code'];
$term_code = $_POST['term_code'];
$year_code = $_POST['year_code'];
@$pro = $_GET["Action"];
if(isset($format)){
date($format);
}
$dates = date("Y-m-d H:i:s");
?>
<title>:: คะแนนสอบTOEICฟรี ::</title>
<body>
<div class="art-box art-sheet">
<div class="art-box-body art-sheet-body" style="min-height:445px">
<h2 class="art-postheader">คะแนนสอบTOEICฟรี</h2>
<?php if($pro == "Save")
{
for($i=1;$i<=$_POST["hdnLine"];$i++)
{
$strSQL = "UPDATE toeic_free_sco SET ";
$strSQL .="LISTEN_SCO = '".$_POST["listen_sco$i"]."' ";
$strSQL .=",READ_SCO = '".$_POST["read_sco$i"]."' ";
$strSQL .=",SCORE = '".$_POST["score$i"]."' ";
$strSQL .=",TF_TYPE = '".$_POST["tf_type$i"]."' ";
$strSQL .=",UPDATE_TABLE = '".$_POST["update_table$i"]."' ";
$strSQL .="WHERE REG_TOEIC_FREE_ID = '".$_POST["reg_toeic_free_id$i"]."' AND UID = '".$_POST["uid$i"]."'";
$query_sql_toeic = $db->query($strSQL);
$strSQL = "UPDATE user SET ";
$strSQL .="STATUS_TOEIC_TEST = '".$_POST["tf_type$i"]."' ";
$strSQL .=",UPDATE_TABLE = '".$_POST["update_table$i"]."' ";
$strSQL .="WHERE STUDENT_ID = '".$_POST["student_id$i"]."'";
$query_sql_status = $db->query($strSQL);
}echo "<script>alert('บันทึกข้อมูลเรียบร้อย');window.location.href='admin_show_sco_ftoeic.php?count_code=$count_code&term_code=$term_code&year_code=$year_code';</script>";
}
?>
<?php
// คิวรี่ขอมูลของนักศึกษาที่ลงทะเบียนสอบฟรี TOEIC
$sql_toeic = " SELECT DISTINCT c.STUDENT_ID,f.PRENAME_NAME,c.FIRST_NAME_TH,c.LAST_NAME_TH,
d.PROGRAM_NAME_SHORT,g.LISTEN_SCO,g.READ_SCO,g.SCORE,g.TF_TYPE,j.TOEIC_SCORE,a.REG_TOEIC_FREE_ID,a.UID
FROM reg_toeic_free a
LEFT JOIN user c ON a.UID = c.UID
LEFT JOIN program d ON c.PROGRAM_ID = d.PROGRAM_ID
LEFT JOIN faculty e ON d.FACULTY_ID = e.FACULTY_ID
LEFT JOIN prefix f ON c.PRENAME_ID = f.PRENAME_ID
LEFT JOIN toeic_free_sco g ON a.REG_TOEIC_FREE_ID = g.REG_TOEIC_FREE_ID and a.UID = g.UID
LEFT JOIN groups i ON c.UID = i.UID
LEFT JOIN student_group j ON i.STUDENT_GROUP_ID = j.STUDENT_GROUP_ID
where a.COUNT_CODE ='".$count_code."' and a.YEAR_CODE = '".$year_code."' and a.TERM_CODE = '".$term_code."'
ORDER BY c.STUDENT_ID ASC ";
$query_sql_toeic = $db->query($sql_toeic);
$i = 0;
$j = 1;
$bg = 0;
?>
<table align="center" width="100%">
<tr>
<td align="center" class="study3" colspan="10">รายชื่อนักศึกษาที่ลงทะเบียนสอบ TOEIC ฟรี: เตรียมความพร้อมภาษาอังกฤษเพื่อการทำงาน ครั้งที่ <?php echo $count_code ?> ภาคเรียนที่ <?php echo $term_code?> ปีการศึกษา <?php echo $year_code ?></td>
</tr>
</table>
<form id="form1" method="post" action="admin_edit_show_sco_ftoeic.php?Action=Save">
<input type="hidden" id="process" name="process" value="<?php echo $process; ?>">
<input type="hidden" id="reg_toeic_free_id" name="reg_toeic_free_id" value="<?php echo $reg_toeic_free_id; ?>">
<input type="hidden" id="count_code" name="count_code" value="<?php echo $count_code; ?>">
<input type="hidden" id="term_code" name="term_code" value="<?php echo $term_code; ?>">
<input type="hidden" id="year_code" name="year_code" value="<?php echo $year_code; ?>">
<table width="100%" border="0" align="center" cellpadding="2" cellspacing ="1" bordercolor="#000">
<tr class="head_ex">
<th width="5%" height="46" align="center">ลำดับ</td>
<th width="10%" height="46"align="center">ยูสเซอร์</td>
<th width="13%" height="46" align="center">รหัสนักศึกษา</td>
<th width="20%" height="46" align="center">ชื่อ - สกุล</td>
<th width="13%" height="46" align="center">สาขาวิชา</td>
<th width="10%" height="46" align="center">ทักษะการฟัง</td>
<th width="10%" height="46" align="center">ทักษะการอ่าน</td>
<th width="7%" height="46" align="center">รวม</td>
<th width="7%" height="46" align="center">สถานะ</td>
</tr>
<?php while($rec_toeic = $query_sql_toeic->fetch()){
$i = $i + 1;
$bg++;
$bgcolor = ( ($bg%2)==0 )? "#ffffff" : "#EEEEEE" ;
?>
<style>
#tr1:hover {background-color: #F90;}
</style>
<input type="hidden" id="check_i" name="check_i" value="<?php echo $i; ?>">
<script>
$(document).ready(function() {
$('.inputScore').keyup(function () {
sum = 0;
//alert(sum1);
var tr=$(this).parentsUntil('tr');
$(this).parentsUntil('tr').parent().find('.inputScore').each(function(index, element) { sum += ($(element).val()*1);})
$(this).parentsUntil('tr').parent().find('#score').val(sum)
$(this).parentsUntil('tr').parent().find('#tf_type').val( (sum>=parseInt($(this).parentsUntil('tr').parent().find('#check_score').val())? 1 : 0 ));
$(this).parentsUntil('tr').parent().find('#tf_type2').val( (sum>=parseInt($(this).parentsUntil('tr').parent().find('#check_score').val())? 'ผ่าน' : 'ไม่ผ่าน' ));
});
$('.inputTime').keyup(function () {
sum = 0;
//alert(sum1);
var tr=$(this).parentsUntil('tr');
$(this).parentsUntil('tr').parent().find('.inputScore').each(function(index, element) { sum += ($(element).val()*1);})
$(this).parentsUntil('tr').parent().find('#score').val(sum)
$(this).parentsUntil('tr').parent().find('#tf_type').val( (sum>=parseInt($(this).parentsUntil('tr').parent().find('#check_score').val())? 1 : 0 ));
$(this).parentsUntil('tr').parent().find('#tf_type2').val( (sum>=parseInt($(this).parentsUntil('tr').parent().find('#check_score').val())? 'ผ่าน' : 'ไม่ผ่าน' ));
});
})
</script>
<tr id="tr1" class="font_ex" bgcolor="<?php echo $bgcolor ;?>">
<td align="center"><?php echo $j;?></td>
<input type="hidden" name="reg_toeic_free_id<?php echo $i;?>" size="5" value="<?php echo $rec_toeic["REG_TOEIC_FREE_ID"];?>">
<input type="hidden" name="update_table<?php echo $i;?>" size="5" value="<?php echo $dates;?>">
<input type="hidden" name="uid<?php echo $i;?>" size="5" value="<?php echo $rec_toeic["UID"];?>">
<input type="hidden" name="student_id<?php echo $i;?>" size="13" value="<?php echo $rec_toeic["STUDENT_ID"];?>">
<td align="center"><?php echo $rec_toeic["UID"];?></td>
<td align="center"><?php echo $rec_toeic["STUDENT_ID"];?></td>
<td style="border: 0px solid #FFFFFF;">
<table width="100%" border="0" align="left" style="color:#000;">
<tr>
<td width="22%"><?php echo $rec_toeic["PRENAME_NAME"];?></td>
<td width="34%"><?php echo $rec_toeic["FIRST_NAME_TH"];?></td>
<td width="44%"><?php echo $rec_toeic["LAST_NAME_TH"];?></td>
</tr>
</table>
</td>
<td align="center"><?php echo $rec_toeic["PROGRAM_NAME_SHORT"];?></td>
<td align="center">
<input type="hidden" id="check_score" name="check_score" value="<?php echo $rec_toeic["TOEIC_SCORE"]; ?>">
<input type="text" class="inputScore" name="listen_sco<?php echo $i;?>" id="listen_sco" size="9" value="<?php echo $rec_toeic["LISTEN_SCO"];?>" onKeyUp="check_numbern(this.value,this);">
</td>
<td align="center">
<input type="text" class="inputScore" name="read_sco<?php echo $i;?>" id="read_sco" size="9" value="<?php echo $rec_toeic["READ_SCO"];?>" onKeyUp="check_numbern(this.value,this);"></td>
<td align="center">
<input style="background-color:transparent;border:none;font-weight:bold;text-align:center" type="text" readonly name="score<?php echo $i;?>" id="score" size="9" value="<?php echo $rec_toeic["LISTEN_SCO"]+$rec_toeic["READ_SCO"];?>">
</td>
<td align="center">
<input style="background-color:transparent;border:none;font-weight:bold;text-align:center" type="text" readonly name="tf_type2<?php echo $i;?>" id="tf_type2" size="9" value="<?php echo $array_tc[$rec_toeic["TF_TYPE"]];?>">
<input type="hidden" readonly name="tf_type<?php echo $i;?>" id="tf_type" size="9" value="<?php echo $rec_toeic["TF_TYPE"];?>"></td>
</tr>
<?php
$i++;
$j++;
} ?>
</table>
<div align="center" style="margin-top:5px;margin-bottom:5px">
<input type="submit" id="button" name="button" value="ตกลง" class="buttonn small green rounded" style="width:80px">
<input type="hidden" name="hdnLine" value="<?php echo $i;?>">
<input type="button" id="button" name="button" value="ยกเลิก" onClick="window.location.href = 'admin_sco.php?page=0'" class="buttonn small red rounded">
</div>
</form>
</div>
</div>
</body>
<?php
include($path."footer2.php");
?>
จะต้องแก้ไขอย่างไรบ้างครับ ถ้าพี่ ๆ แนะนำให้เขียนการส่งข้อมูลใหม่ ช่วยแนะนำผมทีครับ
Tag : PHP
|
ประวัติการแก้ไข 2015-07-30 09:59:04 2015-07-30 10:01:53 2015-07-30 11:38:54 2015-07-30 11:41:16
|
|
|
|
|
Date :
2015-07-30 09:58:16 |
By :
por-jr |
View :
4491 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
น่าจะเกิดจาก $_GET, $_POST , $_COOKIE ที่มีหลายตัวเกินไปครับปรับให้มันน้อยลง(อย่าบอกนะว่าเกิน 1000 ตัว ผมนี้สงสาร client & server เลย T_T) หรือไปปรับ max_input_vars ใน php.ini ให้มันมากกว่าค่าdefault ครับ
|
ประวัติการแก้ไข 2015-07-30 10:23:40
|
|
|
|
Date :
2015-07-30 10:23:17 |
By :
meannerss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก่อนจะแก้อย่างอื่น เคยลอง วิวซอร์ส ออกมาดู โครงสร้าง html บ้างไหมครับ มันซ้ำซ้อนกันครับ
เอา script ไปไว้ในลูป while มันสร้างทุกครั้งที่วนลูป
น่าจะทำ submit เป็น record ไปนะครับ
โดยทำการวนลูป ด้วย javascript แล้ว อ่านค่า ส่ง update ทีละ row
|
|
|
|
|
Date :
2015-07-30 12:48:00 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|