8
Tôi đang gặp phải sự cố lạ ở đây, tôi đã có một đoạn mã hoạt động tốt cho đến hôm qua. Đột nhiên nút của tôi đã ngừng thực hiện Yêu cầu POST. Dưới đây là mã mẫu. Khi tôi nhấp vào nút btnsubmit
, trang sẽ được chuyển hướng đến view_teacherupdate.php nhưng nó không in "nút đã gửi";đã ngừng thực hiện yêu cầu POST
<form method="post" action="view_teacherUpdate.php">
<input type="submit" name="btnsubmit" value="submit"/>
</form>
view_teacherUpdate.php
if(isset($_POST["btnsubmit"]))
{
echo "button submitted";
}
tôi đã kích hoạt error_reporting(E_ALL);
nhưng tôi không nhận được bất kỳ lỗi hoặc cảnh báo.
Phiên được bật trong cả hai trang.
bất kỳ trợ giúp nào sẽ được đánh giá cao. Cảm ơn trước.
Full Code:
ViewTeacherUpdatePage:
<?php
session_start();
require_once 'includewisdom/class.user.php';
//require_once 'includewisdom/class.user.php';
error_reporting(E_ALL);
$user_home = new USER();
if(!$user_home->is_logged_in())
{
$user_home->redirect('includewisdom/login.php');
}
function file_upload_error_message($error_code) {
switch ($error_code) {
case UPLOAD_ERR_INI_SIZE:
return 'The uploaded file exceeds the upload_max_filesize directive in php.ini';
case UPLOAD_ERR_FORM_SIZE:
return 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form';
case UPLOAD_ERR_PARTIAL:
return 'The uploaded file was only partially uploaded';
case UPLOAD_ERR_NO_FILE:
return 'No file was uploaded';
case UPLOAD_ERR_NO_TMP_DIR:
return 'Missing a temporary folder';
case UPLOAD_ERR_CANT_WRITE:
return 'Failed to write file to disk';
case UPLOAD_ERR_EXTENSION:
return 'File upload stopped by extension';
default:
return 'Unknown upload error';
}
}
if(isset($_POST["btnUpdateNew"]))
{
echo "hfvghfhgfhgf enter";
$TeacherID=5;
$teachername=trim($_POST["teachername"]);
$current_address=trim($_POST["current_address"]);
$teaching_locationsarray=$_POST["teaching_locations"];
$teaching_locationsarray=array_unique($teaching_locationsarray);
$teaching_location="";
foreach($teaching_locationsarray as $temp)
{
$teaching_location=$temp.",".$teaching_location;
}
$teaching_location=rtrim($teaching_location,",");
//echo $teaching_location;
$teachingzone=trim($_POST["teachingzone"]);
//$TeacherLocation[]
$TeacherLocationarray=$_POST["TeacherLocation"];
$TeacherLocationarray=array_unique($TeacherLocationarray);
$TeacherLocation="";
foreach($TeacherLocationarray as $temp)
{
$TeacherLocation=$temp.",".$TeacherLocation;
}
$TeacherLocation=rtrim($TeacherLocation,",");
//$residenceZone=trim($_POST["residenceZone"]);
//$Teaching_subject[]
$Teaching_subjectarray=$_POST["Teaching_subject"];
$Teaching_subjectarray=array_unique($Teaching_subjectarray);
$Teaching_subject="";
foreach($Teaching_subjectarray as $temp)
{
$Teaching_subject=$temp.",".$Teaching_subject;
}
$Teaching_subject=rtrim($Teaching_subject,",");
//$residenceZone=trim($_POST["residenceZone"]);
//$TeachingGroup[]
$TeachingGrouparray=$_POST["TeachingGroup"];
$TeachingGrouparray=array_unique($TeachingGrouparray);
$TeachingGroup="";
foreach($TeachingGrouparray as $temp)
{
$TeachingGroup=$temp.",".$TeachingGroup;
}
$TeachingGroup=rtrim($TeachingGroup,",");
//$residenceZone=trim($_POST["residenceZone"]);
//$edu_subject[]
$edu_subjectarray=$_POST["edu_subject"];
$edu_subjectarray=array_unique($edu_subjectarray);
$edu_subject="";
foreach($edu_subjectarray as $temp)
{
$edu_subject=$temp.",".$edu_subject;
}
$edu_subject=rtrim($edu_subject,",");
//$residenceZone=trim($_POST["residenceZone"]);
//$EducationGroup[]
$EducationGrouparray=$_POST["EducationGroup"];
$EducationGrouparray=array_unique($EducationGrouparray);
$EducationGroup="";
foreach($EducationGrouparray as $temp)
{
$EducationGroup=$temp.",".$EducationGroup;
}
$EducationGroup=rtrim($EducationGroup,",");
$residenceZone=trim($_POST["residenceZone"]);
$gender=trim($_POST["gender"]);
$board=trim($_POST["board"]);
$Qualification=trim($_POST["Qualification"]);
$enrollmentdate=trim($_POST["enrollmentdate"]);
$dob=trim($_POST["dob"]);
}
ViewTeacherPage (nơi nút được nhấp)
<?php
session_start();
require_once 'includewisdom/class.user.php';
//require_once 'includewisdom/class.user.php';
error_reporting(E_ALL);
define('PAC_PATH','phpAutocomplete');
require_once("phpAutocomplete/conf.php");
$user_home = new USER();
if(!$user_home->is_logged_in())
{
$user_home->redirect('includewisdom/login.php');
}
$tutorRequirement=[];
if(isset($_POST["deleteDocs"]))
{
$TeacherID=trim($_GET["id"]);
//echo $TeacherID;
$stmt1 = $user_home->runQuery("UPDATE `teacher_info` SET `idproof`='',`degree`='',`marksheet`='',`tenmarksheet`='',`degreemarksheet`='',
`additionalDocuments`='',
`addressproof`='' WHERE userid=:uid");
$stmt1->bindparam(":uid",$TeacherID);
$stmt1->execute();
//echo "sgadjfdgs";
}
if(isset($_POST["submitRequestRequirement"]))
{
$noteid=trim($_GET["noteid"]);
$tutorid=trim($_GET["id"]);
$stmtInsert="";
$stmtRequest = $user_home->runQuery("SELECT * FROM `TutorRequestRequirement` WHERE TutorID='$tutorid' and RequestID='$noteid'");
$stmtRequest->execute();
//fetch(PDO::FETCH_ASSOC)
$tutorRequirement = $stmtRequest->fetchAll(PDO::FETCH_ASSOC);
$requestRequirement=trim($_POST["requestRequirement"]);
if(count($tutorRequirement)>0)
{
$stmtInsert = $user_home->runQuery("Update TutorRequestRequirement set Requirement=:Requirement where TutorID=:TutorID and RequestID=:RequestID");
}
else
{
$stmtInsert = $user_home->runQuery("INSERT INTO `TutorRequestRequirement`(`TutorID`, `Requirement`, `RequestID`) Values
(:TutorID,:Requirement,:RequestID)");
}
$stmtInsert->bindparam(":TutorID",$tutorid);
$stmtInsert->bindparam(":Requirement",$requestRequirement);
$stmtInsert->bindparam(":RequestID",$noteid);
$result=$stmtInsert->execute();
}
if(isset($_GET["noteid"]))
{
$noteid=trim($_GET["noteid"]);
$tutorid=trim($_GET["id"]);
$stmtRequest = $user_home->runQuery("SELECT * FROM `TutorRequestRequirement` WHERE TutorID='$tutorid' and RequestID='$noteid'");
$stmtRequest->execute();
//fetch(PDO::FETCH_ASSOC)
$tutorRequirement = $stmtRequest->fetchAll(PDO::FETCH_ASSOC);
//echo count($tutorRequirement);
//var_dump($tutorRequirement);
}
function file_upload_error_message($error_code) {
switch ($error_code) {
case UPLOAD_ERR_INI_SIZE:
return 'The uploaded file exceeds the upload_max_filesize directive in php.ini';
case UPLOAD_ERR_FORM_SIZE:
return 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form';
case UPLOAD_ERR_PARTIAL:
return 'The uploaded file was only partially uploaded';
case UPLOAD_ERR_NO_FILE:
return 'No file was uploaded';
case UPLOAD_ERR_NO_TMP_DIR:
return 'Missing a temporary folder';
case UPLOAD_ERR_CANT_WRITE:
return 'Failed to write file to disk';
case UPLOAD_ERR_EXTENSION:
return 'File upload stopped by extension';
default:
return 'Unknown upload error';
}
}
$stmt = $user_home->runQuery("SELECT * FROM RoleInfoWisdomManagementSystem WHERE id=:uid");
$stmt->execute(array(":uid"=>$_SESSION['userSession']));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$msg = "<div class='alert alert-block' style='background:#48cfad;margin-top:10px'>
<button class='close' data-dismiss='alert'>×</button>
<strong> Your Profile Updated Successfully. </strong>
</div>";
$role=$row['role'];
$name=$row['Name'];
$TeacherID=trim($_GET["id"]);
$stmt = $user_home->runQuery("SELECT * FROM teacher_info WHERE userid=:uid");
$stmt->execute(array(":uid"=>$TeacherID));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$teachingPreferencearray=explode(",",$row["tution_type"]);
$stmtArea = $user_home->runQuery("SELECT * FROM kolkata_locations");
$stmtArea->execute();
$rowarea = $stmtArea->fetchAll();
$stmt112 = $user_home->runQuery("SELECT distinct `subject_name` FROM `subjects`");
$stmt112->execute();
$rowsubjects = $stmt112->fetchAll();
$stmt1123 = $user_home->runQuery("SELECT * FROM `subjects`");
$stmt1123->execute();
$rowTeachingsubjects = $stmt1123->fetchAll();
//$arrinbox=explode("#",$inbox);
<form method="post" action="view_teacherUpdate.php">
<button id="btnUpdate" name="btnUpdateNew" value="btnUpdateNew" type="submit" class="btn btn-success">Save</button>
</form>
Nhận xét không dành cho thảo luận mở rộng; cuộc hội thoại này đã được [chuyển sang trò chuyện] (http://chat.stackoverflow.com/rooms/129122/discussion-on-question-by-r-r-button-stopped-making-post-request). –
Điều đầu tiên trước tiên. Tôi nghĩ rằng bạn không dán mã chính xác trong trang ViewTeacherPag vì thẻ php không được đóng trước dòng 121 và đưa ra lỗi: Bất ngờ
Tại sao hai nút gửi trong cùng một biểu mẫu? Bạn có đầu vào loại gửi mà không có nhãn văn bản được xác định trước (giá trị = "Nhãn văn bản của nút") và nút gửi loại được gọi là "Lưu". Khi tôi nhấp vào đầu vào của loại gửi tôi không gửi biến "btnUpdateNew" bởi vì đầu vào gửi này không có tên. Khi tôi nhấp vào nút Lưu, tôi gửi biến "btnUpdateNew" vì tên này được xác định trong nút này, do đó, đoạn dưới đây được truy cập: nếu (isset ($ _ POST ["btnUpdateNew"])) { echo "hfvghfhgfhgf enter"; ... –
Trả lời
Mã bạn gửi chứa 2 nộp-nút (1 < nút>, 1 < kiểu đầu vào = "submit">. Tùy thuộc vào nút được nhấn, một giá trị khác thực sự được gửi. Tôi đoán rằng biểu mẫu chỉ thêm nút (Hoặc loại element = nộp) mà đã thực sự nhấp vào POST dữ liệu (có ý nghĩa từ một giao diện người dùng quan điểm)
Tùy vào nút ép tôi hoặc là có
hoặc
("Verzenden" là bản dịch tiếng Hà Lan để gửi, khi trình duyệt dịch này)
Vì vậy, có thể bạn đã nhấn nhầm nút bởi bất kỳ cơ hội nào?
Nguồn
2016-12-02 16:49:03 thisisboris
Câu trả lời của bạn là chính xác. –
Tôi nghĩ rằng trong
ViewTeacherPage(where button gets clicked)
của bạn, bạn quên để đóng thẻ<?php
trước phần tử<form>
.Nguồn
2016-12-05 05:05:22
Không, đã đóng trong mã ban đầu. –
Tệp
ViewTeacherPage.php
của bạn. Trong tập tin này Ba dòng cuối cùng cho mã html là chính xác. Nhưng bạn có thể đặt mã này bên trong thẻ php. Vì vậy, lần đầu tiên đóng thẻ php. Sau khi đặt mã html của bạn.Để Thay thế này
Nguồn
2016-12-07 13:37:21
Tôi nghi ngờ có đi một cái gì đó sai trái với các tập tin cần thiết
includewisdom/class.user.php
. Gần đây bạn có thay đổi tệp đó không? Có thể cũng bị hỏng bảng cơ sở dữ liệu cho dữ liệu người dùng khi cố gắng kiểm tra xem người dùng đã đăng nhập chưa. Hãy kiểm tra cơ sở dữ liệu của bạn và tệp nhật ký lưu trữ xem có bất kỳ lỗi nào không.Những điều cần làm gì để gỡ lỗi này
Đặt
error_reporting(E_ALL);
ở phía trên và sau đó tạo ra một phép chia cho không cảnh báo và ném một lỗi tùy chỉnh để xem nếu PHP lỗi đang làm việc:Nếu bạn thấy cảnh báo và lỗi nghiêm trọng thì bạn có thể thấy lỗi và bạn có thể tiếp tục e. Cũng cố gắng để ném một lỗi tùy chỉnh imidiately sau
$user_home = new USER();
; có thể có một số mã khác bên trongclass.user.php
vô hiệu hóaerror_reporting
.Trực tiếp đặt phát hiện POST ngay sau khi
error_reporting(E_ALL);
Nếu bạn không thấy thông báo, kịch bản PHP không thực hiện ở tất cả và có thể có một số người sử dụng máy chủ hạn chế hồ bơi cho người dùng hiện tại đang chạy tập lệnh PHP
view_teacherupdate.php
trong trang web cụ thể đó. Nếu bạn thấy sốPOST btnUpdateNew exists
sau khi bạn đăng biểu mẫu, thì biểu mẫu là OK và sự cố ở đâu đó tại quản lý người dùng gọinew USER();
hoặc$user_home->is_logged_in()
. Có thể có điều gì đó kích hoạt một sốexit
. Để kiểm tra điều này, hãy cố gắng in một cái gì đó sau khi kiểm tra và gọi$user_home->is_logged_in()
chức năng như thế này:Nếu bạn không thấy thông báo, sau đó bạn có vấn đề và đó là hidding insinde lớp user managment; tại mã của nó hoặc logic hoặc có thể một số dữ liệu tham nhũng khi cố gắng đọc thông tin người dùng từ cơ sở dữ liệu.
Nếu bạn thấy thông báo "Người dùng đăng nhập", sau đó đặt một bài debug ở đầu
view_teacherupdate.php
như thế này:với điều này, bạn sẽ tìm hiểu chính xác những gì các mảng
$_POST
chứa khi tập lệnh nhận dữ liệu POST.Sau đó kiểm tra dữ liệu POST và vui lòng cập nhật câu hỏi của bạn với kết quả!
Nguồn
2016-12-07 17:05:14
Các vấn đề liên quan