本文介绍了HTML PHP进度条的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个网站有一个表单,使用PHP发送表单数据。是否有一种方法可以在页面上创建一个进度条,看起来像是在操作中,所以人们在点击并发送PHP信息后不要点击按钮多次。
I have a website with a form that uses PHP to send the form data. Is there a way to create a progress bar on the page that looks like it is in action, so that people don't click the button more than once after it's clicked and sending the PHP information.
感谢。
推荐答案
进度栏:简单文本版本:
Progress Bar: Simple Text Version :
<?php
// Output a 'waiting message'
echo 'Please wait while this task completes';
// Now while waiting for a certain task to
// complete, keep outputting .'s
while (true) {
// Echo an extra dot, and flush the buffers
// to ensure it gets displayed.
echo ' .';
flush();
// Now sleep for 1 second and check again:
sleep(1);
}
?>
进度条:基于PHP(grphical):
Progress Bar: PHP-Based (grphical) :
<?php
// A function that will create the initial setup
// for the progress bar: You can modify this to
// your liking for visual purposes:
function create_progress() {
// First create our basic CSS that will control
// the look of this bar:
echo "
<style>
#text {
position: absolute;
top: 100px;
left: 50%;
margin: 0px 0px 0px -150px;
font-size: 18px;
text-align: center;
width: 300px;
}
#barbox_a {
position: absolute;
top: 130px;
left: 50%;
margin: 0px 0px 0px -160px;
width: 304px;
height: 24px;
background-color: black;
}
.per {
position: absolute;
top: 130px;
font-size: 18px;
left: 50%;
margin: 1px 0px 0px 150px;
background-color: #FFFFFF;
}
.bar {
position: absolute;
top: 132px;
left: 50%;
margin: 0px 0px 0px -158px;
width: 0px;
height: 20px;
background-color: #0099FF;
}
.blank {
background-color: white;
width: 300px;
}
</style>
";
// Now output the basic, initial, XHTML that
// will be overwritten later:
echo "
<div id='text'>Script Progress</div>
<div id='barbox_a'></div>
<div class='bar blank'></div>
<div class='per'>0%</div>
";
// Ensure that this gets to the screen
// immediately:
flush();
}
// A function that you can pass a percentage as
// a whole number and it will generate the
// appropriate new div's to overlay the
// current ones:
function update_progress($percent) {
// First let's recreate the percent with
// the new one:
echo "<div class='per'>{$percent}
%</div>\n";
// Now, output a new 'bar', forcing its width
// to 3 times the percent, since we have
// defined the percent bar to be at
// 300 pixels wide.
echo "<div class='bar' style='width: ",
$percent * 3, "px'></div>\n";
// Now, again, force this to be
// immediately displayed:
flush();
}
// Ok, now to use this, first create the
// initial bar info:
create_progress();
// Now, let's simulate doing some various
// amounts of work, and updating the progress
// bar as we go. The usleep commands will
// simulate multiple lines of code
// being executed.
usleep(350000);
update_progress(7);
usleep(1550000);
update_progress(28);
usleep(1000000);
update_progress(48);
usleep(1000000);
update_progress(68);
usleep(150000);
update_progress(71);
usleep(150000);
update_progress(74);
usleep(150000);
update_progress(77);
usleep(1150000);
update_progress(100);
// Now that you are done, you could also
// choose to output whatever final text that
// you might wish to, and/or to redirect
// the user to another page.
?>
这篇关于HTML PHP进度条的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!