如何在重新加载页面或将其重定向到另一个页面之前显示一个警告框(在PHP中)

时间:2017-04-16 04:22:34

标签: php redirect alertdialog

  

我这里有这个代码,一旦成功将一行插入数据库,就会尝试显示一个警告对话框。此外,我想在显示对话框后重新加载页面。在注释掉if(mysqli_affected_rows($connect) == 1){ echo "<script type='text/javascript'>alert('Updated successfully.');</script>"; header("location: link-1.php?e=Changes has been saved."); } else { header("location: link-1.php?error=Something went wrong."); } 时它会成功弹出警告框,但是当我取消注释时,对话框不再显示。

import com.google.common.primitives.Doubles;
import com.google.common.primitives.Ints;
public List<City> getCitiestoVisit(List<City> cities,int totaldays) {
    ArrayList<Integer> w=new ArrayList<Integer>();
    ArrayList<Integer> p=new ArrayList<Integer>();      
    for(City c:cities){
        w.add((int) c.getCoverage());
        p.add(c.getScore());
    }
    days_incities = Ints.toArray(w);
    priority_scores = Ints.toArray(p);
    KnapsackInterface k = new FractionalKnapsack();
    double visit[] = k.optimize(days_incities, priority_scores, totaldays);
    List<Double> list = Doubles.asList(visit);
    System.out.println(visit.length);
    Iterator<City> iterc = cities.iterator();
    Iterator<Double> iterd = list.iterator();
    while(iterc.hasNext() && iterd.hasNext()){
        if(iterd.next().intValue()==0){
            iterc.remove();
        }
    }
    return cities;
}

2 个答案:

答案 0 :(得分:1)

尝试此操作以显示提醒并重新加载页面:

if(mysqli_affected_rows($connect) == 1)
{
?>
  <script>
    alert('Updated successfully');
    location.reload();  // It will reload the page and reloading will get the latest inserted data from db
  </script>
<?php    
}

答案 1 :(得分:0)

你不能通过发送你的html(javascript)你的Header已经被发送来调用PHP Header来重定向。您需要使用javascript重定向。 window.location.href={your_url}将重定向。

但我不认为这是正确的方法,你应该倒退。首先在PHP中重定向逻辑,然后在该脚本上包含您是否显示警告框的逻辑。