[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Моя регистрация!
johniek_comp
Закончил! Вот моя первая быдлорегисрация! Вставлю себе на быдлосайт!
так...
страница регистрации
Свернутый текст
 <h2>Регистрация</h2>
<form
action="save_user.php" method="post">
<p>
<label>
Ваш логин:<br></label>
<input
name="login" type="text" size="15" maxlength="15">
</p>
<p>
<label>
Ваш пароль:<br></label>
<input
name="password" type="password" size="15" maxlength="15">
</p>
<p>
<input
type="submit" name="submit" value="Зарегистрироваться">
</p></form>

заносим юзера в базу на странице save_user.php
Свернутый текст
<?php
if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} }
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
if (empty($login) or empty($password))
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
}
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
$login = trim($login);
$password = trim($password);
include ("config.php");
$result = mysql_query("SELECT id FROM users WHERE login='$login'",$link);
$myrow = mysql_fetch_assoc($result);
if (!empty($myrow['id'])) {
exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин.");
}

$result2 = mysql_query ("INSERT INTO users (login,password) VALUES('$login','$password')");

if ($result2=='TRUE')
{
echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a>";
}
else {
echo "Ошибка! Вы не зарегистрированы.";
}
?>

теперь вход
Свернутый текст
<p>   <h2>Вход на сайт</h2>
<form
action="save.php" method="post">
<p>
<label>
Ваш логин:<br></label>
<input
name="login" type="text" size="15" maxlength="15">
</p>
<p>
<label>
Ваш пароль:<br></label>
<input
name="password" type="password" size="15" maxlength="15">
</p>
<p>
<input
type="submit" name="submit" value="Войти">
<br>
<a
href="reg.php">Зарегистрироваться</a>
</p></form>

обработка входа
Свернутый текст
<?php
if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} }
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
$login = trim($login);
$password = trim($password);
include ("config.php");
$result = mysql_query("SELECT * FROM `users` WHERE login='$login'",$link);
$myrow = mysql_fetch_array($result);
if (empty($myrow['password']))
{
exit ("Такого юзера я не знаю!");
}
else {
if ($myrow['password']==$password) {
$_SESSION['login']=$myrow['login'];
$_SESSION['id']=$myrow['id'];
echo "Вы успешно вошли на сайт! Теперь я буду вести твою сессию по сайту, а когда купишь товар я их выведу!";
}
else {
exit ("Пароли не совпадают с тем что лежит в базе");
}
}

?>


и теперь используем сессию
Свернутый текст
<?php
// Проверяем, пусты ли переменные логина и id пользователя
if (empty($_SESSION['login'])) {
echo "<small>Вы вошли на сайт как гость<br></small>";
} else {
// Если не пусты, то мы выводим ссылку
echo "<small>Вы вошли на сайт, как ".$_SESSION['login']."<br></small>";
}
if (isset($_SESSION['login'])) {
echo "<small><a href="exit.php">Выход</a><br></small>";
} else {
echo "none";
}
?>

вот здесь у меня не вышло ссылку на выход показать только если сессия открыта, сесион_старт прописан, а вот и кстати сам выход
Свернутый текст
<?php
session_start();
if (empty($_SESSION['login']) or empty($_SESSION['password']))
{
exit ("Доступ на эту страницу разрешен только зарегистрированным пользователям. Если вы зарегистрированы, то войдите на сайт под своим логином и паролем<br><a href='index.php'>Главная страница</a>");
}

unset($_SESSION['password']);
unset($_SESSION['login']);
unset($_SESSION['id']);// уничтожаем переменные в сессиях

setcookie("auto", "", time()+9999999);//очищаем автоматический вход
exit("<html><head><meta http-equiv='Refresh' content='0'; URL=index.php'></head></html>");
// отправляем пользователя на главную страницу.
?>






Спустя 1 минута, 27 секунд (31.10.2011 - 00:41) Winston написал(а):
Да блин, так не интересно, залей хотя бы сюда (шаровой хост), чтобы поломать можно было ph34r.gif
PS: На чат забил ? smile.gif

Спустя 2 минуты, 49 секунд (31.10.2011 - 00:44) Invis1ble написал(а):
Я бы начал с того, что стоит сначала html выучить и открыть для себя кучу обязательных тегов аля html, head, title, body etc, а потом уже браться за php

Спустя 4 минуты, 6 секунд (31.10.2011 - 00:48) Winston написал(а):
Цитата (johniek_comp @ 30.10.2011 - 23:40)
if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} }
    if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
    if (empty($login) or empty($password))

Что за поповщина? Забыл как инициализировать переменные ?
Цитата (johniek_comp @ 30.10.2011 - 23:40)
$result2 = mysql_query ("INSERT INTO users (login,password) VALUES('$login','$password')");

Цитата (johniek_comp @ 30.10.2011 - 23:40)
  $result = mysql_query("SELECT id FROM users WHERE login='$login'",$link);

Инъекции.
Цитата (johniek_comp @ 30.10.2011 - 23:40)
$myrow = mysql_fetch_array($result);

Достаточно одного mysql_result

Цитата (johniek_comp @ 30.10.2011 - 23:40)
echo "<small><a href="exit.php">Выход</a><br></small>";

Посмотри на кавычки.

Спустя 6 минут, 57 секунд (31.10.2011 - 00:55) imbalance_hero написал(а):
- В файле сессии у тебя синтаксическая ошибка. Интересно, смысл выставлять, когда не работает?! smile.gif
- В выходе: редирект делать лучше через header
- Если ошибка в форме - надо не на белом фоне писать, что ошибка входа, а именно на странице, где есть форма, что неправильно делается!
- добавление надо проверять через mysql_affected_rows .
- Проверка авторизации - достаточно проверить, есть ли юзер с таким логином и паролем в БД, и проверить через mysql_num_rows, есть ли запись. В обязательном порядке пиши LIMIT 1, чтобы всю базу не проходить запросом.
- mysql_fetch_assoc... сколько раз тебя тыкать в это...
- Где стили?

Вообще, не первый день на форуме, уже 100 раз тыкали на то, чтобы посмотрел на ирбисе, что и как делать надо, а в ответ 25, одно и то же... За 4 месяца должен быть хоть какой-то прогресс...

Спустя 2 минуты, 25 секунд (31.10.2011 - 00:58) imbalance_hero написал(а):
Winston
Там же htmlspecialchars & stripslashes, Я вот не помню, что там надо прописать, чтобы обойти такую защиту и всунуть инъекцию?

Спустя 3 минуты, 1 секунда (31.10.2011 - 01:01) johniek_comp написал(а):
Winston
imbalance_hero
спасибо! обязательно разберусь!
думаю прогресс есть я php месяц от силы учу, перерывами недельными просто!

а что ты писал про инъекции? не понял?

Спустя 3 минуты, 48 секунд (31.10.2011 - 01:05) Winston написал(а):
Ты в поле логина вставь просто кавычку ' и посмотришь потом :)
$result = mysql_query("SELECT * FROM `users` WHERE `login` = '" . mysql_real_escape_string($login) . "'",$link);

При INSERT INTO сделай тоже самое.
И зачем ты используешь идентификатор ($link) неужели будешь с двумя БД работать ? :D

Спустя 2 минуты, 49 секунд (31.10.2011 - 01:07) johniek_comp написал(а):
Winston
Цитата
И зачем ты используешь идентификатор ($link) неужели будешь с двумя БД работать ? biggrin.gif

та просто переписываю как помню smile.gif

Спустя 3 минуты, 45 секунд (31.10.2011 - 01:11) imbalance_hero написал(а):
Winston
Я что-то с другой перепутал, точно, не экранизируются smile.gif

Спустя 35 секунд (31.10.2011 - 01:12) imbalance_hero написал(а):
johniek_comp
Зачем переписывать? Читай как надо, учись, и принимай СВОИ решения, зачем в каждом из случаев ты пишешь то, либо другое.

Спустя 2 минуты, 26 секунд (31.10.2011 - 01:14) Invis1ble написал(а):
imbalance_hero
Цитата
Зачем переписывать? Читай как надо, учись, и принимай СВОИ решения, зачем в каждом из случаев ты пишешь то, либо другое.

да он по-моему и 50% сути не понимает, что конкретно он делает. Почитай его прошлый топик на досуге, он там 3 страницы вкуривал, почему у него ошибка в mysql_query() возникала. Короче тупой копипаст или механическое переписывание кода.

Спустя 1 минута, 36 секунд (31.10.2011 - 01:16) Winston написал(а):
johniek_comp
Читай подпись.

Спустя 1 минута, 27 секунд (31.10.2011 - 01:17) Invis1ble написал(а):
Кстати, именно эта подпись мне открыла глаза, как в действительности нужно учиться. Хотя я и до прочтения оной примерно также и поступал.

Спустя 30 минут, 3 секунды (31.10.2011 - 01:47) m4a1fox написал(а):
И шо ми получаем? Я таки был прав... Честно, тс, не в обиду, но займись делом. Тут не скорость важна, а качество... Пойми, можно сделать один сайт за 4 месяца, но который будет хорош во всем, а можно наклипать их сотню, но фиговых... Хотя дело твое...

Спустя 5 часов, 37 минут, 13 секунд (31.10.2011 - 07:24) YVSIK написал(а):
:D
Свернутый текст
ну не обессудь, это не к тебе это к твоему кодиннгу применимо!!
Есть много способов пахнуть скунсом ;)

вполне подходит !!johniek_comp!!
user posted image
это и есть читейший поповкий код которым ты пытаешься СВЕРКНУТЬ!! :lol: :D
<?php
if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} }
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
if (empty($login) or empty($password))
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
}

Спустя 13 часов, 1 минута, 58 секунд (31.10.2011 - 20:26) johniek_comp написал(а):
YVSIK
ну ты же меня обучишь, правда?
а чего накинулись все то! я только учусь! такие же самые были в начале если не хуже! первый блин он комом! сейчас уже переписал говнокод в быдлокод, и прикрутил быдлокапчу, правда аналог взял с интернета т.к. сам никогда не видел и не делал подобного + ф-и не знакомые, так по немногу и будет свой сайт на php smile.gif ВОТ ЭТО БУДЕТ ДЫРА!
Свернутый текст
ну ничего! вырасту я вам всем покажу!!! laugh.gif biggrin.gif mad.gif

Спустя 40 минут, 26 секунд (31.10.2011 - 21:07) imbalance_hero написал(а):
johniek_comp
Ты будешь расти, мы тоже... smile.gif biggrin.gif
Ты разберись с ирбисом, там очень много всего полезного, каждую функцию поклацай, тогда и научишься.

Не стоит спешить пока молодой.

Спустя 3 часа, 1 минута, 26 секунд (1.11.2011 - 00:08) Winston написал(а):
Цитата (johniek_comp @ 31.10.2011 - 19:26)
ф-и не знакомые

Еще раз читай smile.gif

Спустя 7 часов, 51 минута, 45 секунд (1.11.2011 - 08:00) YVSIK написал(а):
Цитата
правда аналог взял с интернета т.к. сам никогда не видел и не делал подобного + ф-и не знакомые,

говоря слово функция ! надо точно знать, вернее понимать что это такое, ты вот говорищь постоянно это слово ФУНКЦИЯ, только всем ясно что ты и представления об этом не имеешь, что скрывается за этим словом,
пример в твоем коде ими не пахнет вообще , пока ты это не поймешь так и будет быдло код или как там у тебя, для примера оспарь мои слова и скажи, где у тебя в коде есть Именно функция и попробуй её описать, а может я не прав что так сказал, вот те пример отстаять свою точку зрения.

Как только ты сможешь это сделать, многие вопросы сами сабой отпадут, а так ты просто настукиваешь чужое, и пробуешь , А ВДРУГ И ЗАРАБОТАЕТ!!
те все про это и говорят, брось чужие коды выдавать за свои, и все поймут, топотому-что сами это и делали с самого начала и так-же, брали чужое и разбирались в чужом , уже потом получалось что-то свое, как только появлялось понимание того что написал, ВСЁ надобность в чужих кодах отпала навсегда и вопросы с вязанные с ними тоже
потому и надо те выучить все наизусть что те говорить Winston


_____________
user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.