Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在数据库中插入我的sql php_Php_Mysql_Forms - Fatal编程技术网

在数据库中插入我的sql php

在数据库中插入我的sql php,php,mysql,forms,Php,Mysql,Forms,我试图在提交时将用户输入插入数据库。我被要求使用回发方法,但我有问题。当打开所有文本框下的注册页面时,在第147行的I:\twa\twa291\assignment1\rego.php中显示通知:未定义变量:firstname 注意:第147行的I:\twa\twa291\assignment1\rego.php中的未定义变量:middlename 注意:未定义变量:第147行的I:\twa\twa291\assignment1\rego.php中的lastname 注意:第147行的I:\tw

我试图在提交时将用户输入插入数据库。我被要求使用回发方法,但我有问题。当打开所有文本框下的注册页面时,在第147行的I:\twa\twa291\assignment1\rego.php中显示通知:未定义变量:firstname

注意:第147行的I:\twa\twa291\assignment1\rego.php中的未定义变量:middlename

注意:未定义变量:第147行的I:\twa\twa291\assignment1\rego.php中的lastname

注意:第147行的I:\twa\twa291\assignment1\rego.php中的未定义变量:user

等等等等

它不需要等待用户输入吗?为什么会这样?这是我的密码:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

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

<head>
<link rel="stylesheet" type="text/css" href="stylesheet.css" />

<title>Registration</title>

<script>
function validateForm()
 {
 var x=document.forms["rego"]["gname"].value;
 if (x==null || x=="")
   {
   alert("Given name must be filled out");
   return false;
 }
 var x=document.forms["rego"]["mname"].value;
 if (x==null || x=="")
   {
   alert("Middle name must be filled out");
   return false;
 }
 var x=document.forms["rego"]["surname"].value;
 if (x==null || x=="")
   {
   alert("Surname must be filled out");
   return false;
 }
 var x=document.forms["rego"]["username"].value;
 if (x==null || x=="")
   {
   alert("Username must be filled out");
   return false;
 }
 var x=document.forms["rego"]["address"].value;
 if (x==null || x=="")
   {
   alert("Address must be filled out");
   return false;
 }
 var x=document.forms["rego"]["postcode"].value;
 if (x==null || x=="")
   {
   alert("Postcode must be filled out");
   return false;
 }
 var x=document.forms["rego"]["state"].value;
 if (x==null || x=="")
   {
   alert("State must be filled out");
   return false;
 }
 var x=document.forms["rego"]["tel"].value;
 if (x==null || x=="")
   {
   alert("Telephone must be filled out");
   return false;
 }
 var x=document.forms["rego"]["password"].value;
 if (x==null || x=="")
   {
   alert("Password must be filled out");
   return false;
 }
 var x=document.forms["rego"]["passconfirm"].value;
 if (x==null || x=="")
   {
   alert("Confirmation of password must be filled out");
   return false;
 }
}
</script>

</head>

<body>

<div id="container">
<div id="header">

<h1>Registration</h1></div>

<div id="menu">
<a href="home.php"><h2>Homepage</h2></a><br />
<a href="rego.php"><h2>Registration</h2></a><br />
<a href="userlogin.php"><h2>User Login</h2></a><br />
<a href="adminlogin.php"><h2>Administrator Login</h2></a><br />
<a href="tipping.php"><h2>Tipping</h2></a><br />
<a href="termsnconditions.php"><h2>Terms & Conditions</h2></a><br />
</div>

<form id="rego" action="<?php echo 
htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post" onSubmit="return validateForm()">

<label>Given Name:</label> <input type="text" name="gname"><br />
<br />
<label>Middle Name: </label><input type="text" name="mname"><br />
<br />
<label>Family Name:</label> <input type="text" name="surname"><br />
<br />
<label>Chosen Username:</label> <input type="text" name="username"><br />
<br />
<label>Address:</label> <input type="text" name="address"><br />
<br />
<label>Postcode: </label><input type="text" name="postcode"><br />
<br />
<label>State:</label> <input type="text" name="state"><br />
<br />
<label>Tel number: </label><input type="text" name="tel"><br />
<br />
<label>Password:</label> <input type="password" name="password"><br />
<br />
<label>Password confirmation:</label> <input type="password" name="passconfirm"><br />
<br />

登记处
函数validateForm()
{
var x=document.forms[“rego”][“gname”].value;
如果(x==null | | x==“”)
{
警告(“必须填写姓名”);
返回false;
}
var x=document.forms[“rego”][“mname”].value;
如果(x==null | | x==“”)
{
警告(“必须填写中间名”);
返回false;
}
var x=document.forms[“rego”][“姓氏”]。值;
如果(x==null | | x==“”)
{
警告(“必须填写姓氏”);
返回false;
}
var x=document.forms[“rego”][“username”].value;
如果(x==null | | x==“”)
{
警告(“必须填写用户名”);
返回false;
}
var x=document.forms[“rego”][“address”]值;
如果(x==null | | x==“”)
{
警报(“必须填写地址”);
返回false;
}
var x=document.forms[“rego”][“postcode”]。值;
如果(x==null | | x==“”)
{
警告(“必须填写邮政编码”);
返回false;
}
var x=document.forms[“rego”][“state”].value;
如果(x==null | | x==“”)
{
警报(“必须填写状态”);
返回false;
}
var x=document.forms[“rego”][“tel”].value;
如果(x==null | | x==“”)
{
警报(“必须填写电话”);
返回false;
}
var x=document.forms[“rego”][“password”].value;
如果(x==null | | x==“”)
{
警报(“必须填写密码”);
返回false;
}
var x=document.forms[“rego”][“passconfirm”]。值;
如果(x==null | | x==“”)
{
警报(“必须填写密码确认”);
返回false;
}
}
登记处







db查询不在您的
if
语句中,因此每次脚本运行时都会发生这种情况

您试图在检查用户提交的if语句之外运行SQL查询

<?php
require_once("conn.php");
if (isset($_REQUEST["submit"]))
{

   if (isset($_POST["submit"]))
   {

     $firstname = $_POST["gname"];
     $middlename = $_POST["mname"];
     $lastname = $_POST["surname"];
     $user = $_POST["username"];
     $addy = $_POST["address"];
     $post = $_POST["postcode"];
     $sta = $_POST["state"];
     $telephone = $_POST["tel"];
     $pass = $_POST["password"];

$sql = "INSERT INTO users(gname, mname, surname, username, address, postcode, state, tel, password)
VALUES('$firstname', '$middlename', '$lastname', '$user', '$addy', '$post', '$sta', '$telephone', 
'$pass')";   
$rs = mysql_query($sql, $conn);

if (!$rs) {
  die('Problem with query' . mysql_error());
}
echo "1 record added";


   }
}

您正在定义变量之前创建SQL查询

<?php
require_once("conn.php");
if (isset($_REQUEST["submit"]))
{

   if (isset($_POST["submit"]))
   {

     $firstname = $_POST["gname"];
     $middlename = $_POST["mname"];
     $lastname = $_POST["surname"];
     $user = $_POST["username"];
     $addy = $_POST["address"];
     $post = $_POST["postcode"];
     $sta = $_POST["state"];
     $telephone = $_POST["tel"];
     $pass = $_POST["password"];
   }




$sql = "INSERT INTO users(gname, mname, surname, username, address, postcode, state, tel, password)
VALUES('$firstname', '$middlename', '$lastname', '$user', '$addy', '$post', '$sta', '$telephone', 
'$pass')";   
$rs = mysql_query($sql, $conn);

if (!$rs) {
  die('Problem with query' . mysql_error());
}
echo "1 record added";



mysql_close($conn);
}
?>

警告您的代码易受sql注入攻击。(我把这个放在这里是为了警告未来的读者)危险:你正在使用并且应该使用。你也很容易受到现代API的影响,因为它会让你更容易使用。很抱歉,我会编辑这个,以防止sql注入谢谢!错误已经消失了。但是,我现在发现queryField“susername”没有默认值存在错误问题。字段susername是一个隐藏类型输入。我如何给它一个默认值?@user3641114在type=“hidden”上添加一个值。。在html中。这将传递一个值,以便对其进行定义。我刚刚将susername添加到insert语句中,但它没有给出该错误:queryColumn计数的问题与第1行的值计数不匹配。对不起,这是什么意思?我没有正确数量的列?听起来查询与数据库不匹配。确保您的表与表中的必填字段匹配。我想是的,在用户表中有以下字段:用户名密码gname mname姓氏地址州邮政编码tel fan susername分数边距。。正如您所看到的,“收藏夹”、“粉丝”、“分数”和“边距”字段也在用户表中。但是注册页面不要求输入这些字段,直到用户注册后显示第二张表单,这些字段才需要填写
<?php
require_once("conn.php");
if (isset($_REQUEST["submit"]))
{

   if (isset($_POST["submit"]))
   {

     $firstname = $_POST["gname"];
     $middlename = $_POST["mname"];
     $lastname = $_POST["surname"];
     $user = $_POST["username"];
     $addy = $_POST["address"];
     $post = $_POST["postcode"];
     $sta = $_POST["state"];
     $telephone = $_POST["tel"];
     $pass = $_POST["password"];
   }




$sql = "INSERT INTO users(gname, mname, surname, username, address, postcode, state, tel, password)
VALUES('$firstname', '$middlename', '$lastname', '$user', '$addy', '$post', '$sta', '$telephone', 
'$pass')";   
$rs = mysql_query($sql, $conn);

if (!$rs) {
  die('Problem with query' . mysql_error());
}
echo "1 record added";



mysql_close($conn);
}
?>