我已经创建了一个下拉列表以及类别和名称的输入类型,但在这种情况下,我点击下一步它会将我引导到另一个页面,但我的数据库中没有任何保存。 company_account是必须插入数据的表名,它有四行id,category,cname,about
<?php include( "./inc/header.inc.php");
require( "./inc/connect.inc.php"); ?>
<div>
<form action = "payment.php" method= "POST">
<select id="category" name="category" class="old_ui_selector">
<option value="0" selected="1">Choose your category</option>
<option value="">Accounting Firm</option>
<option value="">Agriculture</option>
<option value="">Automotive</option>
<option value="">Aerospace/Defence</option>
<option value="">Building Material</option>
</select>
</div>
<br>
<input type = "text" name="cname" placeholder= "Name"/>
<br><br>
By clicking Next you agree to the <a href="terms.php" style="color: #008781">Terms and Conditions.</a>
<br>
<input type = "submit" name="comp" value="Next"/>
</form>
<?php
if(isset($_POST['comp']))
{
$category=$_GET['category'];
$cname = $_POST['cname'];
$ins=mysql_query("insert into company_account (category) values ('$category')");
$insert = mysql_query("INSERT INTO company_account VALUES ('','$category','$cname','$about')");
if($ins)
if($insert)
{
echo "<br>".$category."inserted";
}
else
{
echo mysql_error();
}
}
?>
答案 0 :(得分:5)
你有一些问题,首先是你使用的是mysql,要么将它更新为mysqli,要么更好地将其更新为PDO。
第二,您的表单是使用POST提交的,但您尝试使用GET收集类别。
你还需要提供你的connect.inc.php内容而不用IP和密码,这样人们就可以查看配置了。
我会建议你在进一步阅读之前先阅读并在继续之前获得更好的理解。
https://code.tutsplus.com/tutorials/why-you-should-be-using-phps-pdo-for-database-access--net-12059
祝你好运。
答案 1 :(得分:2)
注意:
mysql
:此扩展程序在PHP 5.5.0中已弃用,并已在PHP 7.0.0中删除。相反,应使用 MySQLi 或 PDO_MySQL 扩展名。
您已提供form action
,并会在点击提交按钮后重定向。
您已将INSERT STATEMENT
写在同一页面本身,甚至不适合您。
首先删除
action=""
,然后根据保存的数据重定向它。
<强> HTML:强>
<form action = "" method= "POST">
</form>
您的Option值缺少值,并且在提交表单后,不会将值输入到DB中。因此,您需要执行以下操作。
<强>替换强>
<option value="">Accounting Firm</option>
使用:
<option value="Accounting Firm">Accounting Firm</option>
插入的PHP代码:
您插入代码将无效,因为您未提供插入操作的表值。
<强>语法:强>
INSERT INTO TABLENAME(`columnname1`,`columnname2`,.....) VALUES(VALUE1,VALUE1,....)
因此建议您使用正确的表结构进行操作,然后插入数据。
INSERT QUERY:
$insert = mysql_query("INSERT INTO company_account(`category`,`name`,`about`) VALUES ('$category','$cname','$about')");
您可以insert all in the single query
本身,然后使用标题位置重定向。
保存数据后,使用header Location
重定向到特定页面。
header('location : http://www.google.co.in');
PHP PART:
<?php
if(isset($_POST['comp']))
{
$category=$_POST['category'];
$cname = $_POST['cname'];
$insert = mysql_query("INSERT INTO company_account(`category`,`name`,`about`) VALUES ('$category','$cname','$about')");
$rows = mysql_affected_rows();
if($rows=0)
{
echo mysql_error();
}
else
{
ob_start(); // Refresh the Output Buffer
header('location: http://www.google.co.in');
exit;
}
}
?>
注意:
$about
您在Insert语句中使用,但没有为Insert语句提供任何值。请检查一下。