【问题标题】:Form submission shows the result after the second page refresh only in PHP表单提交仅在PHP中显示第二次页面刷新后的结果
【发布时间】:2020-05-07 20:19:01
【问题描述】:

我创建了一个表单,只要我点击提交的输入,它就会将列上的值写入数据库表。

到目前为止一切都很好,但是当当前页面重新加载时,我看不到写入数据库的结果。
只有在同一页面上第二次提交表单才能看到结果。

我的代码:

<?php 
$increId = $_order->getRealOrderId();
$pathAss = 'My file';   
$connectionresource = Mage::getSingleton('core/resource');
$connectionWrite = $connectionresource->getConnection('core_write');


$table = 'sales_flat_order';
$query = "UPDATE ".$table." "
       . "SET upload_file_1='" . $pathAss . "'"
       . " WHERE increment_id='".$increId."'";

$connectionWrite->query($query); 
?>

<form id="abbLogoOrder" action="" method="post" enctype="multipart/form-data">
    <a href="<?php echo $_order->getupload_file_1(); ?>" 
       title="<?php echo basename($_order->getupload_file_1()); ?>">
        <?php echo basename($_order->getupload_file_1()); ?>
    </a> //THIS VALUE RETURNS EMPTY AFTER FIRST SUBMIT FORM

    <b>
    <?php 
    /* $testget = ['getupload_file_'.$count.'()'];
    echo $_order->$testget;  */
    ?>
    </b>

    <div class="upload-btn-wrapper">
        <button class="btn" style="font-size:13px;">SELECT YOUR FILES</button>
        <input type="file" name="abbFile<?php echo $count; ?>[]" id="abbFile<?php echo $count; ?>" multiple="multiple" />         
        <input type="submit" value="SEND" />    
    </div>
</form>

我做错了什么?

【问题讨论】:

  • $mysqli -&gt; affected_rows; in mysqli 和 rowCount in pdo : w3schools.com/php/func_mysqli_affected_rows.asp 您收到的成功消息意味着您发送的所有变量都已插入。
  • 我花了一些时间来编辑代码,让它变得可读。一些建议:1)为了可读性,不要使用标签。它可能适合您,但不会适合其他所有人。您的编辑器应该能够将制表符转换为空格。 2) 你对 sql 注入持开放态度。使用准备好的语句。 3) POST 提交后应在处理用户输入后使用 GET(PRG 模式)进行重定向。抱歉,这些 cmets 都不能解决您的问题,但尚不清楚 $_order 是如何获取其信息的。
  • 检查页面重新加载时 $increId 的返回值。我认为它可能为空

标签: php mysql database forms magento


【解决方案1】:

保存功能后,您不会重新获取订单详细信息。所以细节是从初始状态获取的,所以结果是旧的,但下一次重新加载它会更改为更新的值并显示正确的输出。

但仍不清楚您在哪里加载订单对象。

【讨论】:

  • 也许我理解这个问题。当您提交表单时,您并没有完全重新加载页面,因此它不会更新数据。我强制刷新页面,现在我只发送一次表单就可以看到结果。非常感谢您的帮助。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-25
  • 1970-01-01
  • 1970-01-01
  • 2012-05-25
  • 1970-01-01
相关资源
最近更新 更多