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);
?>
检查以下内容:
任何聪明的人都可以告诉我,我做错了什么? 感谢
答案 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'];