|
|
|
ช่วยหน่อยค่ะ ภาษาไทยเพี้ยน เป็นภาษาต่างดาว php -pdo |
|
|
|
|
|
|
|
ช่วยหน่อยนะคะ พอดีหนูทำโปรแจคงานแรกในชีวิตแล้วติดเรื่องของภาษาค่ะ หนูไม่แน่ใจว่าหนูทำอะไรผิด
หนูใช้ xampp ค่ะ หนูทำงานในคอมส่วนตัวค่ะ ไม่ได้ติด error อะไร เวลาเพิ่มข้อมูลสมาชิกหรือข้อมูลอื่นผ่านหน้าเว็บลงฐานข้อมูล ก็เป็นภาษาไทยปกตินะคะ ระบบทำงานปกติ แต่พอย้ายไฟล์งานมาลงคอมที่ทำงานเพื่อจะอัพขึ้นเซิฟเวอร์ ภาษาก็เพี้ยนไปดื้อ ๆ ค่ะ
พยายามแก้ จากตัวโค้ดก็แล้ว ที่บอกให้ Save เป็น utf-8 ก็ทำแล้วก็ยังไม่หายค่ะ หมดหนทางละค่ะCode (PHP)
ไฟล์ connect ค่ะ
<?php
$servername = "localhost";
$username = "root";
$password = "mysql";
try {
$conn = new PDO("mysql:host=$servername;dbname=mmtc_bookout65", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//echo "Connected successfully";
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
date_default_timezone_set('Asia/Bangkok');
?>
อันนี้ไฟล์งาน เป็นไฟล์ป้อนข้อมูลเข้าค่ะ
Code (PHP)
<?php require_once('connects/connect.php'); ?>
<?php require_once('function/Thaidate.php'); ?>
<?php require_once('function/thaidate-functions.php'); ?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous">
<title>ขอเลขหนังสือออก</title>
<script type="text/javascript" src="//cdn.jsdelivr.net/jquery/1/jquery.min.js"></script>
<script type="text/javascript" src="//cdn.jsdelivr.net/momentjs/latest/moment.min.js"></script>
<script type="text/javascript" src="//cdn.jsdelivr.net/bootstrap.daterangepicker/2/daterangepicker.js"></script>
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/bootstrap.daterangepicker/2/daterangepicker.css" />
<style type="text/css">
body {
background-color: ;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-12 col-sm-12">
<div class="alert alert-info" role="alert">
<h3>*แบบฟอร์มขอเลขหนังสือออก</h3>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-12 col-sm-12">
<form action="aformAdd_db.php" method="post">
<h5>*กรุณากรอกข้อมูลให้ครบทุกช่อง</h5>
<div class="row">
<div class="col-12 col-sm-6 mb-3">
ประเภทหนังสือ
<select name="Typebk" class="form-control" required>
<option>- ประเภทหนังสือ -</option>
<option value="-ภายนอก">- ภายนอก</option>
<option value="-ภายใน">- ภายใน</option>
<option value="-กฟผ.-มช.">- กฟผ.-มช.</option>
<option value="-อื่น ๆ">- อื่น ๆ</option>
</select>
</div>
</div>
<div class="row">
<div class="col-12 col-sm-3 mb-3">
เลขที่หนังสือ
<input type="text" name="Numberbk" class="form-control" placeholder="เลขที่หนังสือ" required>
</div>
<div class="col-12 col-sm-3 mb-3">
<input type="text" name="Yearbk" class="form-control" value="<?php echo thaidate('/ Y'); ?>" readonly="readonly" >
</div>
<div class="col-12 col-sm-6 mb-3">
วันที่ขอเลขหนังสือ
<input type="text" name="datebk" class="form-control" value="<?php echo thaidate('j F Y'); ?>" readonly="readonly" >
</div>
</div>
<div class="row">
<div class="col-12 col-sm-6 mb-3">
เรื่อง
<input type="text" name="Sudbk" class="form-control" placeholder="เรื่อง" required>
</div>
<div class="row">
<div class="col-12 col-sm-6 mb-3">
ชื่อผู้ส่ง
<input type="text" name="NameFrom" class="form-control" placeholder="ชื่อผู้ส่ง" required>
</div>
<div class="col-12 col-sm-6 mb-3">
ชื่อผู้รับ
<input type="text" name="NameTo" class="form-control" placeholder="ชื่อผู้รับ" required>
</div>
</div>
<div class="row">
<div class="col-12 col-sm-3 mb-3">
แผนก
<input type="text" name="posFrom" class="form-control" placeholder="แผนก" required>
</div>
<div class="col-12 col-sm-3 mb-3">
รหัสพนักงาน/ลูกจ้าง
<input type="text" name="idmemFrom" class="form-control" placeholder="รหัสพนักงาน/ลูกจ้าง" >
</div>
<div class="col-12 col-sm-3 mb-3">
แผนก
<input type="text" name="posTo" class="form-control" placeholder="แผนก" >
</div>
<div class="col-12 col-sm-3 mb-3">
รหัสพนักงาน/ลูกจ้าง
<input type="text" name="idmemTo" class="form-control" placeholder="รหัสพนักงาน/ลูกจ้าง" >
</div>
</div>
<div class="col-12 col-sm-6 mb-3">
ติดต่อภายใน
<input type="text" name="phonefrom" class="form-control" placeholder="ติดต่อภายใน" >
</div>
<div class="col-12 col-sm-6 mb-3">
ติดต่อภายใน
<input type="text" name="phoneto" class="form-control" placeholder="ติดต่อภายใน" >
</div>
</div>
<div class="row">
<div class="col-12 col-sm-12 mb-3">
ชื่อผู้ขอเลขหนังสือออก
<input type="text" name="nameby" class="form-control" placeholder="ชื่อผู้ขอเลขหนังสือออก" required>
</div>
<marquee direction="left" style="color: #d30000";> ***ก่อนใส่เลขที่หนังสือ ควรตรวจสอบเลขที่หนังสือออกปัจจุบันก่อนทุกครั้ง*** </marquee>
</div>
<div class="row">
<div class="col-12 col-sm-12">
<button type="submit" class="btn btn-primary" style="width: 100%;">บันทึกข้อมูล</button>
</div>
</div>
</form>
</div>
</div>
</div>
</body>
</html>
อันนี้เป็นไฟล์ตรวจสอบค่ะ
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['posTo'])
&& isset($_POST['idmemTo']) && isset($_POST['phonefrom']) && isset($_POST['phoneto']) && 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, posTo, idmemTo, phonefrom, phoneto, nameby)
VALUES (:Typebk, :Numberbk, :Yearbk, :datebk, :Sudbk, :NameFrom, :NameTo, :posFrom, :idmemFrom, :posTo, :idmemTo, :phonefrom, :phoneto, :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
?>
ไฟล์แสดงข้อมูลค่ะ หน้านี้แหละค่ะที่ขึ้นเป็นภาษาต่างดาว
Code (PHP)
<?php require_once('function/Thaidate.php'); ?>
<?php require_once('function/thaidate-functions.php'); ?>
<?php date_default_timezone_set('Asia/Bangkok');?>
<?php
session_start();
// echo '<pre>';
// print_r($_SESSION);
// echo '</pre>';
include('connects/conuser.php');
$m_id = $_SESSION['m_id'];
$m_level = $_SESSION['m_level'];
if($m_level!='2'){
Header("Location: logout.php");
}
//query member login
$queryemp = "SELECT * FROM user_emp WHERE m_id=$m_id";
$resultm = mysqli_query($con, $queryemp) or die ("Error in query: $queryemp " . mysqli_error($con));
$rowm = mysqli_fetch_array($resultm);
//เวลาปัจจุบัน
$timenow = date('H:i:s');
$datenow = date('Y-m-d');
//เวลาที่บันทึก
//$queryworkio = "SELECT MAX(workdate) as workdate, workin, workout FROM user_io WHERE m_id=$m_id AND workdate='$datenow' ";
//$resultio = mysqli_query($con, $queryworkio) or die ("Error in query: $queryworkio " . mysqli_error($con));
//$rowio = mysqli_fetch_array($resultio);
//print_r($rowio);
?>
<?php
include('connects/connect.php');
$conn= mysqli_connect("localhost","root","","mmtc_bookout64")
or die("Error: " . mysqli_error($conn));
mysqli_query($conn, "SET NAMES 'utf8' ");
//query
$query=mysqli_query($conn,"SELECT COUNT(*) FROM bookout_2565 WHERE bookID ORDER BY bookID DESC" );
$row = mysqli_fetch_row($query);
$rows = $row[0];
$page_rows = 10; //จำนวนข้อมูลที่ต้องการให้แสดงใน 1 หน้า ตย. 5 record / หน้า
$last = ceil($rows/$page_rows);
if($last < 1){
$last = 1;
}
$pagenum = 1;
if(isset($_GET['pn'])){
$pagenum = preg_replace('#[^0-9]#', '', $_GET['pn']);
}
if ($pagenum < 1) {
$pagenum = 1;
}
else if ($pagenum > $last) {
$pagenum = $last;
}
$limit = 'LIMIT ' .($pagenum - 1) * $page_rows .',' .$page_rows;
//$nquery=mysqli_query($conn,"SELECT * from bookout_2565 $limit");
$nquery=mysqli_query($conn,"SELECT bookID, datebk, Numberbk, Sudbk, NameFrom, NameTo from bookout_2565 ORDER BY bookID DESC $limit"); //เรียกฐานข้อมูล
$paginationCtrls = '';
if($last != 1){
if ($pagenum > 1) {
$previous = $pagenum - 1;
$paginationCtrls .= '<a href="'.$_SERVER['PHP_SELF'].'?pn='.$previous.'" class="btn btn-info">Previous</a> ';
for($i = $pagenum-4; $i < $pagenum; $i++){
if($i > 0){
$paginationCtrls .= '<a href="'.$_SERVER['PHP_SELF'].'?pn='.$i.'" class="btn btn-primary">'.$i.'</a> ';
}
}
}
$paginationCtrls .= ''.$pagenum.' ';
for($i = $pagenum+1; $i <= $last; $i++){
$paginationCtrls .= '<a href="'.$_SERVER['PHP_SELF'].'?pn='.$i.'" class="btn btn-primary">'.$i.'</a> ';
if($i >= $pagenum+4){
break;
}
}
if ($pagenum != $last) {
$next = $pagenum + 1;
$paginationCtrls .= ' <a href="'.$_SERVER['PHP_SELF'].'?pn='.$next.'" class="btn btn-info">Next</a> ';
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous">
<title>ระบบขอเลขหนังสือออก</title>
<!--style manu-->
<style>
body {
margin: 0;
background-color:#fff;
}
ul {
list-style-type: none;
margin: 0;
padding: 0;
width: 8%;
background-color: ;
position: fixed;
height: 100%;
overflow: auto;
}
li a {
display: block;
color: #000;
padding: 8px 0 8px 14px;
text-decoration: none;
}
li a.active {
background-color: #4CAF50;
color: white;
}
li a:hover:not(.active) {
background-color: #555 ;
color: white;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<div class="col col-sm-12">
<div class="่jumbotron" style="background-image:url('img/head1.png');color:#fff;height:180px ;">
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col col-sm-2">
<br>
<br>
<center><img src="img/<?php echo $rowm['m_img'];?>" width='30%'></center>
<br>
<b>
<center><?php echo $rowm['m_name']. ' '.$rowm['m_lastname'];?></center>
<br>
<center>ตำแหน่ง : <?php echo $rowm['m_position'];?></center>
</b>
<br>
<center><a href="listname.php" class="btn btn-warning">รายชื่อสมาชิก </a></center>
<br>
<center><a href="formRegister.php" class="btn btn-info">+ เพิ่มสมาชิก </a></center>
<br>
<center><a href="logout.php" class="btn btn-danger"> logout </a></center>
</div>
<div class="col-lg-10" style="background-color:#fff;padding:1px 18px;height:1000px;" >
<br>
<h3>รายชื่อหนังสือ <a href="aformAdd.php" class="btn btn-info">+ ขอเลขหนังสือออก </a></h3>
<h4><?php echo thaidate('วันlที่ j F Y'); ?></h4>
<form action="show.php" method="GET" class="form-horizontal">
<div class="form-group row">
<div class="col col-sm-5">
<input type="text" name="q" class="form-control" required placeholder="ค้นหาข้อมูล">
</div>
<div class="col col-sm-3">
<button type="submit" class="btn btn-primary" >ค้นหา </button>
</div>
</div>
<font color="FF0000"><pre>**ใส่เลขที่หนังสือหรือวันที่ขอเลขหนังสือ เช่น 111/2564, 22 มกราคม 2564</pre></font>
<table class="table table-striped table-hover table-responsive table-bordered">
<thead>
<tr>
<th width="3%">ลำดับ</th>
<th width="15%">วันที่ขอเลขหนังสือ</th>
<th width="10%">เลขที่หนังสือ</th>
<th width="15%">เรื่อง</th>
<th width="20%">จาก</th>
<th width="20%">ถึง</th>
<th width="5%">แก้ไข</th>
<th width="5%">ลบ</th>
</tr>
</thead>
<tbody>
<?php
while($crow = mysqli_fetch_array($nquery)){
?>
<tr>
<td><?php echo $crow['bookID']; ?></td>
<td><?php echo $crow['datebk'] ;?></td>
<td><?php echo $crow['Numberbk'];?><?php echo thaidate('/ Y'); ?></td>
<td><?php echo $crow['Sudbk']; ?></td>
<td><?php echo $crow['NameFrom']; ?></td>
<td><?php echo $crow['NameTo']; ?></td>
<td><a href="aformEdit.php?bookID=<?php echo $crow['bookID'];?>" class="btn btn-warning btn-sm">แก้ไข</a></td>
<td><a href="adel.php?bookID=<?php echo $crow['bookID'];?>" class="btn btn-danger btn-sm" onclick="return confirm('ยืนยันการลบข้อมูล !!');">ลบ</a></td>
</tr>
<?php } ?>
</tbody>
</table>
<div class="col col-sm-5"><div id="pagination_controls"><?php echo $paginationCtrls; ?></div>
</div>
</div>
</div>
</div>
</div> </form>
<script src="http://getbootstrap.com/2.3.2/assets/js/jquery.js"></script>
<script src="/bootstrap/js/bootstrap.min.js"></script>
</form>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
</body>
</html>
Tag : PHP, MySQL, HTML5, jQuery, FuelPHP, XAMPP
|
|
|
|
|
|
Date :
2022-02-14 09:10:42 |
By :
sunpatoo |
View :
2834 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ภาพหน้าเว็บค่ะ
|
|
|
|
|
Date :
2022-02-14 09:13:53 |
By :
sunpatoo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ฐานข้อมูลค่ะ
|
|
|
|
|
Date :
2022-02-14 09:27:34 |
By :
sunpatoo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$dbh = new PDO("mysql:host=$host;dbname=$db", $user, $password);
$dbh->exec("set names utf8mb4");
https://stackoverflow.com/questions/4361459/php-pdo-charset-set-names
แล้ว เปิด pdo ก็ใช้ pdo สิครับ ไปใช้ mysqli_xxxxx ทำไมครับ
mysqli ไม่ได้ถูกกำหนดอะไรไว้
|
ประวัติการแก้ไข 2022-02-14 09:36:02
|
|
|
|
Date :
2022-02-14 09:33:05 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|