Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > помощь в БД MySQL


Автор: sanchos14931 30.1.2009, 17:15
здравствуйте smile . Я начал изучать PHP и еще очень его плохо знаю smile . Я делаю регистрацию. ВОт код регистрации, пока простой
Код

<? 
// Страница авторизации 


# Функция для генерации случайной строки 
function generateCode($length=6) { 
    $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHI JKLMNOPRQSTUVWXYZ0123456789"; 
    $code = ""; 
    $clen = strlen($chars) - 1;   
    while (strlen($code) < $length) { 
            $code .= $chars[mt_rand(0,$clen)];   
    } 
    return $code; 
} 


# Соединямся с БД 
mysql_connect("localhost", "myhost", "myhost"); 
mysql_select_db("testtable"); 

if(isset($_POST['submit'])) 
{ 
    # Вытаскиваем из БД запись, у которой логин равняеться введенному 
    $query = mysql_query("SELECT user_id, user_password FROM users WHERE user_login='".mysql_real_escape_string($_POST['login'])."' LIMIT 1"); 
    $data = mysql_fetch_assoc($query); 
     
    # Соавниваем пароли 
    if($data['user_password'] === md5(md5($_POST['password']))) 
    { 
        # Генерируем случайное число и шифруем его 
        $hash = md5(generateCode(10)); 
             
        if(!@$_POST['not_attach_ip']) 
        { 
            # Если пользователя выбрал привязку к IP 
            # Переводим IP в строку 
            $insip = ", user_ip=INET_ATON('".$_SERVER['REMOTE_ADDR']."')"; 
        } 
         
        # Записываем в БД новый хеш авторизации и IP 
        mysql_query("UPDATE users SET user_hash='".$hash."' ".$insip." WHERE user_id='".$data['user_id']."'"); 
         
        # Ставим куки 
        setcookie("id", $data['user_id'], time()+60*60*24*30); 
        setcookie("hash", $hash, time()+60*60*24*30); 
         
        # Переадресовываем браузер на страницу проверки нашего скрипта 
        header("Location: check.php"); exit(); 
    } 
    else 
    { 
        print "Вы ввели неправильный логин/пароль"; 
    } 
} 
?> 
<form method="POST"> 
Логин <input name="login" type="text"><br> 
Пароль <input name="password" type="password"><br> 
Не прикреплять к IP(не безопасно) <input type="checkbox" name="not_attach_ip"><br> 
<input name="submit" type="submit" value="Войти"> 
</form>


 
захожу в этот файл мне выводит 

Код

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'myhost'@'localhost' (using password: YES) in /home/swsarumi/public_html/regisering/login.php on line 18

Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user 'swsarumi'@'localhost' (using password: NO) in /home/swsarumi/public_html/regisering/login.php on line 19

Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /home/swsarumi/public_html/regisering/login.php on line 19



что надо изменить в login.php, если можно то подробнее  smile  smile 


Автор: enof 30.1.2009, 17:28
А текст сообщения прочитать никак?
Неверный пароль\логин при подключении к базе данных.

Автор: sanchos14931 30.1.2009, 17:32
а в каком месте изменять пароль\логин ???

если здесь
Код

mysql_connect("localhost", "myhost", "myhost"); 
mysql_select_db("testtable");

то что, за что отвечает???

Автор: ksnk 30.1.2009, 17:35
http://ru.php.net/mysql_connect

Автор: sanchos14931 30.1.2009, 17:42
спасибо, все получилось

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)