При использовании функции "mysql_real_escape_string"в файли проверки при сохранении пользователя1 2 3 4 5 6 7 8 9 10 <?php if (isset($_POST['name'])) { $name = mysql_real_escape_string($_POST['name']); //это пятая линия if ($name == '') { unset($name); } } ?> Выдаёт в окне браузера ошибки: Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in Z:\home\localhost\www\save_user.php on line 5 Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in Z:\home\localhost\www\save_user.php on line 5 Не могу разобраться в причине!
В причине разобрался! Перенёс подключение к базе данных(когда непосредственно необходимо было обращение к данным)в начало строки и всё заработало! Вот ещё проблема! при использовании скрипта для генерации кода: PHP: <?php $DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"]; define("code_dir", "my_codegen/"); function generate_code() { $hours = date("H"); $minuts = substr(date("H"), 0 , 1); $mouns = date("m"); $year_day = date("z"); $str = $hours . $minuts . $mouns . $year_day; $str = md5(md5($str)); $str = strrev($str); $str = substr($str, 3, 6); $array_mix = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY); srand ((float)microtime()*1000000); shuffle ($array_mix); return implode("", $array_mix); } function img_code() { header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s", 10000) . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); header("Content-Type:image/png"); $linenum = 2; $img_arr = array( "codegen.png", "codegen0.png" ); $font_arr = array(); $font_arr[0]["fname"] = "verdana.ttf"; $font_arr[0]["size"] = 16; $font_arr[1]["fname"] = "times.ttf"; $font_arr[1]["size"] = 16; $n = rand(0,sizeof($font_arr)-1); $img_fn = $img_arr[rand(0, sizeof($img_arr)-1)]; $im = imagecreatefrompng (code_dir . $img_fn); for ($i=0; $i<$linenum; $i++) { //рисуем линии $color = imagecolorallocate($im, rand(0, 150), rand(0, 100), rand(0, 150)); imageline($im, rand(0, 20), rand(1, 50), rand(150, 180), rand(1, 50), $color); } $color = imagecolorallocate($im, rand(0, 200), 0, rand(0, 200)); imagettftext ($im, $font_arr[$n]["size"], rand(-4, 4), rand(10, 45), rand(20, 35), $color, code_dir.$font_arr[$n]["fname"], generate_code()); for ($i=0; $i<$linenum; $i++) { $color = imagecolorallocate($im, rand(0, 255), rand(0, 200), rand(0, 255)); imageline($im, rand(0, 20), rand(1, 50), rand(150, 180), rand(1, 50), $color); } ImagePNG ($im); ImageDestroy ($im); } img_code(); ?> вводя данные в поле для ввода сгенерированного кода выдаёт,что код с картинки неверный введён,но запись в базу данных производится! Проверка ввода: PHP: if (!chec_code($_POST['code'])) { exit ("Вы неверно ввели код с картинки"); } поле для ввода самого кода с картинки: HTML: <td> <input id="id_form_enter" class="validate[required,custom[noSpecialCaracters]" type="text" name="code" maxlength="20"> </td></tr> <tr><td colspan="2"> <img src="../znakomstva/code/my_codegen.php"> </td> Как думаете в чём проблема?
Доступ закрыт для пользователя с именем ODBC , который подключается через хост localhost и пароль не использует ссылка на сервер не может быть объявлена
По первому вопросу разобрался уже! Вот втрой,где я скрипт выложил-что с этой проблемой делать может кто подсказать?
Там же где и файл,который генерит код,а в отдельной папке фоновые подложки под код и шрифты для отображения кода! Но всё это находится отдельно от всех файлов самого сайта!