Phobia
User-
Posts
12 -
Joined
-
Last visited
Phobia's Achievements
Explorer (1/14)
0
Reputation
-
Я решил сделать сайт, на который без авторизации попасть нельзя, т.е., сначала регистрируетесь, а если уже зареганы, то просто вводите имя и пароль, это вс? сверяется с БД, если вс? сходится, то : $_SESSION[started] = 1; $_SESSION[name] = $_POST[name]; Проверил, если вс? сходится, то $_SESSION[started] получает значение один. После прохода авторизации мы получаем ссылку на главную страницу и чтобы на не? никто не попал без авторизации, я сделал проверку $_SESSION[started], и на этой странице $_SESSION[started] == 0! Не знаю, в ч?м дело, ведь это суперглобальный массив, значение которого хранится и может использоваться на любой странице, а приобрести значение 0 эта переменная получить не могла... не могу понять, в ч?м может быть ошибка, ведь вс? проще некуда, после авторизации мы переходим лишь на одну страницу, на которой авторизации почему-то уже нет
-
http://www.mysql.ru/docs/man/ - здесь есть вс?
-
Ну, primary_key и auto_increment я и так поставил... просто думал, что так будет лучше
-
Я не пойму, что я делаю нетак? $mysql_connection = mysql_connect('localhost', 'db_user', 'db_pass') or die(mysql_error()); $mysql_select_db = mysql_select_db('db_name'); $query = "INSERT INTO `usez` ( `nick` , `race` , `id` , `password` , `icq`) VALUES ($_POST['nick'], $_POST['race'], '', $_POST['password'], $_POST['icq']);"; $insert_into_table = mysql_query($query) or die(mysql_error()); if ($insert_into_table = true) { echo 'Вы успешно зарегистрировались'; } else echo 'Зарегистрироваться не удалось'; И ничего не происходит, сообщения об ошибке нет
-
Я просто написал такой код : $_POST['nick'] = $nickname и так со всеми переменными... Ну и соответственно в коде у меня тоже не '$nick', а '$nickname'
-
У меня такая проблема возникла : данные передаются в файл insert.php в виде переменных, я пишу запрос INSERT INTO `usez` ( `nick` , `race` , `id` , `password` , `icq`) VALUES ( '$nick', '$race, '', '$password', '$icq';"; и после этого проверяю таблицу usez... в итоге - запись добавлена, id сменился, но остальные поля пустые... как только вставил значения вручную - запись добавилась нормально, т.е., проблем с кодировкой нет. В ч?м причина, почему данные из переменных не добавляются в БД?
-
Кстати, а как лучше реализовать проверку данных в форме? Насколько я понимаю, нужно экранировать только знаки <, >, ; и вроде вс?... наш?л вот ссылку http://www.php.net/manual/ru/reference.pcr...tern.syntax.php но ничего там не понял
-
Конечно я буду обрабатывать формы, MySQL Injection не пройд?т!
-
Я этого не знал, стыдно ... Ну, так оно будет работать, только если метод Post, а не Get , спасибо
-
Постараюсь разобраться... спасибо большое!
-
Есть файл registration.php, который содержит такой код : <html> <head> <title>Insert into playerlist, etc...</title> </head> <body> <form action="mysql_connect.php" method="post"> <input name="nick" type="text" value="Ваш никнейм"> <select size="1" name="race"> <option value="ran" selected="1">Random</option> <option value="human">Human</option> <option value="orc">Orc</option> <option value="undead">Undead</option> <option value="ne">NightElf</option> </select> <input type="submit" value="Отправить"> </form> </body> </html> Переменные $race и $nick переходят в файл mysql_connect.php, в котором есть такой код : <html> <head> <title>Insert into DB, etc...</title> </head> <body> <?php $mysql_connection = @mysql_connect ($db_host, $db_user, $db_userpass) or die ("error connection"); echo "connection maden"; if ($mysql_connection = true) { $db_connected = mysql_select_db ("some_db"); } else die(); if ($mysql_connection = true) { $select_users_from_db = mysql_query (INSERT INTO users VALUES $nick, $race); $echo_users_from_db = mysql_query (SELECT id, nick, race FROM users ORDER BY id); echo $echo_users_from_db; } else die(); ?> </body> </html> Ошибка T_STRING, я так понимаю в том, что я неправильно оформляю переменные $nick и $race, как мне правильно их оформить?