PHP重定向根本不起作用

时间:2017-01-16 11:59:01

标签: php mysql session redirect

PHP / SQL的新手尝试真的很难到达:)。现在一切都让我尝试将表单连接到我的SQL数据库。但只有PHP重定向不起作用。

我尝试了很多关于重定向的内容,例如:在':'之前需要注意的空间,在重定向之前不应该加载任何内容。所有人都遵守这条规则。

现在我甚至怀疑它是我的服务器,所以我尝试了一个只有重定向的不同页面,似乎工作Yay ......

我现在与空页面相比的唯一区别是我先创建一些变量并在if语句中使用重定向。

无法找到问题,因为在SQL-DB中插入或更新记录时所有的回声都正常工作。

<?php include('db-connect.php');

session_start();  $_SESSION['brand_name'] = $_POST['brand'];
$_SESSION['brand_label'] = $_POST['label'];   $_SESSION['brand'] =
$_SESSION['brand_name'].".".$_SESSION['brand_label'];


$brand_name = $_SESSION['brand_name'];    $brand_label =
$_SESSION['brand_label'];     $brand = $_SESSION['brand'];     ?> <?php

if (isset($_POST['submit_form_1'])) {

   $sqlinsert = "INSERT INTO `brands` (brand, brand_name, brand_label) VALUES ('$brand', '$brand_name', '$brand_label')"; $sqlupdate = "UPDATE brands SET brand_label='$brand' WHERE brand_name='$brand'";



   if (!mysqli_query($db_connection, $sqlinsert))      {

           if  (!mysqli_query($db_connection, $sqlupdate))
           {   
               $submitmessage = 'Record failed to update or insert!';
           }
           else
           {
               // $submitmessage = "Record is succesfully updated";
               header("Location: Form2.php");
               die();

           }       }   else        {           // $submitmessage = "Record is succesfully inserted";           header("Location: Form2.php");          die();      } } ?> <?php
include 'header.php'; ?>


 <table class="main-container" border="0" cellspacing="0"
 cellpadding="0">   <tr>     
     <td>Select a brand to edit:<br />

       <form action="Form1.php" method="post">

         <select name="brand" id="brand" onchange="populate(this)">
           <option value="">--Please select option--</option>
           <option value="cheaptickets">brand1</option>
           <option value="vayama">brand2</option>
         </select>

         <select name="label" id="label">
           <option value="">--Please select option--</option>
          <option value="cheaptickets">test1</option>
           <option value="vayama">test2</option>
         </select>

         <br />
         <br />
         <input type="submit" value="Select this template!" name="submit_form_1" />
       </form>

       <span id="info-message">
         <?php
           echo $submitmessage;
           ?>
       </span>
       </td>   </tr> </table>

 <?php include 'footer.php'; ?>

db-connect.php包含以下内容:

<?php DEFINE ('db_host', '*******'); DEFINE ('db_user', '*******'); DEFINE ('db_pswd', '*******'); DEFINE ('db_name', '*******');

$db_connection = mysqli_connect(db_host, db_user, db_pswd, db_name);
?>

检查以下内容:

  • 数据库连接✓检查
  • 不使用重定向信息时,✓检查
  • 可以正常工作
  • 在重定向✓检查
  • 之前,页面上没有内容加载
  • 在SQL-DB ✓check
  • 中插入或更新记录
  • 重定向在页面上工作,只有重定向✓check

任何聪明的人都可以告诉我,我做错了什么? 感谢

1 个答案:

答案 0 :(得分:0)

我可以在前10行中看到至少7个错误的样式错误。你真的应该访问codereview.stackexchange.com并获得一些指示。

假设我们可以在代码中排除BOM markers,那么有两个地方你的代码可能会泄漏正文内容,从而刷新标题。两者都可以通过修改主脚本来修复:

<?php include('db-connect.php');

session_start();  $_SESSION['brand_name'] = $_POST['brand'];

要...

<?php 
ob_start();
include('db-connect.php');

session_start();  
$_SESSION['brand_name'] = $_POST['brand'];