经过一些修改之后,这很奇怪。输入框现在不显示,并且值未保存在数据库中。
这是正确或正确的代码是什么?见下文
PHP(add.php)
<?
$contract_num=$_POST['contract_num'];
$random_data=$_POST['random_data'];
$dbh=mysql_connect('localhost', 'username', 'password', 'port')
if (!$dbh) {
die(mysql_error());
}
$db=mysql_select_db("database", $dbh)
if (!$db)
{
die(mysql_error());
}
$result=mysql_query("INSERT INTO `tablename` VALUES ('$contract_num', '$random_data')");
if(!$result)
{
die(mysql_error());
}
echo "Your information has been successfully added to the database.";
?>
HTML:
<?php
include "add.php";
?>
<form action="" method="post" enctype="multipart/form-data">
<input type="text" name="contract_num"><br>
<input type="text" name="random_data"><br>
<input type="submit" value="Upload file">
</form>
答案 0 :(得分:1)
在代码中进行一些更改:
1)$dbh=mysql_connect('localhost', 'username', 'password', 'port');
和$db=mysql_select_db("test", $dbh);
2)将<?
更改为<?php
3)尝试仅在设置时调用表单变量。即,如果提交表格。
<?php
/* Write the code for db connection on top */
$dbh=mysql_connect('localhost', 'username', 'password', 'port');
if (!$dbh) {
die(mysql_error());
}
$db=mysql_select_db("database", $dbh);
if (!$db)
{
die(mysql_error());
}
if(isset($_POST)) // call POST variables only if it is set
{
$contract_num=$_POST['contract_num'];
$random_data=$_POST['random_data'];
$result=mysql_query("INSERT INTO `tablename` VALUES ('$contract_num', '$random_data')");
if(!$result)
{
die(mysql_error());
}
echo "Your information has been successfully added to the database.";
}
4)将include "add.php";
更改为include_once "add.php";
,以确保该文件仅包含一次。
答案 1 :(得分:1)
add.php
<?php
$contract_num=$_POST['contract_num'];
$random_data=$_POST['random_data'];
$dbh=mysql_connect('localhost', 'root', '');
if(!$dbh) {
die(mysql_error());
}
$db=mysql_select_db("database", $dbh);
if (!$db)
{
die(mysql_error());
}
$result=mysql_query("INSERT INTO `tablename` (column_1,column_2)VALUES ('$contract_num', '$random_data')");
if(!$result)
{
die(mysql_error());
}
echo "Your information has been successfully added to the database.";
?>
简而言之
$ result = mysql_query(“INSERT INTO yourtablename(colum_1,column_2)VALUES('$ contract_num','$ random_data')”);
简而言之,您在查询中缺少列名,根据列名更改column_1和Column_2,并从连接中删除端口
并给表格动作=“add.php”
<?php
include "add.php";
?>
<form action="add.php" method="post" enctype="multipart/form-data">
<input type="text" name="contract_num"><br>
<input type="text" name="random_data"><br>
<input type="submit" value="Upload file">
</form>
答案 2 :(得分:0)
在localhost中无需提供端口。
$dbh=mysql_connect('localhost', 'username', 'password',)
在表格中使用此。
<form action="somapage.php" method="post" enctype="multipart/form-data">
答案 3 :(得分:0)
对我来说,我必须像这样写我的代码。
//give form an action
//I want to php_self so
<form action="<?php echo $_SERVER('PHP_SELF'); ?>" method="post" enctype="multipart/form-data"></form>
然后在我的PHP代码上,我只需验证是否有posted
数据
<?php
if(isset($_POST['submit'])) {
//do code here
}
//so that on the first run of the page it will not cause an error
?>
希望它有所帮助。
答案 4 :(得分:0)
或者使用它,它在我的本地服务器上运行。在你的行动意味着targetpage.php使用下面的代码。
if(isset($_POST['submit']))
{
$con = mysql_connect('localhost', 'username', 'password');
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db('database_name', $con);
$sql="set names 'utf8'";// for unicode support, must use after mysql_select_db() function.
mysql_query($sql);
mysql_query('SET CHARACTER SET utf8')or die('charset problem:'.mysql_error());
mysql_query("SET SESSION collation_connection ='utf8_general_ci'") or die('collation problem:'.mysql_error());
$contract_num=$_POST['contract_num'];
$random_data=$_POST['random_data'];
$sql="INSERT INTO tablename (contract_num,random_data)
VALUES
('$contract_num', '$random_data')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
}
在表格中使用此。
<?php
include "add.php";
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<input type="text" name="contract_num"><br>
<input type="text" name="random_data"><br>
<input type="submit" name="submit" value="Upload file">
</form>