2014-12-03 71 views
0

我想在我的代码中做的是显示一组数字,等待指定的时间量,然后删除以前显示的内容,然后显示一个输入。我刚刚开始编写代码。PHP Echo信息,并等待删除它

if(isset($_POST['Start'])){ 
ob_clean(); 
echo $num2; 
sleep(2); 
ob_clean(); 
echo "<form method='post' action=''> 
(etc...) 
+4

你需要在Javascript中的客户端上做到这一点。一旦服务器发送了数据,它就无法取消发送。 – Barmar 2014-12-03 16:19:44

+0

@Barmar如果OP使用未设置,该怎么办? – 2014-12-03 16:22:51

+0

这有什么不同?它已经被发送到浏览器。 – Barmar 2014-12-03 16:30:52

回答

0

如果数据已发送到浏览器,PHP可以不影响它。我的解决方案是当你显示你的输入时,你附加了一个javascript函数。好吧,我认为这段代码将帮助你

<?php 
function flush_buffers(){ 
    //This function make buffer send with out some problem 
    ob_end_flush(); 
    ob_flush(); 
    flush(); 
    ob_start(); 
} 
ob_start(); 
$title = "<span class='mytitle'>My Title</span>"; 
echo $title; //You send your information 
flush_buffers(); 

$input = "<input type='text'>" 
$js_code = "<script type='text/javascript'>$('.mytitle').remove()</script>";//with jQuery :) 
echo $input.$js_code; 
flush_buffers(); 
?> 
-1

试试这个:

if(isset($_POST['Start'])){ 
ob_clean(); 
echo $num2; 
sleep(2); 
ob_clean(); 
header('Location: '.$_SERVER['PHP_SELF']); 
die; 
} else { 
echo "<form method='post' action=''> 
(etc...) } 
+0

您的代码无法按照您认为的方式工作。 [看这个链接](http://3v4l.org/iJRNT) – Jocelyn 2014-12-03 17:24:40