【发布时间】:2014-02-05 00:04:41
【问题描述】:
所以这个问题有点复杂,所以我会尽可能地描述性。
我最近开始在我的网站中实现 AJAX,所以我想通过制作它来改善用户体验,所以如果您没有帐户,只需单击登录框下方的链接,它就会加载视图文件夹中的registration.php 文件。
这让我很难过。注册只是回到索引页面,根本不更新数据库。但是当我转到正在加载的实际注册页面时,它就可以工作了。由于我是从文件夹根目录中的 index.php 文件加载它,这是否意味着我必须更改注册页面中链接的性质?
这是我的 JavaScript:
$(document).ready(function(){
/* Switch to registration */
$('a#registration').click(function(){
$('#login').load('./views/registration.php');
});
});
这是我的注册页面代码:
<form action="<?php $_SERVER['PHP_SELF']; ?>" method='post'>
<label> Username </label><br><input type='text' name='reg_username' size='20'>
<?php
if (isset($_POST['reg_username'])) {
//standard validation
}
?>
<br>
<label> E-Mail </label><br><input type='email' name='email' size='20'>
<?php
if (isset($_POST['email'])) {
//standard validation
}
?>
<br>
<label> Password: </label><br><input type='password' name='reg_password' size='20'>
<?php
if (isset($_POST['reg_password'])) {
//standard validation
}
?>
<br>
<input type='submit' name='submitted' value='Register'>
</form>
<?php
if (isset($_POST['submitted'])) {
if ($valid) {
$username = $_POST['reg_username'];
$email = $_POST['email'];
$password = $_POST['reg_password'];
$register_query = sprintf("INSERT INTO users(username, email, password) values('%s', '%s', '%s');", mysql_real_escape_string($username),
mysql_real_escape_string($email), mysql_real_escape_string(crypt($password, $username)));
require_once '../models/dbconnect.php';
database_connect();
require_once '../models/database_validation.php';
account_duplicate($username, $email);
if ($valid) {
$result = mysql_query($register_query);
if ($result) {
echo "Registration Successful!";
} ELSE {
echo "I think something went wrong...";
}
}
}
}
?>
我认为重点是表单操作和页面上的要求功能。 我使用 require 功能对吗?你觉得哪里出了问题?
如果您想亲自动手玩,这里是它的存储库。这是我的第一个开源项目。
【问题讨论】: