PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (2): [1] 2 »

> Найдено сообщений: 22
nofx Отправлено: 30 Мая, 2011 - 17:56:30 • Тема: explode почему-то не разбивает строку, переданную через $_POST • Форум: Если скрипт не работает

Ответов: 4
Просмотров: 2096
EuGen пишет:
Попробуйте так.


1)Так тоже - в $fam - целая строка, в других двух пусто.

2)Получается так, но в конце выскакивает крякозябр:

PHP:
скопировать код в буфер обмена
  1. $word = preg_split("/[\s,]+/", $fio);
  2. echo $word[0];


(выводит Дмитров�)
(Добавление)
Допер...во всем был виновно вот это сверху:
PHP:
скопировать код в буфер обмена
  1. $nbsp="&nbsp";
  2. $fio=$row_4[sfam].$nbsp.$row_4[sname].$nbsp.$row_4[sotch];


Надо так: ;$nbsp=" ";
nofx Отправлено: 30 Мая, 2011 - 17:46:42 • Тема: explode почему-то не разбивает строку, переданную через $_POST • Форум: Если скрипт не работает

Ответов: 4
Просмотров: 2096
EuGen пишет:
var_dump($_POST);
+
http://phpfaq.ru/debug


выводит:
["fio"]=> string(52) "Дмитров Дмитрий Дмитриевич"
nofx Отправлено: 30 Мая, 2011 - 17:42:43 • Тема: explode почему-то не разбивает строку, переданную через $_POST • Форум: Если скрипт не работает

Ответов: 4
Просмотров: 2096
Сначала в форму загружаются данные таким образом:

PHP:
скопировать код в буфер обмена
  1. mysql_query('SET NAMES utf8');
  2. $query="SELECT schkolnik.fam as sfam,schkolnik.name as sname,schkolnik.otchestvo as sotch, FROM schkolnik WHERE schkolnik.id_schkolnik = '".$id_schkolnik."'  LIMIT 1";
  3.  
  4.  $base=mysql_query($query) or die(mysql_errno);
  5.  $row_4=mysql_fetch_array($base);
  6.  
  7.   //соединяем 3 поля в одно - ФИО
  8.   $nbsp=" ";
  9.   $fio=$row_4[sfam].$nbsp.$row_4[sname].$nbsp.$row_4[sotch];
  10.  
  11. <form name=from_from_b2 action='' method=post>
  12.         <input type=text size=30 name=fio value='".$fio."'>
  13.         <input type=submit name=submit value='Cохранить'>
  14. </form>


Далее:
//нужно cнова разбить ФИО для записи в таблицу

PHP:
скопировать код в буфер обмена
  1. if($_POST[submit]){
  2.                 $fio = $_POST[fio];
  3.                  //проверка на тип - все в порядке, выводит 1
  4.                 echo is_string($fio);
  5.                         $data_fio = explode(' ', $fio);
  6.                         $fam=$data_fio[0];
  7.                         $name=$data_fio[1];
  8.                         $otchestvo=$data_fio[2];
  9.                          //ВОТ ЗДЕСЬ НЕ Пойму почему,но $fam содержит всю строку
  10.                                 echo $fam;
  11.                          //а $name и отчетство - пустые
  12.                                 echo $name;
  13.                                 echo $otchestvo;
nofx Отправлено: 16 Мая, 2011 - 14:34:27 • Тема: Посоветуйте стоящую русскую captcha на PHP • Форум: Напишите за меня, пожалуйста

Ответов: 10
Просмотров: 95
А нужно в переменной $font указывать именно название шрифта или название файла?
В папке Fonts в Windows название файлов показываются названиями шрифтов, при копировании в папку www имя файла меняется.
Данный скрипт показывает ошибки с этим:
CODE (htmlphp):
скопировать код в буфер обмена
  1. Warning: imageloadfont() [function.imageloadfont]: gd warning: product of memory allocation multiplication would exceed INT_MAX, failing operation gracefully in Z:\home\captha.ru\www\cap.php on line 28
  2. Warning: imageloadfont() [function.imageloadfont]: Error reading font, invalid font header in Z:\home\captha.ru\www\cap.php on line 28
  3.  
  4. Warning: Cannot modify header information - headers already sent by (output started at Z:\home\captha.ru\www\cap.php:28) in Z:\home\captha.ru\www\cap.php on line 30
nofx Отправлено: 15 Мая, 2011 - 00:32:17 • Тема: как сделать переход на определенную область страницы, которая включается (include) в другую • Форум: Работа с файловой системой и файлами

Ответов: 5
Просмотров: 4470
ATOM пишет:
не знаю то или нет но я лично делаю так.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. require_once ('engine/data/config.php');
  4. $page = $_GET['page'];
  5. if ($page==''){
  6. $title = 'Титл главной';
  7. $description = 'Описание главной';
  8. $keywords = 'Ключевые слова главной';
  9. $text = file_get_contents('page/index.php');
  10. }
  11. if ($page=='contact')
  12. {
  13. $title = 'титл контактов';
  14. $description = 'Описание контактов';
  15. $keywords = 'Ключевые слова контактов';
  16. $text = file_get_contents('page/contact.php');
  17. }
  18. include ('templates/content.php');
  19. ?>
  20.  

вы - молодец!
nofx Отправлено: 13 Мая, 2011 - 19:50:08 • Тема: как сделать переход на определенную область страницы, которая включается (include) в другую • Форум: Работа с файловой системой и файлами

Ответов: 5
Просмотров: 4470
понял, что делаю фигню..

добавил на infopage.php:

CODE (javascript):
скопировать код в буфер обмена
  1. var a = window.location.search;
  2. alert(a);


выводит то, что есть в ссылке первоначально, то есть при include грузится без всяких параметров..
тут видимо передавать из строки параметр в JS, который и выделит нужный блок (div) и проскролит страницу, буду искать
nofx Отправлено: 13 Мая, 2011 - 19:29:40 • Тема: как сделать переход на определенную область страницы, которая включается (include) в другую • Форум: Работа с файловой системой и файлами

Ответов: 5
Просмотров: 4470
Вобщем есть главная (index.php) страница с меню. В меню ссылки следующего вида:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <a href="index.php?p=info>информация</a>
  3. <a href="index.php?p=info&anchor=1>о системе</a>
  4. <a href="index.php?p=info&anchor=2>о сайте</a>
  5.  


вот, собственно инклужу так:
PHP:
скопировать код в буфер обмена
  1. switch ($_GET["p"])
  2.   {
  3.     case 'info':
  4.         {
  5.           switch ($_GET['anchor'])
  6.                  {
  7.                    case "1":
  8.                          { include ("infopage.php?anchor=1");}
  9.                                break;
  10.                                case "2":
  11.                                       { include ("infopage.php?anchor=2");}
  12.                                                  break;
  13.                               }
  14.           default: {include ("infopage.php");}
  15.           }
  16.  }


есть способ через JS: в infopage.php:
PHP:
скопировать код в буфер обмена
  1.  
  2.    if ($_GET['anchor']='1')
  3.   echo "'windows.location='infopage.php?#main'"


но так , конечно, не получаится, так как идет обращение не к внутреннему документу.Как получить доступ именно к внутренней подключенной странице....или такое нельзя???
nofx Отправлено: 11 Мая, 2011 - 17:59:18 • Тема: почему -то не выполняется SQL UPDATE • Форум: Работа с СУБД

Ответов: 2
Просмотров: 1614
EuGen пишет:
http://php.su/functions/?mysql_error
и
http://phpfaq.ru/debug


спасибо, исправил:

как понял - show является оператором в sql Подмигивание
nofx Отправлено: 11 Мая, 2011 - 17:24:12 • Тема: почему -то не выполняется SQL UPDATE • Форум: Работа с СУБД

Ответов: 2
Просмотров: 1614
не могу выполнить запрос на обновление:

1.Форма, чтоб её:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <form id="form1" name="form1" method="post" action="">
  3.      
  4. <textarea name='head'  class='style3' id='head' cols=70 rows=6 >
  5. <p align="center"><strong>ТУТ ТЕКСТ</strong>
  6. </textarea>      
  7.      
  8.  <input name=date1 type='text' class='style3' id=date1 value='01.01.2001' />          
  9.   <textarea name='full' cols='70' rows='25' class='style3' id='full'><p>ТУТ ДЛИННЫЙ ТЕКСТ</p>
  10. </textarea>      
  11. <textarea  name='rules' cols='32' rows='10' class='style3' id='rules'><li>ТОЖЕ ТЕКСТ</li></textarea>
  12.  
  13. <select name=id_org id=id_org>
  14. <option selected value=2>ТУТ ИМЯ1</option>
  15. <option value=1>ТУТ ИМЯ2</option>
  16. </select>
  17.  
  18. <textarea name='adress' cols='30' rows='4'  id='adress'>ТУТ АДРЕС
  19. </textarea>                                    
  20.  
  21. <input name=id type=hidden value=5>
  22. <input name=view1 type=hidden value=4>
  23. <input name=id_spisok type=hidden value=0>
  24. <input name=show type=hidden value=1>
  25.  
  26. <input type='submit' name='Submit1' value='Внести изменения' />      
  27.      </form>


2.PHP (на той же странице):
PHP:
скопировать код в буфер обмена
  1.  
  2. function rep($string)
  3.         {
  4.         $string = strip_tags($string);
  5.         $a="<br>";
  6.         $string.=$a;
  7.         return $string;
  8.         }
  9.  
  10. $Submit1 = $_POST['Submit1'];
  11.         if($Submit1)
  12.                                 {
  13.         $head1 = $_POST['head'];
  14.         $full1 = $_POST['full'];
  15.         $date1 = $_POST['date1'];
  16.         $rules1 = $_POST['rules'];
  17.         $view1 = $_POST['view1'];
  18.         $id_spisok1 = $_POST['id_spisok'];
  19.         $id1 = $_POST['id'];
  20.         $id_org1 = $_POST['id_org'];
  21.         $adress1 = $_POST['adress'];
  22.         $show1 = $_POST['show'];
  23. // тут все выводится как надо, все 10 полей
  24. echo "".rep($id1)."".rep($head1)."".rep($full1)."".rep($rules1)."".rep($view1)."".rep($date1)."".rep($id_org1)."".rep($id_spisok1)."".rep($adress1)."".rep($show1);
  25.  
  26. //вот запрос, что с ним не так??
  27.   $query = "UPDATE news SET id_news='".$id1."',
  28.                                  head ='".$head1."',
  29.                            full ='".$full1."',
  30.                            rules ='".$rules1."',
  31.                            view ='".$view1."',
  32.                            date ='".$date1."',
  33.                            id_org ='".$id_org1."',
  34.                            id_spisok ='".$id_spisok1."',
  35.                            adress ='".$adress1."',
  36.                            show ='".$show1."' WHERE id_news ='".$id1."'";
  37.  
  38. mysql_query($query) or die("Изменения не внесены!");
  39. echo "<br><br><center class='style3'><b>Статья обновленна!</b></center>";
  40.  
  41.  

Выводятся echo и строчка "Изменения не внесены!".Хоть убей не пойму причину!)

3. Вот сама табличка news:
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. CREATE TABLE IF NOT EXISTS `news` (
  3.   `id_news` int(11) NOT NULL AUTO_INCREMENT,
  4.   `head` text NOT NULL,
  5.   `full` text NOT NULL,
  6.   `rules` text NOT NULL,
  7.   `view` text NOT NULL,
  8.   `date` text NOT NULL,
  9.   `id_org` int(11) NOT NULL,
  10.   `id_spisok` int(11) NOT NULL,
  11.   `adress` text NOT NULL,
  12.   `show` int(2) NOT NULL,
  13.   PRIMARY KEY (`id_news`)
  14. ) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=32 ;


П.С табличка заполнена данными, которые грузятся в форму выше
nofx Отправлено: 25 Апреля, 2011 - 11:28:00 • Тема: Приходят сообщения в непонятной кодировке, причем -тема- в одной а тело - в другой • Форум: Программирование на PHP

Ответов: 2
Просмотров: 1012
Да, я тупанул жестко. Заголовки нужно ставить в ДВОЙНЫЕ кавычки как у вас ))
Спасибо Вам, DlTA
nofx Отправлено: 25 Апреля, 2011 - 01:07:47 • Тема: Приходят сообщения в непонятной кодировке, причем -тема- в одной а тело - в другой • Форум: Программирование на PHP

Ответов: 2
Просмотров: 1012
Нарисовалась проблемка.
По идее все делаю правильно и "всё соблюдено":
1) отправляю со страницы с кодировкой UTF-8:
CODE (html):
скопировать код в буфер обмена
  1. <meta http-equiv="Content-type" content="text/html; charset=utf-8">


2)есть фаил .htaccess в корне c единственной строкой:


3)вот сама функция :
PHP:
скопировать код в буфер обмена
  1.  
  2.  $to = $email;
  3.     $subject = ' Уведомление о регистрации на '.$site.'';
  4.     $message ='
  5.    <html>
  6.     <head></head>
  7.       <body>
  8.       <p>'.$name.', - вы зарегистрировались на нашем сайте <a href=www.'.$site.'/index.php >www.'.$site.'</a> и ввели следующие данные:</p><hr>
  9.      ФАМИЛИЯ: '.$fam.'<br>
  10.      ИМЯ: '.$name.'<br>
  11.      ОТЧЕСТВО: '.$otchestvo.' <br>
  12.      ШКОЛА: '.$nomer_school.' <br>
  13.      РУКОВОДИТЕЛЬ: '.$fam_rukovod.' '.$name_rukovod.' '.$otchestvo_rukovod.' <br>
  14.      E-MAIL: '.$email.' <br><hr>
  15.       </body>
  16.    </html>';
  17.       $headers2 = 'MIME-Version: 1.0\r\n';
  18.       $headers2 .= 'Content-type: text/html; charset=UTF-8\r\n';
  19.       $headers2 .='Content-Transfer-Encoding: base64 \r\n'; //тут также  пробывал -8bit, 7bit, quoted-printable
  20.       $headers2 .= 'From: Администратор <administrator@$SERVER_NAME>\r\n';
  21.     $send = MailSmtp ($to, $subject, $message, $headers2);
  22.     if ($send = TRUE)
  23.     echo "На вашу почту ( ".$email." )отправлено сообщение для подтверждения";
  24.     else echo "Сообщение для подтверждения регистрации не отправлено!";


4) в phpinfo: default_charset = UTF-8 (колонка local value)

5)В MySQL все по русский. перед запросом делаю

В итоге Оутлуком получаю такое письмо:

Тема: Уведомление Рѕ регистрации РЅР° mysite.ru

<html>
<head></head>
<body>
<p>п║п╣я─пЁп╣п╧, - п╡я▀ п╥п╟я─п╣пЁп╦я│я┌я─п╦я─п╬п╡п╟п╩п╦я│я▄ п╫п╟ п╫п╟я┬п╣п╪ я│п╟п╧я┌п╣ <a href=www[dot]mysite[dot]ru/index.php >www.mysite.ru</a> п╦ п╡п╡п╣п╩п╦ я│п╩п╣п╢я┐я▌я┴п╦п╣ п╢п╟п╫п╫я▀п╣:</p><hr>
п╓п░п°п≤п⌡п≤п╞: п║п╨я─я▀п╫п╫п╦п╨<br>
п≤п°п╞: п║п╣я─пЁп╣п╧<br>
п·п╒п╖п∙п║п╒п▓п·: п║п╣я─пЁп╣п╣п╡п╦я┤ <br>
п╗п п·п⌡п░: 1234 <br>
п═пёп п·п▓п·п■п≤п╒п∙п⌡п╛: п║п╦п╢п╬я─п╬п╡ п║п╦п╢п╬я─ п║п╦п╢п╬я─п╬п╡п╦я┤ <br>
E-MAIL: mymail@mail.ru <br><hr>
</body>
</html>

П.С: скопировал тему в NotePad++ и поменял кодировку на UTF-8 и о чудо - получил русский текст! Но с телом сообщения такое не проходит, это вообще не понятно что за кодировка.

И почему, кстати отображаются мои html теги тоже не пойму: ведь в header-е объявлено:
CODE (html):
скопировать код в буфер обмена
  1. Content-type" content="text/html;
nofx Отправлено: 24 Апреля, 2011 - 15:08:13 • Тема: Косяк с mail() • Форум: Программирование на PHP

Ответов: 5
Просмотров: 497
ваша функция mail, если используется smtp сервер, по идее, должна связываться с сервером, входить в него пользователем с паролем, формировать сообщение согласно MIME и отправлять почту, что то типа такого:

PHP:
скопировать код в буфер обмена
  1.  
  2.  $SmtpMail_Server     = " ";    //  адрес SMTP-сервера
  3.  $SmtpMail_Port       = "25";            // Порт SMTP-сервера, как правило 25
  4.  $SmtpMail_Username   = " ";     // Имя почтового ящика
  5.  $SmtpMail_Password   = " ";      // и пароль
  6.  $SmtpMail_From       = " ";                 // Имя отправителя в поле From
  7.  
  8. function MailSmtp($to, $subject, $message, $headers)
  9.  
  10. {
  11.  
  12.   global $SmtpMail_Server, $SmtpMail_Port, $SmtpMail_Username, $SmtpMail_Password;
  13.  
  14.   $SmtpMail_localhost  = "localhost";
  15.   $SmtpMail_newline    = "\r\n";
  16.   $SmtpMail_timeout    = "30";
  17.  
  18.   $smtpConnect = fsockopen($SmtpMail_Server, $SmtpMail_Port, $errno, $errstr, $SmtpMail_timeout);
  19.   $smtpResponse = fgets($smtpConnect, 515);
  20.  
  21.   if(empty($smtpConnect))
  22.     {
  23.       $output = "Failed to connect: $smtpResponse";
  24.       return $output;
  25.     }
  26.   else
  27.     {
  28.       $logArray['connection'] = "Connected: $smtpResponse";
  29.     }
  30.  
  31.   fputs($smtpConnect,"AUTH LOGIN" . $SmtpMail_newline);
  32.   $smtpResponse = fgets($smtpConnect, 515);
  33.   $logArray['authrequest'] = "$smtpResponse";
  34.  
  35.   fputs($smtpConnect, base64_encode($SmtpMail_Username) . $SmtpMail_newline);
  36.   $smtpResponse = fgets($smtpConnect, 515);
  37.   $logArray['authmhSmtpMail_username'] = "$smtpResponse";
  38.  
  39.   fputs($smtpConnect, base64_encode($SmtpMail_Password) . $SmtpMail_newline);
  40.   $smtpResponse = fgets($smtpConnect, 515);
  41.   $logArray['authmhSmtpMail_password'] = "$smtpResponse";
  42.  
  43.   fputs($smtpConnect, "HELO $SmtpMail_localhost" . $SmtpMail_newline);
  44.   $smtpResponse = fgets($smtpConnect, 515);
  45.   $logArray['heloresponse'] = "$smtpResponse";
  46.  
  47.   fputs($smtpConnect, "MAIL FROM: $SmtpMail_Username" . $SmtpMail_newline);
  48.   $smtpResponse = fgets($smtpConnect, 515);
  49.   $logArray['mailSmtpMail_fromresponse'] = "$smtpResponse";
  50.  
  51.   fputs($smtpConnect, "RCPT TO: $to" . $mhSmtpMail_newline);
  52.   $smtpResponse = fgets($smtpConnect, 515);
  53.   $logArray['mailtoresponse'] = "$smtpResponse";
  54.  
  55.   fputs($smtpConnect, "DATA" . $SmtpMail_newline);
  56.   $smtpResponse = fgets($smtpConnect, 515);
  57.   $logArray['data1response'] = "$smtpResponse";
  58.  
  59.   fputs($smtpConnect, "Subject: $subject\r\n$headers\r\n\r\n$message\r\n.\r\n");
  60.  
  61.   $smtpResponse = fgets($smtpConnect, 515);
  62.   $logArray['data2response'] = "$smtpResponse";
  63.  
  64.   fputs($smtpConnect,"QUIT" . $SmtpMail_newline);
  65.   $smtpResponse = fgets($smtpConnect, 515);
  66.   $logArray['quitresponse'] = "$smtpResponse";
  67.  
  68. }
nofx Отправлено: 21 Апреля, 2011 - 13:45:21 • Тема: Помогите отобразить результаты SQL запроса в виде 3-уровневого списка • Форум: Программирование на PHP

Ответов: 7
Просмотров: 857
даже не соображу как оно работает )

массив $arr заполнен статически? то есть он не меняется при каждом вызове функции?
nofx Отправлено: 21 Апреля, 2011 - 09:02:19 • Тема: Вложенный запрос • Форум: SQL и Архитектура БД

Ответов: 5
Просмотров: 40
Может быть вместо IN поробывать LIKE
nofx Отправлено: 20 Апреля, 2011 - 21:29:08 • Тема: Помогите отобразить результаты SQL запроса в виде 3-уровневого списка • Форум: Программирование на PHP

Ответов: 7
Просмотров: 857
хотите сказать, какую бы информацию и чего бы только базы данных не хранили ( заказы, покупки, деньги, транзакции, атомные виды оружия, запчасти) разумеется с первичными и вторичными ключами , но... без идентификаторов на родительские каталоги ( ну нету их - каталогов), имеют не верную структуру?

Страниц (2): [1] 2 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB