[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Мистика MySQL
Sophur
Здравствуйте! Прошу помочь, так как не могу найти решение самостоятельно, а подобных вопросов больше не встречал. Дело в том, что я сейчас пишу свой первый сайт, и вроде не было никаких затруднений, как вдруг перестала проходить авторизация пользователей, т.е. при верно введенных логине и пароле, выдается ответ, что это неверные данные, хотя я проверял, данные на страницу авторизации передаются нормально. Второй момент заключается в том, что одна из таблиц моей базы данных постоянно самозаполняется пустыми строками. Пока сайт в разработке, доступ к нему имею я один, а расположен он на хосте Majordomo.ru
Помогите пожалста, ведь для меня это как мистика, но это наверное потому что я еще совсем новичок в этой области.



Спустя 59 минут, 49 секунд (12.12.2009 - 19:14) Romms написал(а):
Жаль но тут экстрасенсов нет... может код выложишь? И структуру базы данных...
Цитата
Второй момент заключается в том, что одна из таблиц моей базы данных постоянно самозаполняется пустыми строками.

сама точно она не сможет этого делать...

Спустя 59 минут, 22 секунды (12.12.2009 - 20:13) Sophur написал(а):
ОК
т.к проблема только с двумя таблицами, то
таблица
info (
id int (4) not null auto_increment primary key,
name varchar (15) not null,
password varchar (15) not null,
email varchar (40) not null,
posts int (4) default '0',
key (name),key (password));

Это таблица, где хранятся данные о пользователе
код авторизации
<?php
unset($logged_user);
session_start();
$user_name=$_REQUEST['user_name'];
$user_pass=$_REQUEST['user_pass'];
include_once("conf.php");

mysql_connect ($db_host,$db_user,$db_pass);
$request=mysql_select_db ($db_name);
if (!mysql_connect) {
echo "Error: ".mysql_error ();
}
$query="select name, password from info where name='". mysql_real_escape_string($user_name) ."' AND password='". mysql_real_escape_string($user_pass) ."'";
$ath = mysql_query ($query);
if (!$ath)
{
echo "Error: ".mysql_error ();
}
$result = mysql_fetch_assoc ($ath);
if (isset ($result ['name']))
{

$logged_user = $user_name;
session_register("logged_user");
$query_degree = "select privelegy from info where name='". mysql_real_escape_string($user_name) ."'";
$athh = mysql_query ($query_degree);
if (!$athh)
{
echo "Error: ".mysql_error ();
}
$res = mysql_fetch_assoc ($athh);
if ($res ['privelegy']=='1'){
header("Location: admin1.php");}
else{header("Location: user.php");}
exit;
?>

Спустя 5 минут, 54 секунды (12.12.2009 - 20:19) Sophur написал(а):
Таблица topics, в которую самозаносятся пустые строки:
topics (
top_id int (4) not null auto_increment primary key,
top_name varchar (255) not null,
name varchar (15) not null,
message text not null,
post_date datetime default '0000-00-00 00:00:00',
key (top_name),key (name));

Код для внесения в нее значений:
<?
$query_insert = "INSERT INTO topics (top_id, top_name , name, message, section_id, post_date, flag) VALUES ('', '". mysql_real_escape_string($theme)."', '$logged_user', '". mysql_real_escape_string($photo)."', '". mysql_real_escape_string($section_id)."', '". mysql_real_escape_string($date)."', '2')";
// Проведём запрос к БД
$ath = mysql_query ($query_insert);
// Проверим успешность запроса
if (!$ath)
{
include "dberror.php";

exit ();
}
?>


Я, честно говоря совершенно не вижу логического объяснения как такое может быть. Хотел узнать, может еще у кого были такие проблемы, или может это вообще уже многим знакомый глюк MySQL?

Спустя 1 час, 7 минут, 26 секунд (12.12.2009 - 21:27) Romms написал(а):
1. Правильнее брать с POST(GET) (как я знаю) чем с $_REQUEST
2. Вас никто не учил брать названия таблиц, полей, значения в кавычки? (для названий ` ` для значений ' ')
3. Относительно второго запроса, вы уверены что туда заходят значения $theme, logged_user т.д.
4. Что к авторизации, то сессии есть? Проверяли?

Спустя 1 час, 37 минут, 26 секунд (12.12.2009 - 23:04) Sophur написал(а):
Цитата (Romms @ 12.12.2009 - 18:27)
1. Правильнее брать с POST(GET) (как я знаю) чем с $_REQUEST
2. Вас никто не учил брать названия таблиц, полей, значения в кавычки? (для названий ` ` для значений ' ')
3. Относительно второго запроса, вы уверены что туда заходят значения $theme, logged_user т.д.
4. Что к авторизации, то сессии есть? Проверяли?

Отвечаю:
1. может быть. POST, GET или REQUEST в данной ситуации значения не имеет. Проверял biggrin.gif
2. Не учили. Наверное как и я не видели в этом смысла. А вообще на самом деле, зачем?
3. Относительно второго запроса - да, так как специально вывожу после выполнения операции INSERT результат из базы.
4. Есть, так как, для разрешения этой проблемы я уже всюду, где могу, вывожу переменные сессии - все выводится, все работает.

Ну как, интересная задачка? biggrin.gif
Быстрый ответ:

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