Итак, я изучаю php, и сегодня мне хотелось узнать о создании страницы регистрации пользователя.Сценарий регистрации ничего не делает
Я написал этот код: - PHP
<?php
$db = mysql_connect('127.0.0.1', 'root', '') or die ('Unable to Connect.Check your connection parameters');
mysql_select_db('stock_inventory', $db) or die (mysql_error($db));
$usernamer=(isset($_POST['username'])) ? $_POST['username'] : '';
$passwordr=(isset($_POST['password'])) ? $_POST['password'] : '';
$emailr=(isset($_POST['email'])) ? $_POST['email'] : '';
$usernamer=strip_tags($usernamer);
$passwordr=strip_tags($passwordr);
$emailr=strip_tags($emailr);
$errors[]=array();
if(isset($_POST['submit']) && $_POST['submit'] == 'register')
{
$query = 'SELECT * FROM user WHERE user_name = ' . $usernamer;
$result=mysql_query($query, $db) or die (mysql_error($db));
if(mysql_num_rows($result) > 0)
{
echo "Username already exists.";
echo '<br/>';
echo "Redirecting";
header('Refresh: 3; URL=register.php');
}
if(empty($usernamer))
{
$errors[]="Username cannot be blank";
}
else if(empty($passwordr))
{
$errors[]="Password cannot be empty";
}
else if(empty($emailr))
{
$errors[]="Email Cannot be empty";
}
else if(count($errors) > 0)
{
echo '<table>';
echo '<tr>';
foreach($errors as $error)
{
echo '<td>' . $error . '</td>';
}
echo '</tr>';
echo '</table>';
die();
}
else
{
$query = 'INSERT INTO user
(user_id, user_name, user_password, user_email)
VALUES
(NULL, "' . mysql_real_escape_string($usernamer, $db) . '", "' . PASSWORD($passwordr) . '", "' . mysql_real_escape_string($emailr, $db) . '")';
$result = mysql_query($query, $db) or die (mysql_error($db));
if($result)
{
echo "Registration Succssfull";
}
else
{
echo "Error in registration";
}
}
}
?>
HTML
<html>
<head>
<title>Register</title>
</head>
<body>
<form action="register.php" method="post">
<table>
<tr>
<td>Username:</td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="password" /></td>
</tr>
<tr>
<td>Email:</td>
<td><input type="text" name="email" /></td>
</tr>
<tr>
<td><input type="submit" name="register" value="register" /></td>
</tr>
</table>
</form>
</body>
</html>
Проблема: - К сожалению, этот сценарий ничего не делает. Не важно, что я вхожу в что-то или нет, он ничего не делает. Как я могу это исправить?
Любая помощь приветствуется. Спасибо.
Почему вы вставляете значения NULL в поле userid? – Maximus2012
Вы говорите, что ничего не делают? Означает ли это, что страница даже не отправляется, она подчиняется, а затем ничего не делает? Если в первом случае проверьте, есть ли у вас некоторый javascript, останавливающий отправку (например, validationscript) – Martijn
* PSA: * Функции 'mysql_ *' [устарели в PHP 5.5] (http://php.net/manual/en /faq.databases.php#faq.databases.mysql.deprecated). Это не рекомендуется для написания нового кода, так как это предотвратит вас в будущем. Вместо этого используйте либо [MySQLi] (http://php.net/manual/en/book.mysqli.php), либо [PDO] (http://php.net/manual/en/book.pdo.php) и [быть лучшим разработчиком PHP] (http://jason.pureconcepts.net/2012/08/better-php-developer/). –