Всем доброго дня. Вопрос такой- файл со скриптом не коннектиться с БД,в файле такая строка PHP: mysql_connect("имя сервера.mysql", "логин", "пароль ") or die("Could not connect: " . mysql_error()); mysql_select_db("имя базы"); все данные прописываю правильно, база заведена, таблицы загружены, при запуске страницы выводится такое: Could not connect: Access denied for user 'имя юзера'@'хх.х.ххх.ххх' (using password: YES) где хх.х.ххх.ххх- айпи... что может быть? Заранее спасибо за помощь!!
порядок расположения данных host user password и регистр могут иметь значение? потому что все перепроверил - данные правильно введены
Само собой, четко соблюдать регистр имени пользователя и пароля. А уж про порядок аргументов я промолчу. Вы сможете отличить кучу данных? Вот и РНР не может, поэтому надо четко соблюдать всё.
PHP: $hostname = "localhost"; $username = "max"; $password = "123"; $dbName = "diit"; mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение"); mysql_select_db($dbName) or die (mysql_error());
Парни, спасибо, все подключается, я сначала записал пароль потом логин)) теперь другой вопрос- не работает сам скрипт регистрации, посмотрите, мож найдете ошибку- PHP: <? //тут идет коннект к БД, его не привожу, с ним разобрался// //скрипт регистрации// if(isset($_POST['submit'])) { $err = array(); # проверям логин if(!preg_match("/^[a-zA-Z0-9]+$/",$_POST['login'])) { $err[] = "Логин может состоять только из букв английского алфавита и цифр"; } if(strlen($_POST['login']) < 3 or strlen($_POST['login']) > 30) { $err[] = "Логин должен быть не меньше 3-х символов и не больше 30"; } # проверяем, не сущестует ли пользователя с таким именем $query = mysql_query("SELECT COUNT(user_id) FROM users WHERE user_login='".mysql_escape_string($_POST['login'])."'"); if(mysql_result($query, 0) > 0) { $err[] = "Пользователь с таким логином уже существует в базе данных"; } # Если нет ошибок, то добавляем в БД нового пользователя if(count($err) == 0) { # Убераем лишние пробелы $login = trim($_POST['login']); # Убераем лишние пробелы и делаем двойное шифрование $password = md5(md5(trim($_POST['password']))); mysql_query("INSERT INTO users SET user_login='".$login."', user_password='".$password."'"); header("Location: login.php"); exit(); } else { print "<b>При регистрации произошли следующие ошибки:</b><br>"; foreach($err AS $error) { print $error."<br>"; } } } ?> прошу потому, что я еще только учусь программировать, и мне нужен реально работающий скрипт чтобы его разбирать на запчасти и собственно на нем пытаться изучать пхп. Заранее спасибо за помощь!
перепробовал все варианты вывода ошибок- результат ноль... как подключать .htacces я пока не знаю, в error log тоже ничего не понял))) может есть какие нибудь наводящие подсказки? На пальцах ? Потому что что я в пхп как тот студент- вроде кое что понимаю, всмысле улавливаю суть, а сказать не могу))
Думаю, Volonter, $_POST['submit'] у тебя всегда пустой. поставь перед ифом и смотри, есть ли то, что ты проверяешь: PHP: <?php print_r($_POST); i f(isset($_POST['submit']))
Не прописано!! был прописан только type=submit, прописал name- все вроде заработало, спасибо!!! Всем огромное спасибо!!