Jump to content

kilogram

User
  • Posts

    120
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by kilogram

  1. Написал простой запрос вставки и ничего не добавилось, вывожу - ничего не выводится и ошибок не выдает, просто пустой экран, почему? <?php $db = mysql_connect('localhost', 'root', '111'); mysql_select_db('test',$db); mysql_query('INSERT INTO cat(number,name,age) VALUES (,"Петя",28)'); $rez = mysql_query('SELECT * FROM `cat`'); while($r = mysql_fetch_assoc($rez)) echo $r["number"],$r["name"],$r["age"]; ?>
  2. Не хочет что-то вытаскивать с базы, вот написал банальный код. <?php $db = mysql_connect('localhost', 'root', '111'); mysql_select_db('cat',$db); $rez = mysql_query('SELECT * FROM cat'); while($r = mssql_fetch_assoc($rez)) echo $r['$name']; ?> Fatal error: Call to undefined function mssql_fetch_assoc() in C:\www\htdocs\test.ru\www\index.php on line 5
  3. Снес Программу MySQL-Front и все заработало.
  4. Захожу http://localhost/phpmyadmin все нормлаьно заходится. Вот файл config.inc.php <?php $i = 0; $i++; $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['extension'] = 'mysqli'; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['compress'] = false; $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = '111'; /* Пароль пользователя root. */ $cfg['Servers'][$i]['controluser'] = 'pma'; /* Имя созданного вами только что пользователя для доступа к расширенным таблицам. */ $cfg['Servers'][$i]['controlpass'] = 'пароль'; /* А здесь его пароль. */ $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark'; $cfg['Servers'][$i]['relation'] = 'pma_relation'; $cfg['Servers'][$i]['table_info'] = 'pma_table_info'; $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords'; $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; $cfg['Servers'][$i]['column_info'] = 'pma_column_info'; $cfg['Servers'][$i]['history'] = 'pma_history'; $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords'; ?> Написал такой код: <?php $link = mysql_connect('localhost', 'root', '111'); if (!$link) { die('Ошибка соединения: ' . mysql_error()); } echo 'Успешно соединились'; mysql_close($link); ?> Получаю такую ошибку: Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in C:\www\htdocs\test.ru\www\index.php on line 3 Ошибка соединения: Access denied for user 'root'@'localhost' (using password: YES) Что это может быть?
  5. У провайдера FTP использует 21 порт для передачи команд. Поэтому 21. У него вроде разрешены, у этой программы.
  6. Зарегистрировал хостинг на hut4.ru для учебных целей, читаю Котова, там пишет что мощное средство есть Mysql-Front Не могу никак подключиться к своей базе данных на сервере hut4.ru Мой сайт: santa.hut4.ru Подскажите, может не так что ввожу. Вот скрин ввода.
  7. А еще не все хостинги "прямо" поддерживают mb-функции, слышал. А что использовать если не поддерживают?
  8. В файле 1.txt кирилица, вытаскивать нужно функцией file_get_contents $t = file_get_contents('1.txt'); $get = mb_detect_encoding($t); echo iconv($get,'UTF-8',$t); Не выводит,хоть все правильно сделал, выдает ошибку: Notice: iconv() [function.iconv]: Detected an illegal character in input string in C:\www\htdocs\test.ru\www\index.php on line 6
  9. Читаю Котова, там приводится такой код. Файл index.php <?php ## Отправка почты по шаблону (без кодирования). // Подключаем функцию mailx() (см. ниже). include_once "mailx.php"; include_once "mailenc.php"; // Этот текст может быть получен, например, из базы данных, // или являться сообщением форума или гостевой книги. $text = "Cookies need love like everything does."; // Получатели письма. $tos = array("usa-1200@mail.ru", "swd200@yandex.ru","swd200@qip.ru"); // Считываем шаблон. $tpl = file_get_contents("mail.eml"); // Отправляем письма в цикле по получателям. foreach ($tos as $to) { // Заменяем элементы шаблона. $mail = $tpl; $mail = strtr($mail, array( "{TO}" => $to, "{TEXT}" => $text, )); // Вызываем mailx(), включенную из файла. mailx($mail); } ?> Файл mailenc.php <?php ## Кодирование заголовков письма. // Корректно кодирует все заголовки в письме $mail с использованием // метода base64. Кодировка письма определяется автоматически на основе // заголовка Content-type. Возвращает полученное письмо. function mailenc($mail) { // Разделяем тело сообщения и заголовки. list ($head, $body) = preg_split("/\r?\n\r?\n/s", $mail, 2); // Определяем кодировку письма по заголовку Content-type. $encoding = ''; $re = '/^Content-type:\s*\S+\s*;\s*charset\s*=\s*(\S+)/mi'; if (preg_match($re, $head, $p)) $encoding = $p[1]; // Проходимся по всем строкам-заголовкам. $newhead = ""; foreach (preg_split('/\r?\n/s', $head) as $line) { // Кодируем очередной заголовок. $line = mailenc_header($line, $encoding); $newhead .= "$line\r\n"; } // Формируем окончательный результат. return "$newhead\r\n$body"; } // Кодирует в строке максимально возможную последовательность // символов, начинающуюся с недопустимого символа и НЕ // включающую E-mail (адреса E-mail обрамляют символами < и >). // Если в строке нет ни одного недопустимого символа, преобразование // не производится. function mailenc_header($header, $encoding) { // Кодировка не задана - делать нечего. if (!$encoding) return $header; // Сохраняем кодировку в глобальной переменной. Без использования // ООП это - единственный способ передать дополнительный параметр // callback-функции. $GLOBALS['mail_enc_header_encoding'] = $encoding; return preg_replace_callback( '/([\x7F-\xFF][^<>\r\n]*)/s', 'mailenc_header_callback', $header ); } // Служебная функция для использования в preg_replace_callback(). function mailenc_header_callback($p) { $encoding = $GLOBALS['mail_enc_header_encoding']; // Пробелы в конце оставляем незакодированными. preg_match('/^(.*?)(\s*)$/s', $p[1], $sp); return "=?$encoding?B?".base64_encode($sp[1])."?=".$sp[2]; } ?> Файл mailx.php <?php ## Более удобная отправка почты. // Функция отправляет письмо, полностью заданное в параметре $mail. // Корректно обрабатываются заголовки To и Subject. function mailx($mail) { // Разделяем тело сообщения и заголовки. list ($head, $body) = preg_split("/\r?\n\r?\n/s", $mail, 2); // Выделяем заголовок To. $to = ""; if (preg_match('/^To:\s*([^\r\n]*)[\r\n]*/m', $head, $p)) { $to = @$p[1]; // сохраняем $head = str_replace($p[0], "", $head); // удаляем из исходной строки } // Выделяем Subject. $subject = ""; if (preg_match('/^Subject:\s*([^\r\n]*)[\r\n]*/m', $head, $p)) { $subject = @$p[1]; $head = str_replace($p[0], "", $head); } // Отправляем почту. Внимание! Опасный прием! mail($to, $subject, $body, trim($head)); } ?> Файл mail.eml Привет, {TO}! {TEXT} Это сообщение сгенерировано роботом - не отвечайте на него. Запускаю код на локальном компьютере, приходит письмо всем трем получателям: $tos = array("usa-1200@mail.ru", "swd200@yandex.ru","swd200@qip.ru"); Забросил на сервер http://santa.hut4.ru/ приходит ТОЛЬКО 1 письмо НА usa-1200@mail.ru. Почему так?
  10. Попробовал отправлять с реального адреса эл. почты, в маил.ру, яндекс. ру, qip.ru, meta.ua, gmail.com приходит во входящие, в ukr.net,i.ua в спам. Слышал что лучше пользоваться какими-то библиотеками для того чтобы в СПАМ не попадали письма, может кто знает какими?
  11. Все, исправил ошибку. Оказывается в 3-ем параметре функции mail -> From: нужно было указать такое же название почты, как и в кофигурационном файле force_sender=usa-1400@mail.ru Немного подкоректировал код, чтобы приходили письма в русской кодирове тема и само письмо. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Simple Mail</title> </head> <body> <?php @$addr = $_POST['addr']; @$theme = $_POST['theme']; @$text = $_POST['text']; if (isset($addr) && isset($theme) && isset($text) && $addr != "" && $theme != "" && $text != "") { if (mail($addr, $theme, $text, "From: usa-1000@mail.ru \r\nContent-type: text/html; charset=UTF-8 \r\n")) { echo "<h3>Сообщение отправлено</h3>"; } else { echo "<h3>При отправке сообщения возникла ошибка</h3>"; } } ?> <form action="index.php" method="post"> <p> <label for="addr">eMail:</label> <input type="text" name="addr" id="addr" size="30" /> </p> <p> <label for="theme">Тема письма:</label> <input type="text" name="theme" id="theme" size="30" /> </p> <p> <label for="text">Текст письма:</label> <textarea rows="10" cols="20" name="text" id="text"></textarea> </p> <p> <input type="submit" value="Отправить" /> </p> </form> </body> </html> в маил.ру,яндекс.ру пришло в папку входящие, в ukr.net пришло в папку СПАМ, в i.ua тоже в СПАМ,нужно что-то решать. Как сделать чтобы не приходило в СПАМ?
  12. sendmail_from = SMTP = smtp_port = 25 sendmail_path = "C:\php\sendmail\sendmail.exe -t" Вот так настроил и такой код <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Simple Mail</title> </head> <body> <?php $addr = 'usa-1200@mail.ru'; $theme = 'Для тебя'; $text = 'Приве малыш! Как дела?'; if (isset($addr) && isset($theme) && isset($text) && $addr != "" && $theme != "" && $text != "") { if (mail($addr, $theme, $text, "From: vova_33@mail.ru")) { echo "<h3>Сообщение отправлено</h3>"; } else { echo "<h3>При отправке сообщения возникла ошибка</h3>"; } } ?> <form action="index.php" method="post"> <p> <label for="addr">eMail:</label> <input type="text" name="addr" id="addr" size="30" /> </p> <p> <label for="theme">Тема письма:</label> <input type="text" name="theme" id="theme" size="30" /> </p> <p> <label for="text">Текст письма:</label> <textarea rows="10" cols="20" name="text" id="text"></textarea> </p> <p> <input type="submit" value="Отправить" /> </p> </form> </body> </html> Не работает. Что делать?
  13. По данной инструкции http://www.simplecoding.org/php-mail-pod-windows.html, немного с изменениями неважными написал код. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Simple Mail</title> </head> <body> <?php $addr = 'usa-1200@mail.ru'; $theme = 'Для тебя'; $text = 'Приве малыш! Как дела?'; if (isset($addr) && isset($theme) && isset($text) && $addr != "" && $theme != "" && $text != "") { if (mail($addr, $theme, $text, "From: vova_33@mail.ru")) { echo "<h3>Сообщение отправлено</h3>"; } else { echo "<h3>При отправке сообщения возникла ошибка</h3>"; } } ?> <form action="index.php.php" method="post"> <p> <label for="addr">eMail:</label> <input type="text" name="addr" id="addr" size="30" /> </p> <p> <label for="theme">Тема письма:</label> <input type="text" name="theme" id="theme" size="30" /> </p> <p> <label for="text">Текст письма:</label> <textarea rows="10" cols="20" name="text" id="text"></textarea> </p> <p> <input type="submit" value="Отправить" /> </p> </form> </body> </html> В поле email ввожу usa-1200@mail.ru В поле тема пишу "Привет" и текст Привет Петя! в поле текст, нажимаю отправить. Выдает такое сообщение. Что делать? sendmail.exe лежит у меня по такому пути: C:\php\sendmail\sendmail.exeВ php.ini Указал в php.ini так: smtp_port = 2525 SMTP = sendmail_from = sendmail_path = "C:\php\sendmail\sendmail.exe -t" Файл sendmail.exe действительно у меня лежит по такому пути как я указал выше. После отправки, выдает такое сообщение: Not FoundThe requested URL /mailer.php was not found on this server. Помогите, что делать?
  14. kilogram

    header

    <?php header('Content-Type:text/html; charset=UTF-8'); if (!headers_sent()) { header('Location: http://www.example.com/'); exit; } ?> Передаю функцией хидер заголовки в документ, а затем строкой ниже проверяю, были ли переданны заголоовки или нет. Вот передал, а оно все равно сделало переадресацию хоть и заголовок передался в первой строке кода.
  15. Читаю Котерова "Регулярные выражения". Там пишут что \w - любая буква или цифра. Написал такой код: <form action="index.php" method="post"> <input type="text" name="username"/> <input type="submit" value="Отправить" /> </form> <?php ///[a-zA-Z]+-[a-zA-Z]/ // preg_match("шаблон_поиска", "строка_в_которой_проводится_поиск", массив_с_результами_поиска) if(isset($_POST['username'])) $user = $_POST['username']; else { $user = ''; exit;} echo $user.'<br>'; if(preg_match("/\\w/", $user)) { echo "Имя пользователя задано в правильном формате"; } else { echo "Имя пользователя задано в <b><font color='red'>неправильном формате</font></b>"; } ?> Почему не работает кирилица в \w? 2. Там пишут что есть выражения, которые определяют группу символов. пишу так: if(preg_match("/[[:alpha:]]/", $user)) { определяет только латиницу почему то 3. Пишут что знак "*" соответствует 0 или больше символов, пишу так /a-*-/ а затем ввожу одну букву, выдает ошибка, оказывается нужно 1 и более, а не ноль и более. 4. Пробую так: if(preg_match("/a{1}/", $user)) { хоть напишу один раз или 10 раз букву "а" выдает что верно, хотя здесь ограничитель в один раз Пишу так: if(preg_match("/a{1,2}/", $user)) { Букву "а" согласно данному выражению я могу вводить от 1-2 раз, ввожу 10 раз букву "а" и выдает что верно 5. Пишут что если знак "?"(квантификатор), перед ним символ может повторятся только 0 или 1 раз(но не более!). Пишу такой код: if(preg_match("/a?/", $user)) { Ввожу 10 раз букву а латинскую и выдает что верно. Если кто может, объясните вот эти действия почему так и также почему не работет кирилица. Заранее благодарю.
  16. kilogram

    Календарь

    Вроде разобрался, возращается день недели, а вот здесь Не могу понять, почему здесь -2? $n = - ($wday - 2);
  17. kilogram

    Календарь

    Вроде работает, не совсем въехал в эту строку, объясните её если кто может. $wday = JDDayOfWeek(GregorianToJD($month, 1, $year), 0);
  18. kilogram

    Календарь

    Вот взял исходник, нашел папку этого календаря и выдает что 1 июня это воскресенье, что за бред? Автор книги ошибся что ли? Что может не правильно быть в коде, как-то странно. Вот оригинал автора с книги. Вот на сервер забросил результат http://santa.comoj.com/ <?php ## Календарь на текущий месяц. // Функция формирует двумерный массив, представляющий собой // календарь на указанный месяц и год. Массив состоит из строк, // соответствующих неделям. Каждая строка - массив из семи // элементов, которые равны числам (или пустой строке, если // данная клетка календаря пуста). function makeCal($year, $month) { // Получаем номер дня недели для 1 числа месяца. Корректируем // его, чтобы воскресенье соответствовало числу 7, а не числу 0. $wday = JDDayOfWeek(GregorianToJD($month, 1, $year), 0); if ($wday == 0) $wday = 7; // Начинаем с этого числа в месяце (если меньше нуля // или больше длины месяца, тогда в календаре будет пропуск). $n = - ($wday - 2); $cal = array(); // Цикл по строкам. for ($y=0; $y<6; $y++) { // Будущая строка. Вначале пуста. $row = array(); $notEmpty = false; // Цикл внутри строки по дням недели. for ($x=0; $x<7; $x++, $n++) { // Текущее число >0 и < длины месяца? if (checkdate($month, $n, $year)) { // Да. Заполняем клетку. $row[] = $n; $notEmpty = true; } else { // Нет. Клетка пуста. $row[] = ""; } } // Если в данной строке нет ни одного непустого элемента, // значит, месяц кончился. if (!$notEmpty) break; // Добавляем строку в массив. $cal[] = $row; } return $cal; } // Формируем календарь на текущий месяц. $now = getdate(); $cal = makeCal($now['year'], $now['mon']-1); ?> <!-- Шаблон вывода календаря. --> <table border=1> <tr> <td>Пн</td> <td>Вт</td> <td>Ср</td> <td>Чт</td> <td>Пт</td> <td>Сб</td> <td style="color:red">Вс</td> </tr> <!-- цикл по строкам --> <?foreach ($cal as $row) {?> <tr> <!-- цикл по столбам --> <?foreach ($row as $i=>$v) {?> <!-- воскресенье - "красный" день --> <td style="<?=$i==6? 'color:red' : ''?>"> <?=$v? $v : " "?> </td> <?}?> </tr> <?}?> </table>
  19. kilogram

    Календарь

    Я так понял из-за вот этого места может for($j = 0; $j < 6; $j++){ Если написать там for($j = 0; $j < 5; $j++){ тогда выведет без ошибки, но выведет не все рабочие дни этого месяца.
  20. kilogram

    Календарь

    В книге там прохожу немного даты и такой окд, вроде все верно написал, но он ругается на второй орич в конце кода непонятно почему. <?php //echo '<pre>'.print_r(getdate(),1).'</pre>'; function Calendar($year,$month){ $wday = JDDayofWeek(GregorianToJD($month,1,$year),0); if($wday == 0) $wday = 7; $n = - ($wday - 2); $cal = array(); for($j = 0; $j < 6; $j++){ $row = array(); $notEmpty = false; for($x = 0; $x < 7; $x++,$n++){ if(checkdate($month,$n,$year)){ $row[] = $n; $notEmpty = true; } else{ $row = ''; } } if(!$notEmpty) break; $cal[] = $row; } return $cal; } //Формируем календарь на текущий месяц $now = getdate(); $cal = Calendar($now['year'],$now['mon']-1); ?> <!-- Шаблон вывода календаря --> <table border="1"> <tr> <td>Пн</td> <td>Вт</td> <td>Ср</td> <td>Чт</td> <td>Пт</td> <td>Сб</td> <td style="color:red">Вс</td> </tr> <? foreach ($cal as $row) {?> <tr> <? foreach ($row as $i=>$v){?> <td style="<?=$i==6?'color:red':''?>"> <?=$v? $v : ' '?> </td> <? } ?> </tr> <? } ?> </table> Warning: Invalid argument supplied for foreach() in C:\www\htdocs\test.ru\www\index.php on line 39
  21. Вот так вроде сработало <?php $items = glob('*'); for ($i = 0; $i < count($items); $i++) { if (is_dir($items[$i])) { $add = glob($items[$i] . '/*'); $items = array_merge($items, $add); } } foreach($items as $rez) echo $rez.'<br />'; ?>
  22. Решил попробовать возвратить все файлы и файлы во внутренних каталогах, что-то не сработало, возвратило только фапы, а файлы во внутренних каталогах не возвратило. <?php foreach(glob("*") as $r){ if(is_dir($r)) {foreach($r as $r2) echo implode(' ',glob("*")); } else echo '<b>'.$r.'</b>'; } ?>
  23. Защитил файл чтоб его нельзя было изменить, но он все равно изменился, почему? Защита вроде была но Сан Саныч дописалось в файл. <?php $fp = fopen('1.txt', 'a'); flock($fp,LOCK_SH); $written = fputs($fp, 'Семен Семеныч'); var_dump($written); // fclose($fp); ?>
  24. Как создать каталог, а затем внутри него файл 1.php? Как создать каталог понял, а вот функции для создания файла не 1.tmp, а 1.php не нашел. if(!is_dir('2')) mkdir('2'); echo 'Как создать файл 1.php внутри каталога 2?';
  25. Как прочитать крилицу из файла doc? Выводит катабру, как прочитать чтоб вывело русский текст в нормальном виде? У меня файл 1.doc В нем внутри такой текст: Салют! Как дела малыш? $ourfile = fopen("1.doc","rt"); if($ourfile){ while(!feof($ourfile)){ $rez = fgets($ourfile,4096); echo $rez; }; fclose($ourfile); } Результат: РПаЎ± Как прочитать и вывести русский текст с файла док?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy