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

时间:2018-08-16 15:51:17

标签: php mysqli

因此,我有一个HTML页面(上面有一些PHP加载了functions.php和header.php页面),发布后,它成功执行了一个位于functions.php页面上的函数。我试图在发布后将值返回到html页面,这将指示成功或错误,但是我需要将其显示在某个div内,否则,我只会让functions.php页面回显结果。我宁愿不使用Ajax,但如果需要的话,我会使用。

编辑:对不起,忘记解释发生了什么。咄。因此,发布后,它同时显示成功和错误消息,就好像两个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;
}

2 个答案:

答案 0 :(得分:0)

看起来这里的问题是您要在实际运行elseif代码之前关闭PHP。留下标准的HTML来输出成功消息和错误消息语句。我会尝试在您的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循环功能。

答案 1 :(得分:0)

我正在发布@William_Wilson的评论作为答案,因为这是我看到的用户错误。 您的服务器是否支持短标签,因为您在if / elseif中间使用了<? instead of <?php,可能会导致问题