반응형
양식이 제출되지 않습니다.
저는 웹사이트에 정보를 추가하기 위한 양식을 처리하기 위해 아래 스크립트를 사용하고 있습니다.제가 겪고 있는 문제는 양식을 제출할 때 데이터베이스에 아무것도 제출되지 않고 오류도 없다는 것입니다.쿼리에 오류 보고를 추가하려면 어떻게 해야 합니까?
<?php
if (isset($_POST['itemdescription'])) {$itemdescription = $_POST['itemdescription'];}else {$itemdescription = '';}
if (isset($_POST['itemnumber'])) {$itemnumber = $_POST['itemnumber'];}else {$itemnumber = '';}
if (isset($_POST['sellerid'])) {$sellerid = $_POST['sellerid'];}else {$sellerid = '';}
if (isset($_POST['purchasedate'])) {$purchasedatepre = $_POST['purchasedate'];$date = DateTime::createFromFormat("D F d, Y", $purchasedatepre);$purchasedate = date('Y-m-d',strtotime($purchasedatepre));}else {$purchasedatepre = ''; $purchasedate = '';}
if (isset($_POST['otherinfo'])) {$otherinfo = $_POST['otherinfo'];}else {$otherinfo = '';}
if (isset($_POST['numberofitems'])) {$numberofitems = $_POST['numberofitems'];}else {$numberofitems = '';}
if (isset($_POST['numberofitemsused'])) {$numberofitemsused = $_POST['numberofitemsused'];}else {$numberofitemsused = '';}
if (isset($_POST['isitdelivered'])) {$isitdelivered = $_POST['isitdelivered'];}else {$isitdelivered = '';}
if (isset($_POST['price'])) {$price = $_POST['price'];}else {$price = '';}
$itemdescription = str_replace("'", "", "$itemdescription");
$itemnumber = str_replace("'", "", "$itemnumber");
$sellerid = str_replace("'", "", "$sellerid");
$otherinfo = str_replace("'", "", "$otherinfo");
include("connectmysqli.php");
mysqli_query($db,"INSERT INTO stockdetails (`itemdescription`,`itemnumber`,`sellerid`,`purchasedate`,`otherinfo`,`numberofitems`,`isitdelivered`,`price`) VALUES ('$itemdescription','$itemnumber','$sellerid','$purchasedate','$otherinfo','$numberofitems','$numberofitemsused','$isitdelivered','$price')");
// header('Location: stockmanager.php?&key='.$key);
?>
그냥 추가하기만 하면 됩니다.or die(mysqli_error($db));
쿼리 끝에 mysqli 오류가 인쇄됩니다.
mysqli_query($db,"INSERT INTO stockdetails (`itemdescription`,`itemnumber`,`sellerid`,`purchasedate`,`otherinfo`,`numberofitems`,`isitdelivered`,`price`) VALUES ('$itemdescription','$itemnumber','$sellerid','$purchasedate','$otherinfo','$numberofitems','$numberofitemsused','$isitdelivered','$price')") or die(mysqli_error($db));
참고로 당신이 위험에 처해 있다고 말씀드리고 싶습니다.mysql injection
, 어떻게 하면 PHP에서 SQL 주입을 방지할 수 있을까요?당신은 어떤 위험도 피하기 위해 정말로 준비된 진술서를 사용해야 합니다.
mysqli_error()
다음과 같습니다.
$sql = "Your SQL statement here";
$result = mysqli_query($conn, $sql) or trigger_error("Query Failed! SQL: $sql - Error: ".mysqli_error($conn), E_USER_ERROR);
트리거 오류는 개발 및 생산에 사용할 수 있기 때문에 죽는 것보다 낫습니다. 그것은 영구적인 해결책입니다.
언급URL : https://stackoverflow.com/questions/17053466/a-form-doesnt-submit
반응형
'source' 카테고리의 다른 글
"_vti_cnf", "_vti_pvt", "_vti_script" 및 "_vti_txt" 폴더란 무엇입니까? (0) | 2023.10.19 |
---|---|
우커머스에서 각 변형 옆에 있는 가격은 어떻게 구하나요? (0) | 2023.10.19 |
자바스크립트에서 캐치 {} 없이 {} 시도가 가능합니까? (0) | 2023.10.19 |
PHP의 클래스는 무엇입니까? (0) | 2023.10.19 |
Python 문자열을 복사하려면 어떻게 해야 합니까? (0) | 2023.10.19 |