Rumah pembangunan bahagian belakang tutorial php Penapisan data PHP: mengendalikan input tarikh dan masa

Penapisan data PHP: mengendalikan input tarikh dan masa

Jul 28, 2023 pm 07:41 PM
penapis masa tarikh

Penapisan Data PHP: Input Tarikh dan Masa Memproses

Ikhtisar:
Apabila membangunkan aplikasi web, selalunya perlu memproses data tarikh dan masa yang dimasukkan oleh pengguna. Memandangkan input pengguna mungkin mengandungi pelbagai format dan ralat, penapisan dan pengesahan data yang berkesan diperlukan untuk memastikan ketepatan dan keselamatan data. Artikel ini menerangkan cara menggunakan PHP untuk mengendalikan input tarikh dan masa serta menyediakan contoh kod yang sepadan.

  1. Prinsip Penapisan dan Pengesahan:
    Sebelum memproses input tarikh dan masa, anda perlu terlebih dahulu menentukan prinsip penapisan dan pengesahan yang sepadan. Berikut adalah beberapa prinsip biasa:

1.1 Pengesahan format:
Pastikan format tarikh dan masa memenuhi keperluan yang ditetapkan, seperti tahun mestilah 4 digit, bulan dan hari mestilah dalam julat yang sah, dsb. Anda boleh menggunakan fungsi tarikh PHP atau ungkapan biasa untuk mengesahkan.

1.2 Pengesahan Julat:
Pastikan bahawa nilai tarikh dan masa berada dalam julat yang ditentukan, contohnya, bulan mestilah antara 1 dan 12, jam mestilah antara 0 dan 23, dsb.

1.3 Pengesahan Keselamatan:
Halang pengguna berniat jahat daripada memusnahkan keselamatan sistem melalui aksara khas atau suntikan kod. Anda boleh menggunakan fungsi penapisan PHP untuk menapis input pengguna, seperti fungsi htmlspecialchars()函数用于转义特殊字符,strip_tags() untuk mengalih keluar teg HTML, dsb.

  1. Memproses input tarikh:
    Sebelum memproses input tarikh, anda perlu terlebih dahulu menentukan format dan julat tarikh. Berikut ialah beberapa format tarikh yang biasa digunakan:

2.1 Tahun-Bulan-Hari: Contohnya, 2019-10-01.
2.2 Bulan/Hari/Tahun: Contohnya, 10/01/2019.
2.3 Hari-Bulan-Tahun: Contohnya, 01-10-2019.
2.4 Tahun-Bulan-Hari Jam:Minit:Kedua: Contohnya, 2019-10-01 10:30:00.

Berikut ialah contoh kod untuk memproses input tarikh dalam format tahun-bulan-hari:

$date = $_POST['date']; // 假设用户输入的日期为2019-10-01

// 格式验证:确保日期格式为YYYY-MM-DD
if (!preg_match('/^(d{4})-(d{1,2})-(d{1,2})$/', $date, $matches)) {
    // 日期格式不正确
    echo '日期格式不正确!';
    exit;
}

// 范围验证:确保年份、月份和日期在有效范围内
$year = intval($matches[1]); // 年份
$month = intval($matches[2]); // 月份
$day = intval($matches[3]); // 日期

if ($year < 1900 || $year > 2100 || $month < 1 || $month > 12 || $day < 1 || $day > 31) {
    // 日期不在有效范围内
    echo '日期不在有效范围内!';
    exit;
}

// 安全性验证:转义特殊字符
$date = htmlspecialchars($date);

// 处理日期
// TODO: 在这里编写日期处理代码
Salin selepas log masuk
  1. Input masa pemprosesan:
    Input masa pemprosesan adalah serupa dengan input tarikh pemprosesan Pertama, anda perlu menentukan format dan julat masa. Berikut ialah beberapa format masa yang biasa digunakan:

3.1 jam:minit:saat: contohnya 10:30:00.
3.2 Jam: Minit: Contohnya, 10:30.

Berikut ialah contoh kod yang mengendalikan input masa dalam jam:minit:saat format:

$time = $_POST['time']; // 假设用户输入的时间为10:30:00

// 格式验证:确保时间格式为HH:MM:SS
if (!preg_match('/^(d{1,2}):(d{1,2}):(d{1,2})$/', $time, $matches)) {
    // 时间格式不正确
    echo '时间格式不正确!';
    exit;
}

// 范围验证:确保时、分和秒在有效范围内
$hour = intval($matches[1]); // 时
$minute = intval($matches[2]); // 分
$second = intval($matches[3]); // 秒

if ($hour < 0 || $hour > 23 || $minute < 0 || $minute > 59 || $second < 0 || $second > 59) {
    // 时间不在有效范围内
    echo '时间不在有效范围内!';
    exit;
}

// 安全性验证:转义特殊字符
$time = htmlspecialchars($time);

// 处理时间
// TODO: 在这里编写时间处理代码
Salin selepas log masuk

Ringkasan:
Dengan menapis dan mengesahkan input tarikh dan masa, ketepatan dan keselamatan data dapat dipastikan. Dalam proses pembangunan sebenar, bergantung pada keperluan dan senario tertentu, pemprosesan yang lebih kompleks mungkin diperlukan, seperti mengira perbezaan tarikh, membandingkan jujukan masa, dsb. Fungsi ini boleh dilaksanakan dengan mudah menggunakan fungsi tarikh dan masa yang disediakan oleh PHP, digabungkan dengan proses penapisan dan pengesahan data yang sesuai. Sila bangunkan dan uji sewajarnya berdasarkan keperluan sebenar dan contoh kod di atas.

Atas ialah kandungan terperinci Penapisan data PHP: mengendalikan input tarikh dan masa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara mencari Weibo sebelumnya mengikut tarikh di Weibo_Cara mencari Weibo sebelumnya mengikut tarikh di Weibo Cara mencari Weibo sebelumnya mengikut tarikh di Weibo_Cara mencari Weibo sebelumnya mengikut tarikh di Weibo Mar 30, 2024 pm 07:26 PM

1. Mula-mula buka penyemak imbas web mudah alih, cari versi web Weibo, dan klik butang avatar di penjuru kiri sebelah atas selepas masuk. 2. Kemudian klik Tetapan di penjuru kanan sebelah atas. 3. Klik pilihan penukaran versi dalam tetapan. 4. Kemudian pilih pilihan versi warna dalam suis versi. 5. Klik Cari untuk memasuki halaman carian. 6. Selepas memasukkan kata kunci, klik Cari Orang. 7. Apabila antara muka penyelesaian carian muncul, klik Penapis. 8. Akhir sekali, masukkan tarikh tertentu dalam lajur masa keluaran dan klik Penapis.

Berapakah kos papan tanda lampu tahap 10 Douyin? Berapa hari yang diperlukan untuk mencipta tanda kipas tahap 10? Berapakah kos papan tanda lampu tahap 10 Douyin? Berapa hari yang diperlukan untuk mencipta tanda kipas tahap 10? Mar 11, 2024 pm 05:37 PM

Pada platform Douyin, ramai pengguna tidak sabar-sabar untuk mendapatkan pensijilan tahap, dan tanda cahaya tahap 10 menunjukkan pengaruh dan pengiktirafan pengguna pada Douyin. Artikel ini akan menyelidiki harga papan lampu tahap 10 Douyin dan masa yang diperlukan untuk mencapai tahap ini untuk membantu pengguna memahami proses tersebut dengan lebih baik. 1. Berapakah kos papan tanda lampu Douyin tahap 10? Harga papan tanda lampu 10 peringkat Douyin akan berbeza-beza bergantung pada turun naik pasaran dan penawaran dan permintaan Harga umum berjulat dari beberapa ribu yuan hingga sepuluh ribu yuan. Harga ini termasuk kos tanda lampu itu sendiri dan kemungkinan bayaran perkhidmatan. Pengguna boleh membeli papan tanda cahaya tahap 10 melalui saluran rasmi Douyin atau agensi perkhidmatan pihak ketiga, tetapi mereka harus memberi perhatian kepada saluran undang-undang semasa membeli untuk mengelakkan transaksi palsu atau penipuan. 2. Berapa hari yang diperlukan untuk mencipta tanda kipas tahap 10? Mencapai tahap 10 tanda cahaya

Bagaimana untuk mengalih keluar tarikh yang muncul secara automatik semasa mencetak daripada edaran PPT Bagaimana untuk mengalih keluar tarikh yang muncul secara automatik semasa mencetak daripada edaran PPT Mar 26, 2024 pm 08:16 PM

1. Izinkan saya bercakap dahulu tentang kaedah yang saya gunakan pada mulanya, mungkin semua orang menggunakannya juga. Mula-mula, buka [View]——]Templat Catatan[. 2. Tempat di mana anda sebenarnya boleh melihat tarikh selepas membukanya. 3. Pilihnya dahulu dan padamkannya. 4. Selepas memadam, klik [Close Master View]. 5. Buka pratonton cetakan sekali lagi dan ketahui bahawa tarikhnya masih ada. 6. Sebenarnya tarikh ini tidak dipadamkan di sini. Ia sepatutnya ada dalam [Guru Edaran]. Tengok gambar kat bawah ni. 7. Padam tarikh selepas anda menemuinya. 8. Sekarang apabila anda membuka pratonton dan melihat, tarikh itu tiada lagi. Nota: Sebenarnya, kaedah ini juga sangat mudah diingati, kerana edaran yang dicetak adalah edaran, jadi anda harus mencari [Induk Edaran].

Berapa lamakah masa yang diambil untuk membersihkan Cincin Elden? Berapa lamakah masa yang diambil untuk membersihkan Cincin Elden? Mar 11, 2024 pm 12:50 PM

Pemain boleh mengalami plot utama permainan dan mengumpul pencapaian permainan apabila bermain di Elden's Circle Ramai pemain tidak tahu berapa lama masa yang diambil untuk membersihkan Elden's Circle Proses pelepasan pemain adalah 30 jam. Berapa lama masa yang diambil untuk membersihkan Cincin Elden Jawapan: 30 jam. 1. Walaupun masa pelepasan 30 jam ini tidak merujuk kepada pas laju seperti induk, ia juga meninggalkan banyak proses. 2. Jika anda ingin mendapatkan pengalaman permainan yang lebih baik atau mengalami plot yang lengkap, maka anda pasti perlu meluangkan lebih banyak masa pada tempoh tersebut. 3. Jika pemain mengumpul kesemuanya, ia akan mengambil masa kira-kira 100-120 jam. 4. Jika anda hanya mengambil garisan utama untuk memberus BOSS, ia akan mengambil masa lebih kurang 50-60 jam. 5. Jika anda ingin mengalami semuanya: 150 jam masa asas.

Bagaimana untuk menetapkan masa untuk menerbitkan karya di Xiaohongshu? Adakah masa untuk menerbitkan karya itu tepat? Bagaimana untuk menetapkan masa untuk menerbitkan karya di Xiaohongshu? Adakah masa untuk menerbitkan karya itu tepat? Mar 24, 2024 pm 01:31 PM

Xiaohongshu, platform yang penuh dengan kehidupan dan perkongsian pengetahuan, membolehkan semakin ramai pencipta untuk menyatakan pendapat mereka secara bebas. Untuk mendapatkan lebih banyak perhatian dan suka pada Xiaohongshu, selain kualiti kandungan, masa penerbitan juga penting. Jadi, bagaimana untuk menetapkan masa untuk Xiaohongshu menerbitkan karya? 1. Bagaimana untuk menetapkan masa untuk menerbitkan karya di Xiaohongshu? 1. Fahami masa aktif pengguna Pertama, adalah perlu untuk menjelaskan masa aktif pengguna Xiaohongshu. Secara umumnya, 8 malam hingga 10 malam dan tengah hari hujung minggu ialah masa apabila aktiviti pengguna tinggi. Walau bagaimanapun, tempoh masa ini juga berbeza bergantung pada faktor seperti kumpulan penonton dan geografi. Oleh itu, untuk lebih memahami tempoh aktif pengguna, adalah disyorkan untuk menjalankan analisis yang lebih terperinci tentang tabiat tingkah laku kumpulan yang berbeza. Dengan memahami kehidupan pengguna

Bagaimana untuk membuka fail pendua yang ditapis dalam Quark Bagaimana untuk membuka fail pendua yang ditapis dalam Quark Mar 01, 2024 am 11:25 AM

Apabila menggunakan Quark Browser, terdapat fungsi untuk menapis fail pendua Beberapa rakan tidak begitu biasa dengan ini. 1. Mula-mula, klik "Pelayar Quark" pada telefon bimbit anda untuk memasuki antara muka, kemudian klik dan pilih "Cakera Rangkaian Quark" dalam pilihan di tengah halaman untuk dibuka dan masuk. 2. Cari "Tetapan Sandaran" di bahagian bawah antara muka cakera rangkaian Quark, dan klik untuk membukanya, seperti yang ditunjukkan dalam rajah di bawah: 3. Seterusnya, pada halaman yang anda masukkan, terdapat "Filter Duplicate Files", yang dipaparkan di belakangnya Terdapat butang suis Klik gelangsar bulat padanya dan tetapkannya kepada warna untuk menghidupkan fungsi ini Apabila anda terus membuat sandaran fail, fail pendua akan dilangkau untuk menjimatkan kapasiti cakera rangkaian.

Bagaimana untuk memaparkan tarikh dan saat di bar atas Ubuntu 17.10? Bagaimana untuk memaparkan tarikh dan saat di bar atas Ubuntu 17.10? Jan 08, 2024 am 10:41 AM

Secara lalai, bar atas Ubuntu 17.10 hanya mempunyai masa semasa dan tiada tarikh Apakah yang perlu saya lakukan jika saya mahu memaparkan tarikh tersebut? Mari kita lihat tutorial terperinci di bawah. 1. Buka terminal dalam pelancar, atau tekan [Ctrl+Alt+T] 2. Masukkan dalam terminal: sudoaptinstallgnome-tweak-tool 3. Selepas pemasangan selesai, buka alat tweak 4. Klik TopBar 5. Tarikh ialah tarikh dan saat ialah bilangan saat 6. Selepas menetapkannya, tarikh dan saat akan dipaparkan pada masa di bar atas.

Penjelasan terperinci tentang teknik melihat masa fail Linux Penjelasan terperinci tentang teknik melihat masa fail Linux Feb 21, 2024 pm 01:15 PM

Penjelasan terperinci tentang teknik melihat masa fail Linux Dalam sistem Linux, maklumat masa fail adalah sangat penting untuk pengurusan fail dan perubahan penjejakan. Sistem Linux merekodkan maklumat pertukaran fail melalui tiga atribut masa utama iaitu masa capaian (atime), masa pengubahsuaian (mtime) dan masa perubahan (ctime). Artikel ini memperincikan cara melihat dan mengurus maklumat masa fail ini dan menyediakan contoh kod khusus. 1. Semak maklumat masa fail dengan menggunakan arahan ls dengan parameter -l untuk menyenaraikan fail.

See all articles