|
|
|
| Почему я зарегил одного пользователя
Но когда я зарегил другого у него изменился логин ! А дополнительная инфа такая же как и у предыдущего! В чём проблема? | |
|
|
|
|
|
|
|
для: Pontiac_GTO
(05.10.2012 в 17:12)
| | Задавайте вопрос как можно полнее. Укажите хотя бы куда вы зарегили этих "несчастных" пользователей. Но если код не ваш и к его написанию вы не имеете никакого отношения, то помочь вам вряд ли смогут. | |
|
|
|
|
|
|
|
для: Valick
(05.10.2012 в 17:34)
| | Вот я зарегистрировал 1 пользователя, ввёо все данные. Зашёл на сайт, всё работает как надо! Вышел! Регистрирую 2 пользователя , ввожу совсем другие данные. Зашёл на сайт, а там все данные от 1 пользователя! Только логин поменялся! | |
|
|
|
|
|
|
|
для: Pontiac_GTO
(05.10.2012 в 17:37)
| | уф.... чувствую скучно не будет...
спрашиваю последний раз, что это за сайт на котором вы регистрируете пользователя?
варианты ответов:
1) этот сайт (форум)
2) сайт который вы скачали и установили (укажите название)
3) просто какой-то конкретный сайт в интернете
4) все сайты всего интернета на планете земля
5) сайт который вы написали своими руками* | |
|
|
|
|
|
|
|
для: Pontiac_GTO
(05.10.2012 в 17:37)
| | сам написал | |
|
|
|
|
|
|
|
для: Pontiac_GTO
(05.10.2012 в 17:46)
| | ну тогда стоит показать кусок кода ответственный за регистрацию и авторизацию пользователя и показать таблицу (надеюсь работаете с базой данных) | |
|
|
|
|
|
|
|
для: Valick
(05.10.2012 в 17:52)
| | ща | |
|
|
|
|
|
|
|
для: Pontiac_GTO
(05.10.2012 в 17:56)
| | регистрация:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Регистрация</title>
<style type="text/css">
INPUT {
background: silver; margin:0px; padding:1px; /* Цвет фона */
}
</style>
</head>
<body>
<table>
<form action="verification.php" method="POST">
<tr>
<td>Логин<font color="red">*</font>:</td>
<td><input type="text" size="20" name="login" ></td>
</tr>
<tr>
<td>Пароль<font color="red">*</font>:</td>
<td><input type="password" size="20" maxlength="20" name="password" ></td>
</tr>
<tr>
<td>Подтверждения пароля<font color="red">*</font>:</td>
<td><input type="password" size="20" maxlength="20" name="password2"></td>
</tr>
<tr>
<td>E-mail<font color="red">*</font>:</td>
<td><input type="text" size="20" name="email"></td>
</tr>
<tr>
<td>Имя:</td>
<td><input type="text" size="20" name="name"></td>
</tr>
<tr>
<td>Фамилия:</td>
<td><input type="text" size="20" name="lastname"></td>
</tr>
<tr>
<td></td>
<td colspan="2"><input type="submit" value="Зарегистроваться..." name="submit" ></td>
</tr>
<br>
</form>
</table>
<font face="Verdana" size="4">Поля со значком <font color="red">*</font> должны быть обязательно заполнены!</font>
<br><a href='index.php'>На главную</a>
</body>
</html> | |
|
|
|
|
|
|
|
для: Pontiac_GTO
(05.10.2012 в 17:56)
| | авторизация:
<?php
include_once("bd.php");
if (isset($_POST['submit'])){
if(empty($_POST['login'])) {
echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введите логин!"> Введите логин! </font>';
}
elseif (!preg_match("/^\w{3,}$/", $_POST['login'])) {
echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="В поле "Логин" введены недопустимые символы!"> В поле "Логин" введены недопустимые символы! Только буквы, цифры и подчеркивание!</font>';
}
elseif(empty($_POST['password'])) {
echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введите пароль !"> Введите пароль!</font>';
}
elseif (!preg_match("/\A(\w){6,20}\Z/", $_POST['password'])) {
echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Пароль слишком короткий!"> Пароль слишком короткий! Пароль должен быть не менее 6 символов! </font>';
}
elseif(empty($_POST['password2'])) {
echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введите подтверждение пароля!"> Введите подтверждение пароля!</font>';
}
elseif($_POST['password'] != $_POST['password2']) {
echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введенные пароли не совпадают!"> Введенные пароли не совпадают!</font>';
}
elseif(empty($_POST['email'])) {
echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введите E-mail!">Введите E-mail! </font>';
}
elseif (!preg_match("/^[a-zA-Z0-9_\.\-]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$/", $_POST['email'])) {
echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="E-mail имеет недопустимий формат!"> E-mail имеет недопустимий формат! Например, name@gmail.com! </font>';
}
else{
$login = $_POST['login'];
$password = $_POST['password'];
$mdPassword = md5($password);
$password2 = $_POST['password2'];
$email = $_POST['email'];
$rdate = date("d-m-Y в H:i");
$name = $_POST['name'];
$lastname = $_POST['lastname'];
$query = ("SELECT id FROM users WHERE login='$login'");
$sql = mysql_query($query) or die(mysql_error());
if (mysql_num_rows($sql) > 0) {
echo '<font color="red"><img border="0" src="error.gif" align="middle" alt="Пользователь с таким логином зарегистрированый!"> Пользователь с таким логином зарегистрирован!</font>';
}
else {
$query2 = ("SELECT id FROM users WHERE email='$email'");
$sql = mysql_query($query2) or die(mysql_error());
if (mysql_num_rows($sql) > 0){
echo '<font color="red"><img border="0" src="error.gif" alt="Пользователь с таким e-mail зарегистрированый!"> Пользователь с таким e-mail уже зарегистрирован!</font>';
}
else{
$query = "INSERT INTO users (login, password, email, reg_date, name_user, lastname )
VALUES ('$login', '$mdPassword', '$email', '$rdate', '$name', '$lastname')";
$result = mysql_query($query) or die(mysql_error());;
echo '<font color="green"><img border="0" src="ok.gif" align="middle" alt="Вы успешно зарегистрировались!"> Вы успешно зарегистрировались!</font><br><a href="index.php">На главную</a>';
}
}
}
}
?> | |
|
|
|
|
|
|
|
для: Pontiac_GTO
(05.10.2012 в 17:58)
| | Обязательно прочтите сперва это:
http://php.net/manual/ru/security.database.sql-injection.php
Не обрамленный код тегом code читать сложно, так ведь? Мало найдется охотников разбираться в такой писанине. | |
|
|
|
|
|
|
|
для: Pontiac_GTO
(05.10.2012 в 17:58)
| | Структуру базы покажите. У вас автоинкрементное поле в ней есть? | |
|
|
|
|
|
|
|
для: Pontiac_GTO
(05.10.2012 в 17:58)
| | Жесть!
учитесь сразу писать правильно, а не кашу из php и html.
Через год, когда захотите внести изменения в код, вам его будет проще переписать с 0.
в куске кода выведите переменные прежде чем отправлять в базу
else{
# <!--new. show var before send
echo <<<EOF
$login
$mdPassword
$email
$rdate
$name
$lastname
EOF;
# new-->
$query = "INSERT INTO users (login, password, email, reg_date, name_user, lastname )
VALUES ('$login', '$mdPassword', '$email', '$rdate', '$name', '$lastname')";
$result = mysql_query($query) or die(mysql_error());;
echo '<font color="green"><img border="0" src="ok.gif" align="middle" alt="Вы успешно зарегистрировались!"> Вы успешно зарегистрировались!</font><br><a href="index.php">На главную</a>';
|
Значения переменных выводятся перед отправкой в базу. т.е. изменить их может только сама база.
Програмить вслепую без отладчика, это еще большая жесть чем каша php/html, а у вас тут все вместе сложилось. Выберите вначале инструмент, заточите под себя, потом им пользуйтесь. как наступит просветление писать можно хоть в блокноте. | |
|
|
|