|
|
|
ช่วยดูให้หน่อยค่ะ พอดีกำลังศึกษาภาษา php7 + pdo ค่ะ หาข้อผิดพลาดไม่เจอช่วยด้วยค่ะ |
|
|
|
|
|
|
|
ช่วยดูหน่อยค่ะ พอดีจะกำหนดคำสั่งให้ตรวจสอบข้อมูลซ้ำอ่ะค่ะ แต่ไม่ใส่คำสั่ง เว็บทำงานได้ตามปกติ แต่พอใส่คำสั่งลงไป เว็บมันขึ้นหน้าจอขาว ไม่แจ้ง error อะไรค่ะ
โค้ดนี้ไม่ได้ใส่ โค้ดเช็คข้อมูลซ้ำค่ะ สามารถทำงานได้ตามปกติ
Code (PHP)
<?php
//ถ้ามีค่าส่งมาจากฟอร์ม
if(isset($_POST['Typebk']) && isset($_POST['Numberbk']) && isset($_POST['Yearbk']) && isset($_POST['datebk']) && isset($_POST['Sudbk'])
&& isset($_POST['NameFrom']) && isset($_POST['NameTo']) && isset($_POST['posFrom']) && isset($_POST['idmemFrom'])
&& isset($_POST['phonefrom']) && isset($_POST['nameby'])){
//ไฟล์เชื่อมต่อฐานข้อมูล
require_once 'connects/connect.php';
//ประกาศตัวแปรรับค่าจากฟอร์ม
$Typebk = $_POST['Typebk'];
$Numberbk = $_POST['Numberbk'];
$Yearbk = $_POST['Yearbk'];
$datebk = $_POST['datebk'];
$Sudbk = $_POST['Sudbk'];
$NameFrom = $_POST['NameFrom'];
$NameTo= $_POST['NameTo'];
$posFrom = $_POST['posFrom'];
$idmemFrom = $_POST['idmemFrom'];
//$posTo = $_POST['posTo'];
//$idmemTo = $_POST['idmemTo'];
$phonefrom = $_POST['phonefrom'];
//$phoneto = $_POST['phoneto'];
$nameby = $_POST['nameby'];
//sql insert
$stmt = $conn->prepare("INSERT INTO bookout_2565 (Typebk, Numberbk, Yearbk, datebk, Sudbk, NameFrom, NameTo, posFrom, idmemFrom, phonefrom, nameby)
VALUES (:Typebk, :Numberbk, :Yearbk, :datebk, :Sudbk, :NameFrom, :NameTo, :posFrom, :idmemFrom, :phonefrom, :nameby)");
$stmt->bindParam(':Typebk', $Typebk, PDO::PARAM_STR);
$stmt->bindParam(':Numberbk', $Numberbk, PDO::PARAM_STR);
$stmt->bindParam(':Yearbk', $Yearbk, PDO::PARAM_STR);
$stmt->bindParam(':datebk', $datebk , PDO::PARAM_STR);
$stmt->bindParam(':Sudbk', $Sudbk, PDO::PARAM_STR);
$stmt->bindParam(':NameFrom', $NameFrom , PDO::PARAM_STR);
$stmt->bindParam(':NameTo', $NameTo, PDO::PARAM_STR);
$stmt->bindParam(':posFrom', $posFrom , PDO::PARAM_STR);
$stmt->bindParam(':idmemFrom', $idmemFrom , PDO::PARAM_STR);
//$stmt->bindParam(':posTo', $posTo , PDO::PARAM_STR);
//$stmt->bindParam(':idmemTo', $idmemTo , PDO::PARAM_STR);
$stmt->bindParam(':phonefrom', $phonefrom , PDO::PARAM_STR);
//$stmt->bindParam(':phoneto', $phoneto , PDO::PARAM_STR);
$stmt->bindParam(':nameby', $nameby , PDO::PARAM_STR);
$result = $stmt->execute();
// sweet alert
echo '
<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert-dev.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.css">';
if($result){
echo '<script>
setTimeout(function() {
swal({
title: "เพิ่มข้อมูลสำเร็จ",
type: "success"
}, function() {
window.location = "afrom.php"; //หน้าที่ต้องการให้กระโดดไป
});
}, 1000);
</script>';
}else{
echo '<script>
setTimeout(function() {
swal({
title: "เกิดข้อผิดพลาด",
type: "error"
}, function() {
window.location = "afrom.php"; //หน้าที่ต้องการให้กระโดดไป
});
}, 1000);
</script>';
}
$conn = null; //close connect db
}} //isset
?>
แต่พอใส่โค้ดนี้แทรกเข้าไปแล้ว มันเกิดเป็นหน้าจอขาว โดยไม่แจ้ง error ค่ะ
กำหนดให้เช็คว่า $Numberbk ซ้ำมั้ย ถ้าไม่ซ้ำมันจะทำงานตามปกติค่ะ แต่ถ้าซ้ำมันจะขึ้นหน้าจอสีขาวเลย
Code (PHP)
//check duplicat
$stmt = $conn->prepare("SELECT bookID FROM bookout_2565 WHERE Numberbk = :Numberbk");
$stmt->execute(array(':Numberbk' => $Numberbk));
if($stmt->rowCount() > 0){
echo '<script>
setTimeout(function() {
swal({
title: "กรอกข้อมูลซ้ำ",
text: "เลขที่หนังสือนี้ถูกใช้แล้ว กรุณาลองใหม่",
type: "warning"
}, function() {
window.location = "aformAdd.php";
});
}, 1000);
</script>';
}else{
ถ้าข้อมูลไม่ซ้ำทำงานปกติ แต่พอข้อมูลซ้ำมันจะขึ้นอะไรเลยเป็นจอขาวๆ
Tag : PHP, Ms Access, MySQL, HTML, HTML5, jQuery
|
ประวัติการแก้ไข 2022-03-04 10:42:28
|
|
|
|
|
Date :
2022-03-04 10:38:41 |
By :
sunpatoo |
View :
499 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|