반응형
HTML 양식을 만들었습니다.
<form action="http://localhost/php/insert.php" method="post">
Barcode: <input type="text" name="barcode" /><br><br>
Serial: <input type="text" name="serial" /><br><br>
<input type="submit" />
</form>
이 PHP를 사용하여 내 데이터베이스에 저장합니다.
<?php
$con = mysql_connect("example","example","");
if ( ! $con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("database", $con);
$sql = "INSERT INTO asset (barcode, serial)
VALUES ('$_POST[barcode]','$_POST[serial]')";
if ( ! mysql_query($sql, $con)) {
die('Error: ' . mysql_error());
}
mysql_close($con)
?>
양식은 DB에 저장되지만 제출을 누르면 빈 페이지 인 http : //localhost/php/insert.php
로 이동합니다. 같은 페이지에 유지하고 메시지 나 무언가를 표시하려면 어떻게해야합니까?
해결 방법
HTTP_REFERER
를 사용한 리디렉션은 일반적으로 불안정하고 신뢰할 수 없습니다. 따라서 가장 좋은 방법은 요청과 함께 URL을 전송하는 것입니다. 특정 사이트 / URL에 사용합니다. 가장 좋은 방법은 요청과 함께 제출하여 URL을 아는 것입니다. 나머지 두 가지는 아마도 최적이 아닐 것입니다.
양식 처리가 완료된 후 출력하기 전에 다음을 수행하십시오 (오류가 발생 함).
header("Location: {$_SERVER['HTTP_REFERER']}");
exit;
처리 결과에 따라 URL에 오류를 추가 할 수 있습니다.
if ($query_does_not_execute) {
$errcode = "error_code=003";
}
$referer = $_SERVER['HTTP_REFERER'];
if ($errcode) {
if (strpos($referer, '?') === false) {
$referer .= "?";
}
header("Location: $referer&$errcode");
} else {
header("Location: $referer");
}
exit;
그런 다음 페이지에서 오류를 표시 할 수 있습니다. 또는 다른 종류의 처리기 오류에 대한 페이지로 리디렉션 할 수 있습니다. 이것은 다양한 해석에 대해 광범위하게 열려 있습니다.
참조 페이지 https://stackoverflow.com/questions/23035085
반응형
'MySql' 카테고리의 다른 글
MySQL 수신 알림 동등한 (0) | 2020.12.07 |
---|---|
MySQL 오류 : 대부분의 미들웨어 (예 : json)는 더 이상 Express에 번들로 제공되지 않으며 별도로 설치해야합니다. 참조하십시오 (0) | 2020.12.07 |
MySQL 준비된 명세서의 내용을 어떻게 볼 수 있습니까? (0) | 2020.12.07 |
MySQL mysqli_query를 실행하는 데 문제가 있습니다. (0) | 2020.12.07 |
MySQL 치명적인 오류 : X : \ wamp \ www \ xxx에 메모리 부족 (1134559232 할당 됨) (32768 바이트 할당 시도) (0) | 2020.12.07 |
댓글