我知道了所有的工作,感謝所有的幫助,並指引我朝着正確的方向發展。PHP不會將表單數據插入到MySQL數據庫中
我有一個Web主機,它有MySQL和phpMyAdmin。下面的代碼顯示了我的.php文件中的PHP。當我提交表單時,數據不會存儲在SQL數據庫中。
我的數據庫是一個名爲'登錄'的表。它有三個字段:'userID'是一個自動增量類型,'email'是一個VARCHAR,'password'也是一個VARCHAR。
我測試了我的連接,它確實工作,這意味着代碼中的某些內容是錯誤的,但我無法找到它。如果你們能幫助我,我將不勝感激。
這是我的代碼:
<form action="index.php" method="post">
<p>Email Address:</p>
<input type="text" name="email" required autofocus pattern="[a-z0-9._%+-][email protected][a-z0-9.-]+\.[a-z]{2,3}$" placeholder="Please enter your email">
<p>Password:</p>
<input type="text" name="password" required placeholder="Enter your password">
<p>Confirm Password:</p>
<input type="text" name="confirmpassword" required placeholder="Confirm your password">
<br>
<input class="button" type="submit" value="Register">
</form>
<?php
if($_POST['submit']=="Submit")
{
$email = cleanData($_POST['email']);
$password = cleanData($_POST['password']);
$message = "wrong answer";
addData($email, $pasword);
}
function cleanData($data){
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
$data = strip_tags($data);
return $data;
}
function addData ($email, $password)
{
//include("dbinfo.php");
$dbhost = 'mysql11.000webhost.com';
$dbuser = '************'; //censored for security
$dbpass = '******'; //censored for security
$conn = mysql_connect("$dbhost", "$dbuser", "$dbpass");
if(! $conn)
{
die('Could not connect: ' . mysql_error());
}
$sql="INSERT INTO Logins ('userID','email','password') VALUES (null, '$email', '$password')";
$result=mysql_query($sql) or die(mysql_error());
}
?>
登錄表是否允許userID字段中有空值? – Russ
userID是主鍵,我已將它設置爲自動增量,因此每次添加新記錄時,都會將其增加1.因此,不需要指定用戶ID – donfromeway
然後不要指定它。您的代碼嘗試插入空值,而不是讓它默認爲下一個自動增量值。 – Russ