PHP数据库问题
发布网友
发布时间:2022-04-27 05:28
我来回答
共3个回答
热心网友
时间:2022-04-10 06:43
测试了,问题出在 enctype="text/plain" 删掉即可
<?php
$username=$_POST[username];
$password=$_POST[password];
if($_POST[sub]){
$conn=mysql_connect("localhost","root","root");
mysql_select_db("userlist",$conn);
mysql_query("set names gb2312"); // 这句不加可能是乱码
$sql="insert into member values ('','1','$username','$password')";
mysql_query($sql) or die("查询失败");
mysql_close($conn); //要关闭$conn
}
?>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
<? //如果上面那句加了还是乱码,就要加上这句 ?>
<form action="" method="post" > <? //这句的enctype="text/plain"删掉 ?>
用户名: <input type="text" name="username" value="" /><br>
密 码: <input type="password" name="password"><br>
<input type="submit" name="sub" value="注册"/>
</form>追问恩,删掉enctype="text/plain后可以了,这是什么原因呢?
追答From的缺省编码是 application/x-www-form-urlencoded
以二进制数据提交 multipart/form-data
以文本数据方式提交 text/plain $_POST 接收不到数据的 因为以这种方式编码,就把form 当作一个 text 了,不会提交。 $_GET是可以的!!
热心网友
时间:2022-04-10 08:01
一般这两段代码是不放在同一个页面去处理的。
一个页面去传参数,一个用来接。
接的时候不用接注册这个按钮值,即插代码中判断$_POST[sub]没有用。
如果非要放在一个页面,我觉得用
$regedit=$_POST[sub];
if(!$regedit==null)
{
插入语句;
}
或者
if(!$regedit=="注册")
{
插入语句;
}
好些。楼主可以试一下,也不一定对。
热心网友
时间:2022-04-10 09:36
$username=$_POST[‘username’]; // 接受值最好加引号
$password=$_POST[‘password’];
if(isset($_POST['sub'])){
$conn=mysql_connect("localhost","root","");
mysql_select_db("userlist",$conn);
$sql="insert into member values ('','1','$username','$password')";
mysql_query($sql) or die("查询失败");
}