首页 > 解决方案 > 表单按钮是否强制页面重新加载?

问题描述

表单按钮有什么东西会强制页面刷新吗?

我正在使用表单按钮来运行修改服务器上文本文件内容的 php 脚本。下面的代码将一个新值写入服务器上名为“galleryRand.txt”的文本文件。然后它调用函数“slideShow()”来根据galleryRand的新值加载一个新的幻灯片。

这是将新值写入 galleryRand 的代码:

<li> <span>
      <form method="post"> 
      <img src="images/btns/hotrods-40px.png" width="40px" height="40px"></a>
      <input style="vertical-align:85%;overflow:visible;font-size:1em;font-weight:bold;" 
      name="button2" type="submit" value="Arizona Hot Rods">
      </form>
<?php 
      if(isset($_POST['button2'])) { 
      $myfile = fopen("galleryRand.txt", "w") or die("Unable to open file!");
      $txt = "112"; /*hotrods*/
      fwrite($myfile, $txt);
      fclose($myfile);
      slideShow();
    } 
 ?>
</span></li> 

下面是根据 galleryRand.txt 的新值加载新幻灯片的代码:

<?php
function slideShow() {
$con = mysqli_connect('localhost', 'prescoy4_vlis613', 'mysql44', 'prescoy4_pMediaDB')or die("Could not connect to host.");
    if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    exit();
    } 
    $rNum = file_get_contents ('galleryRand.txt');
    if ($result = mysqli_query($con, "SELECT * FROM `setGallery` WHERE `rand` = $rNum")) {
    while($row = mysqli_fetch_assoc($result)){
    $showLoader = $row['images'];
    }}
    else
    {echo'<h2> Search Result</h2>';}
    mysqli_free_result($result);
    mysqli_close($con); 
    echo '<iframe src="http://www.prescottmedia.com/html5/CONTENT/shows/562s/';
    echo $showLoader;
    echo '.html" width="562px" height="320px" align="left name="targetframe" allowtransparency="true" 
    scrolling="no" frameborder="0"></iframe>';
    }
    ?>            

它几乎可以工作。幻灯片确实发生了变化。问题是它需要点击 2 次按钮才能实现。当我使用 Web 开发人员工具查看发生了什么时,我注意到每次单击按钮都会再次加载整个页面。不仅仅是幻灯片。

关于可能发生的事情有什么想法吗?

标签: phpformsbutton

解决方案


推荐阅读