Ada fungsi PHP tertentu untuk pengalihan setelah beberapa waktu. Saya melihatnya di suatu tempat tetapi tidak ingat. Ini seperti pengalihan gmail setelah log in. Tolong, adakah yang bisa mengingatkan saya?
ini adalah cara untuk mengatur php headeryang akan mengarahkan Anda ke wherever.phpdalam 5 detik
Ingatlah bahwa header () harus dipanggil sebelum keluaran sebenarnya dikirim, baik dengan tag HTML biasa, baris kosong dalam file, atau dari PHP. Ini adalah kesalahan yang sangat umum untuk membaca kode dengan menyertakan, atau memerlukan, fungsi, atau fungsi akses file lain, dan memiliki spasi atau baris kosong yang dikeluarkan sebelum header () dipanggil. Masalah yang sama terjadi saat menggunakan satu file PHP / HTML. (sumber php.net )
menarik saya belum pernah melihat metode ini sebelumnya ... tetapi bukankah itu akan menampilkan halaman kosong atau hanya menganggur tanpa pesan apa pun sampai timer habis?
Ibu
itu akan menampilkan halaman ... semua yang dilakukannya adalah mengatur tajuk penyihir akan memberi tahu browser untuk menyegarkan halaman dalam 5 detik, jika Anda benar-benar ingin menampilkan halaman kosong cukup gunakandie();
Teneff
2
Hal buruk tentang ini adalah: Header ini tidak ada dalam standar HTTP, klien bebas untuk mengabaikannya.
Sven
:) Ide bagus! Dan jika Anda ingin mengirim (menyimpan) beberapa variabel dan menggunakannya di halaman yang dimuat ulang?
Mugur Ungureanu
mungkin satu miliar tahun sejak posting ini tetapi bagaimana Anda memposting pesan saat pengalihan seperti mungkin "Halaman pengalihan, harap tunggu"
CAO
25
Anda dapat menggunakan javascript untuk mengalihkan setelah beberapa saat
setTimeout(function(){
window.location.href='http://www.google.com';// the redirect goes here},5000);// 5 seconds
@Jami itu benar, itu sebabnya saya mengatakan OP bisa menggunakan javascript sebagai gantinya.
Ibu
@BenjaminIntal Ini juga berfungsi sebagai fallback yang bagus jika browser mengabaikan pengalihan di header. Anda harus menggunakan browser yang tidak menerima tajuk DAN Javascript dinonaktifkan agar tidak menerima pengalihan.
memang Anda dapat menggunakan kode ini seperti yang dikatakan teneff, tetapi Anda tidak harus meletakkan header sebelum keluaran yang dikirim (ini akan menghasilkan "tidak dapat merelokasi header ....: 3 error").
Untuk mengatasi ini, gunakan fungsi php ob_start();sebelum html apa pun dikeluarkan.
Untuk menghentikan ob cukup letakkan ob_end_flush();setelah Anda tidak memiliki keluaran html.
Menggunakan sleep bukanlah pendekatan konvensional, seperti yang dikatakan di atas, fungsi header harus digunakan.
Maksim
Bukankah tidur hanya menunda koneksi?
FluorescentGreen5
2
Penyegaran PHP setelah 5 detik tidak berfungsi untuk saya saat membuka dialog Simpan Sebagai untuk menyimpan file: (header ('Content-type: text / plain'); header ("Content-Disposition: attachment; filename = $ filename > ");)
Setelah tautan Simpan Sebagai diklik, dan file disimpan, penyegaran waktunya berhenti pada halaman panggilan.
Namun, terima kasih banyak, solusi javascript ibu terus berdetak dan menyegarkan halaman web saya, yang saya butuhkan untuk aplikasi khusus saya. Jadi terima kasih ibu telah memposting solusi javascript untuk masalah php di sini.
Anda dapat menggunakan javascript untuk mengalihkan setelah beberapa saat
Refresh
header bukan standart. Saya tidak pernah menggunakan hal-hal yang tidak tercakup dengan RFCJawaban:
ini adalah cara untuk mengatur php
header
yang akan mengarahkan Anda kewherever.php
dalam 5 detiksumber
die();
Anda dapat menggunakan javascript untuk mengalihkan setelah beberapa saat
sumber
Anda bisa mencoba ini:
Dimana 10 dalam hitungan detik.
sumber
Anda ingin menggunakan php untuk menulis tag meta.
Ini tidak dianjurkan tetapi memungkinkan. Angka 5 dalam contoh ini adalah jumlah detik sebelum disegarkan.
sumber
memang Anda dapat menggunakan kode ini seperti yang dikatakan teneff, tetapi Anda tidak harus meletakkan header sebelum keluaran yang dikirim (ini akan menghasilkan "tidak dapat merelokasi header ....: 3 error").
Untuk mengatasi ini, gunakan fungsi php
ob_start();
sebelum html apa pun dikeluarkan.Untuk menghentikan ob cukup letakkan
ob_end_flush();
setelah Anda tidak memiliki keluaran html.Bersulang!
sumber
Jika Anda mengarahkan dengan PHP, maka Anda cukup menggunakan perintah sleep () untuk tidur selama beberapa detik sebelum mengalihkan.
Tapi, saya pikir yang Anda maksud adalah tag meta refresh:
http://webdesign.about.com/od/metataglibraries/a/aa080300a.htm
sumber
Penyegaran PHP setelah 5 detik tidak berfungsi untuk saya saat membuka dialog Simpan Sebagai untuk menyimpan file: (header ('Content-type: text / plain'); header ("Content-Disposition: attachment; filename = $ filename > ");)
Setelah tautan Simpan Sebagai diklik, dan file disimpan, penyegaran waktunya berhenti pada halaman panggilan.
Namun, terima kasih banyak, solusi javascript ibu terus berdetak dan menyegarkan halaman web saya, yang saya butuhkan untuk aplikasi khusus saya. Jadi terima kasih ibu telah memposting solusi javascript untuk masalah php di sini.
Anda dapat menggunakan javascript untuk mengalihkan setelah beberapa saat
sumber
Anda dapat menggunakan kode javascript ini untuk mengalihkan setelah waktu tertentu. Semoga berhasil.
sumber
Alihkan pemrograman waktu PHP:
sumber