我试图写一个注册表单,首先我试图做到OO,但这没有响应,它似乎只是清除表单和刷新页面,但没有插入任何数据:
编辑:当前代码:
<?php
session_start();
include 'registrationform.php';
include 'connection.php';
if (isset($_POST['regsubmit']))
{
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$user = $_POST['username'];
$pass = $_POST['password'];
$query = "INSERT INTO users (firstname, lastname, username, password) VALUES(?, ?, ?, ?)";
$statement = $connection->prepare($query);
//bind parameters for markers, where (s = string, i = integer, d = double, b = blob)
$statement->bind_param('ssss', $firstname, $lastname, $username, $password);
if($statement->execute()){
print 'Success! ID of last inserted record is : ' .$statement->insert_id .'<br />';
//$_SESSION['username'] = $_POST['username'];
}else{
die('Error : ('. $mysqli->errno .') '. $mysqli->error);
}
$statement->close();
?>
注册表单
<!DOCTYPE html>
<?php
include 'header.php';
?>
<center>
<html>
<link rel="stylesheet" type="text/css" href="web.css" />
</font>
<head>
</head>
<body>
<div id="registrationform">
Please enter your registration details<br /><br />
<form method="post" action="registrationsubmit.php">
First Name:
<input type="text" name="firstname" />
<br /><br>
Last Name:
<input type="text" name="lastname" />
<br /><br>
Username:
<input type="text" name="username" />
<br /><br>
Password:
<input type="text" name="password" />
<br /><br>
<input type="submit" name="regsubmit" value="Submit" />
</form>
</div>
</body>
</html>
</center>
<<p> OO尝试/strong> <?php
session_start();
include 'registrationform.php';
include 'connection.php';
if (isset($_POST['regsubmit']))
{
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$user = $_POST['username'];
$pass = $_POST['password'];
$stmt = $connection->prepare("INSERT INTO users VALUES (?, ?, ?, ?)");
$stmt->bind_param('ssss', $firstname, $lastname, $user, $pass);
$stmt->execute();
printf("%d Row inserted.'n", $stmt->affected_rows);
$stmt->close();
}
?>
因为这不起作用,我试着在没有OO的情况下做它,作为一个起点。但现在我给出了错误"拒绝用户访问"@'10.246.64.24'(使用密码:NO)",但我的连接连接得很好,我也写了一个登录,工作完美,所以不能弄清楚。下面是我的当前代码:
registrationsubmit.php
<?php
include "connection.php";
include "header.php";
if(isset($_POST['regsubmit']))
{
mysql_select_db("c3438525_co_uk",$connection);
$firstname = $_POST['$firstname'];
$lastname = $_POST['$lastname'];
$username = $_POST['username'];
$password = $_POST['password'];
$query = "INSERT INTO users (FirstName, LastName, Username, Password) VALUES ('$firstname', '$lastname', '$username', '$password')";
$data = mysql_query ($query)or die(mysql_error());
if($data) { echo "Successfully Registered"; }
else
{
?>
<script>alert('error while registering you...');</script>
<?php
}
}
?>
Connection.php
<?php
ob_start();
$connection = mysqli_connect("***", "***", "BFUWGpn3", "***");
?>
您正在使用mysqli_连接,您的查询是mysql_
对于registrationsubmit.php
在行中使用:
$query = "INSERT INTO users (firstname, lastname, username, password) VALUES(?, ?, ?, ?)";
$statement = $connection->prepare($query);
//bind parameters for markers, where (s = string, i = integer, d = double, b = blob)
$statement->bind_param('ssss', $firstname, $lastname, $username, $password);
if($statement->execute()){
print 'Success! ID of last inserted record is : ' .$statement->insert_id .'<br />';
//$_SESSION['username'] = $_POST['username'];
}else{
die('Error : ('. $mysqli->errno .') '. $mysqli->error);
}
$statement->close();
参考:http://php.net/manual/en/mysqli.insert-id.php