【问题标题】:Page redirects to homepage after data insertion from form in database从数据库中的表单插入数据后页面重定向到主页
【发布时间】:2016-03-15 08:51:03
【问题描述】:

我不知道为什么我的页面从表单提交数据到数据库后重定向到我的主页。数据已成功提交,但要提交页面,它会转到我的主页,即 www.xxxx.com

重要细节更改为XXX

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title></title>

</head>

<body>

<?php

$servername = "localhost";
$username = "XXXX";
$password = "XXXXX";
$dbname = "XXXX_officetest";

// Create connection
$conn = mysql_connect($servername, $username, $password);
// Check connection
if (!$conn) {
die("Connection failed: " . mysql_error());
}

mysql_select_db($dbname, $con);

// Escape user inputs for security
$cx_name = mysql_real_escape_string( $_POST['cxinputname']);
$cx_email = mysql_real_escape_string( $_POST['cxinputemail']);
$cx_phone = mysql_real_escape_string( $_POST['cxinputphone']);
$cx_key=mysql_real_escape_string( $_POST['cxinputkey']);
$cx_location=mysql_real_escape_string( $_POST['cxinputlocation']);

$sql = "INSERT INTO `xxxxx`.`cux_details` (`cx_name`, `cx_email`, `cx_phone`, `cx_key`, `cx_location`)
VALUES ('$cx_name', '$cx_email', '$cx_phone' ,'$cx_key' ,'$cx_location')";

$result=mysql_query($sql);

if($result){
header('Location: http://www.xxxxx.com/submit.html'); //redirect
exit();
}
else{
header('Location: http://www.xxxxxx.com/submit.html'); //redirect
exit();
}


mysql_free_result($result);
?>

</body>
</html>

【问题讨论】:

  • 'Off-topic':如果可以,请更改为 PDO 或 MYSQLI_*,因为不推荐使用 mysql_*..
  • 您需要为此提供更多信息。一方面,查看表格会很有帮助。另外我很确定你的mysql_free_result 永远不会因为上面的重定向而被击中。

标签: php html forms mysqli


【解决方案1】:

您需要在输出任何 HTML 之前运行 PHP 代码,因此您的代码将是:

<?php
$servername = "localhost";
$username = "XXXX";
$password = "XXXXX";
$dbname = "XXXX_officetest";

// Create connection
$conn = mysql_connect($servername, $username, $password);
// Check connection
if (!$conn) {
die("Connection failed: " . mysql_error());
}

mysql_select_db($dbname, $con);

// Escape user inputs for security
$cx_name = mysql_real_escape_string( $_POST['cxinputname']);
$cx_email = mysql_real_escape_string( $_POST['cxinputemail']);
$cx_phone = mysql_real_escape_string( $_POST['cxinputphone']);
$cx_key=mysql_real_escape_string( $_POST['cxinputkey']);
$cx_location=mysql_real_escape_string( $_POST['cxinputlocation']);

$sql = "INSERT INTO `xxxxx`.`cux_details` (`cx_name`, `cx_email`, `cx_phone`, `cx_key`, `cx_location`)
VALUES ('$cx_name', '$cx_email', '$cx_phone' ,'$cx_key' ,'$cx_location')";

$result=mysql_query($sql);

if($result){
header('Location: http://www.xxxxx.com/submit.html'); //redirect
//exit();
}
else{
header('Location: http://www.xxxxxx.com/submit.html'); //redirect
exit();
}


mysql_free_result($result);
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title></title>

</head>

<body>

Content goes here...

</body>
</html>

【讨论】:

  • 数据确实被插入到数据库中,但它重定向到我的主页而不是我的提交页面。
  • 不,它没有。它只是重定向到我的主页。即使我不放置标题行,只是回显“成功”或“不成功”,它也会重定向。跨度>
【解决方案2】:
 <form class="form-horizontal cxform" action="http://www.xxxxxx.com/cx_mail_send.php" method="post">


<input required="required" type="text" class="form-control" id="cxinputname" name="cxinputname">
<input required="required" type="email" class="form-control" id="cxinputemail" name="cxinputemail">
<input required="required" type="tel" class="form-control" id="cxinputphone" maxlength="10" name="cxinputphone">
<input required="required" type="text" class="form-control" id="cxinputkey" name="cxinputkey" maxlength="30">
<select class="form-control" name="cxinputlocation">
                        <option value="">Choose Country</option>

<button type="submit" class="btn" id="cxsubmit" value="Submit">Get Started</button>

</form>

选项值有很多价值,所以没有发布。这是我的表单,调用我的 cx_mail_send.php。希望它有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-14
    • 1970-01-01
    • 2017-04-26
    • 1970-01-01
    • 2014-09-03
    • 1970-01-01
    相关资源
    最近更新 更多