PHP变量在第二页上没有正确返回

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (72)

所以我有一个HTML页面(上面有一些PHP加载一个functions.php和一个header.php页面),在post上,它会成功执行一个位于functions.php页面的函数。我试图在post之后将值返回到html页面,这表示成功或错误,但我需要它显示在某个div中,否则我只是让functions.php页面回显结果。我不想使用ajax但是如果必须的话我会这样做。

编辑:对不起,忘了解释发生了什么。咄。因此,在post之后,它显示成功和错误消息,就好像两个if语句同时被返回一样。它将显示“已成功更新!” 和“错误!” 与此同时。

第1页(html页):

include('session.php');
include('header.php'); // Includes Header Script
include('functions.php');

$cus_details=getAddress($login_id);

foreach($cus_details as $cus_details) {
}

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
   $result = updateAddress($login_id, $_POST);
}
?>
<body style="background-image: url('Scripts/background.png'); -moz-background-size: cover; -webkit-background-size: cover; -o-background-size: cover; background-size: cover;">
<center><div id="signup">
<div class="container1">
<form class="addressForm" action="" method="post">
<?php if ( $result == true ) { ?>
    <br><br><center><span4>Updated Successfully!</span4></center>
<? } else if ( $result == false ) { ?>
    <br><br><center><span4>Error!</span4></center>
<?php } ?>
..... (more html)

第2页(功能页面):

// Update Customer Address
function updateAddress($login_id, $data) {
    // Establishing Connection with Server by passing server_name, user_id and password as a parameter
    $connection = mysqli_connect("localhost", "root", "");
    // Selecting Database
    $db = mysqli_select_db($connection,"db_name");
    // SQL Query To Fetch Complete Information Of User
    $ses_sql=("update rma_customer_address set cus_address_1='".$data['address1']."' WHERE cus_id='$login_id' AND cus_address_type=0");
    if (mysqli_query($connection, $ses_sql)) {
        $success = true;
    } else {
        $success = false;
    }
    mysqli_close($connection);
    return $success;
}
提问于
用户回答回答于

您的服务器是否支持短标签,因为您在<? instead of <?phpif / elseif中间使用它们可能会导致您的问题

用户回答回答于

看起来这里的问题是你在实际运行else elseif代码之前关闭你的PHP。让您使用标准HTML输出Success和Error消息语句。我会尝试在PHP中运行这些并使用echo命令。

<?php if ( $result == true ) { 
       echo "<br><br><center><span4>Updated Successfully!</span4></center>";
      }
      else if ( $result == false ) {
        echo "<br><br><center><span4>Error!</span4></center>";
      }
?>

鉴于foreach循环功能正常。

扫码关注云+社区

领取腾讯云代金券