PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (2): [1] 2 »
Найдено сообщений: 22
nofx
Отправлено: 30 Мая, 2011 - 17:42:43 • Тема: explode почему-то не разбивает строку, переданную через $_POST • Форум: Если скрипт не работает
Ответов: 4 Просмотров: 2096
Сначала в форму загружаются данные таким образом:
PHP:
скопировать код в буфер обмена
$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 поля в одно - ФИО
$nbsp = " " ;
$fio = $row_4 [ sfam] . $nbsp . $row_4 [ sname] . $nbsp . $row_4 [ sotch] ;
< form name= from_from_b2 action= '' method= post>
< input type= text size= 30 name= fio value= '".$fio."' >
< input type= submit name= submit value= 'Cохранить' >
</ form>
Далее:
//нужно cнова разбить ФИО для записи в таблицу
PHP:
скопировать код в буфер обмена
if ( $_POST [ submit] ) {
$fio = $_POST [ fio] ;
//проверка на тип - все в порядке, выводит 1
$fam = $data_fio [ 0] ;
$name = $data_fio [ 1] ;
$otchestvo = $data_fio [ 2] ;
//ВОТ ЗДЕСЬ НЕ Пойму почему,но $fam содержит всю строку
echo $fam ;
//а $name и отчетство - пустые
echo $name ;
echo $otchestvo ;
nofx
Отправлено: 16 Мая, 2011 - 14:34:27 • Тема: Посоветуйте стоящую русскую captcha на PHP • Форум: Напишите за меня, пожалуйста
Ответов: 10 Просмотров: 95
А нужно в переменной $font указывать именно название шрифта или название файла?
В папке Fonts в Windows название файлов показываются названиями шрифтов, при копировании в папку www имя файла меняется.
Данный скрипт показывает ошибки с этим:
CODE (
htmlphp ):
скопировать код в буфер обмена
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
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
Отправлено: 13 Мая, 2011 - 19:29:40 • Тема: как сделать переход на определенную область страницы, которая включается (include) в другую • Форум: Работа с файловой системой и файлами
Ответов: 5 Просмотров: 4470
Вобщем есть главная (index.php) страница с меню. В меню ссылки следующего вида:
CODE (
html ):
скопировать код в буфер обмена
<a href = "index.php?p=info> информация</ a >
<a href = "index.php?p=info&anchor=1> о системе</ a >
<a href = "index.php?p=info&anchor=2> о сайте</ a >
вот, собственно инклужу так:
PHP:
скопировать код в буфер обмена
switch ( $_GET [ "p" ] )
{
case 'info' :
{
switch ( $_GET [ 'anchor' ] )
{
case "1" :
{ include ( "infopage.php?anchor=1" ) ; }
break ;
case "2" :
{ include ( "infopage.php?anchor=2" ) ; }
break ;
}
default : { include ( "infopage.php" ) ; }
}
}
есть способ через JS: в infopage.php:
но так , конечно, не получаится, так как идет обращение не к внутреннему документу.Как получить доступ именно к внутренней подключенной странице....или такое нельзя???
nofx
Отправлено: 11 Мая, 2011 - 17:24:12 • Тема: почему -то не выполняется SQL UPDATE • Форум: Работа с СУБД
Ответов: 2 Просмотров: 1614
не могу выполнить запрос на обновление:
1.Форма, чтоб её:
CODE (
html ):
скопировать код в буфер обмена
<form id = "form1" name = "form1" method = "post" action = "" >
<textarea name = 'head' class = 'style3' id = 'head' cols = 70 rows = 6 >
<p align = "center" ><strong > ТУТ ТЕКСТ</ strong >
</ textarea >
<input name = date1 type = 'text' class = 'style3' id = date1 value = '01.01.2001' / >
<textarea name = 'full' cols = '70' rows = '25' class = 'style3' id = 'full' ><p > ТУТ ДЛИННЫЙ ТЕКСТ</ p >
</ textarea >
<textarea name = 'rules' cols = '32' rows = '10' class = 'style3' id = 'rules' ><li > ТОЖЕ ТЕКСТ</ li ></ textarea >
<select name = id_org id = id_org>
<option selected value = 2 > ТУТ ИМЯ1</ option >
<option value = 1 > ТУТ ИМЯ2</ option >
</ select >
<textarea name = 'adress' cols = '30' rows = '4' id = 'adress' > ТУТ АДРЕС
</ textarea >
<input name = id type = hidden value = 5 >
<input name = view1 type = hidden value = 4 >
<input name = id_spisok type = hidden value = 0 >
<input name = show type = hidden value = 1 >
<input type = 'submit' name = 'Submit1' value = 'Внести изменения' / >
</ form >
2.PHP (на той же странице):
PHP:
скопировать код в буфер обмена
function rep( $string )
{
$a = "<br>" ;
$string .= $a ;
return $string ;
}
$Submit1 = $_POST [ 'Submit1' ] ;
if ( $Submit1 )
{
$head1 = $_POST [ 'head' ] ;
$full1 = $_POST [ 'full' ] ;
$date1 = $_POST [ 'date1' ] ;
$rules1 = $_POST [ 'rules' ] ;
$view1 = $_POST [ 'view1' ] ;
$id_spisok1 = $_POST [ 'id_spisok' ] ;
$id1 = $_POST [ 'id' ] ;
$id_org1 = $_POST [ 'id_org' ] ;
$adress1 = $_POST [ 'adress' ] ;
$show1 = $_POST [ 'show' ] ;
// тут все выводится как надо, все 10 полей
echo "" . rep( $id1 ) . "" . rep( $head1 ) . "" . rep( $full1 ) . "" . rep( $rules1 ) . "" . rep( $view1 ) . "" . rep( $date1 ) . "" . rep( $id_org1 ) . "" . rep( $id_spisok1 ) . "" . rep( $adress1 ) . "" . rep( $show1 ) ;
//вот запрос, что с ним не так??
$query = "UPDATE news SET id_news='" . $id1 . "',
head ='" . $head1 . "',
full ='" . $full1 . "',
rules ='" . $rules1 . "',
view ='" . $view1 . "',
date ='" . $date1 . "',
id_org ='" . $id_org1 . "',
id_spisok ='" . $id_spisok1 . "',
adress ='" . $adress1 . "',
show ='" . $show1 . "' WHERE id_news ='" . $id1 . "'" ;
echo "<br><br><center class='style3'><b>Статья обновленна!</b></center>" ;
Выводятся echo и строчка "Изменения не внесены!".Хоть убей не пойму причину!)
3. Вот сама табличка news:
CODE (
SQL ):
скопировать код в буфер обмена
CREATE TABLE IF NOT EXISTS `news` (
`id_news` int( 11) NOT NULL AUTO_INCREMENT ,
`head` text NOT NULL ,
`full` text NOT NULL ,
`rules` text NOT NULL ,
`view` text NOT NULL ,
`date` text NOT NULL ,
`id_org` int( 11) NOT NULL ,
`id_spisok` int( 11) NOT NULL ,
`adress` text NOT NULL ,
`show` int( 2) NOT NULL ,
PRIMARY KEY ( `id_news` )
) ENGINE= MyISAM DEFAULT CHARSET= cp1251 AUTO_INCREMENT = 32 ;
П.С табличка заполнена данными, которые грузятся в форму выше
nofx
Отправлено: 25 Апреля, 2011 - 01:07:47 • Тема: Приходят сообщения в непонятной кодировке, причем -тема- в одной а тело - в другой • Форум: Программирование на PHP
Ответов: 2 Просмотров: 1012
Нарисовалась проблемка.
По идее все делаю правильно и "всё соблюдено":
1) отправляю со страницы с кодировкой UTF-8:
2)есть фаил .htaccess в корне c единственной строкой:
3)вот сама функция :
PHP:
скопировать код в буфер обмена
$to = $email ;
$subject = ' Уведомление о регистрации на ' . $site . '' ;
$message = '
<html>
<head></head>
<body>
<p>' . $name . ', - вы зарегистрировались на нашем сайте <a href=www.' . $site . '/index.php >www.' . $site . '</a> и ввели следующие данные:</p><hr>
ФАМИЛИЯ: ' . $fam . '<br>
ИМЯ: ' . $name . '<br>
ОТЧЕСТВО: ' . $otchestvo . ' <br>
ШКОЛА: ' . $nomer_school . ' <br>
РУКОВОДИТЕЛЬ: ' . $fam_rukovod . ' ' . $name_rukovod . ' ' . $otchestvo_rukovod . ' <br>
E-MAIL: ' . $email . ' <br><hr>
</body>
</html>' ;
$headers2 = 'MIME-Version: 1.0\r\n' ;
$headers2 .= 'Content-type: text/html; charset=UTF-8\r\n' ;
$headers2 .= 'Content-Transfer-Encoding: base64 \r\n' ; //тут также пробывал -8bit, 7bit, quoted-printable
$headers2 .= 'From: Администратор <administrator@$SERVER_NAME>\r\n' ;
$send = MailSmtp ( $to , $subject , $message , $headers2 ) ;
if ( $send = TRUE )
echo "На вашу почту ( " . $email . " )отправлено сообщение для подтверждения" ;
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-е объявлено:
nofx
Отправлено: 24 Апреля, 2011 - 15:08:13 • Тема: Косяк с mail() • Форум: Программирование на PHP
Ответов: 5 Просмотров: 497
ваша функция mail, если используется smtp сервер, по идее, должна связываться с сервером, входить в него пользователем с паролем, формировать сообщение согласно MIME и отправлять почту, что то типа такого:
PHP:
скопировать код в буфер обмена
$SmtpMail_Server = " " ; // адрес SMTP-сервера
$SmtpMail_Port = "25" ; // Порт SMTP-сервера, как правило 25
$SmtpMail_Username = " " ; // Имя почтового ящика
$SmtpMail_Password = " " ; // и пароль
$SmtpMail_From = " " ; // Имя отправителя в поле From
function MailSmtp( $to , $subject , $message , $headers )
{
global $SmtpMail_Server , $SmtpMail_Port , $SmtpMail_Username , $SmtpMail_Password ;
$SmtpMail_localhost = "localhost" ;
$SmtpMail_newline = "\r \n " ;
$SmtpMail_timeout = "30" ;
$smtpConnect = fsockopen ( $SmtpMail_Server , $SmtpMail_Port , $errno , $errstr , $SmtpMail_timeout ) ; $smtpResponse = fgets ( $smtpConnect , 515
) ;
{
$output = "Failed to connect: $smtpResponse " ;
return $output ;
}
else
{
$logArray [ 'connection' ] = "Connected: $smtpResponse " ;
}
fputs ( $smtpConnect , "AUTH LOGIN" . $SmtpMail_newline ) ; $smtpResponse = fgets ( $smtpConnect , 515
) ; $logArray [ 'authrequest' ] = "$smtpResponse " ;
$smtpResponse = fgets ( $smtpConnect , 515
) ; $logArray [ 'authmhSmtpMail_username' ] = "$smtpResponse " ;
$smtpResponse = fgets ( $smtpConnect , 515
) ; $logArray [ 'authmhSmtpMail_password' ] = "$smtpResponse " ;
fputs ( $smtpConnect , "HELO $SmtpMail_localhost " . $SmtpMail_newline ) ; $smtpResponse = fgets ( $smtpConnect , 515
) ; $logArray [ 'heloresponse' ] = "$smtpResponse " ;
fputs ( $smtpConnect , "MAIL FROM: $SmtpMail_Username " . $SmtpMail_newline ) ; $smtpResponse = fgets ( $smtpConnect , 515
) ; $logArray [ 'mailSmtpMail_fromresponse' ] = "$smtpResponse " ;
fputs ( $smtpConnect , "RCPT TO: $to " . $mhSmtpMail_newline ) ; $smtpResponse = fgets ( $smtpConnect , 515
) ; $logArray [ 'mailtoresponse' ] = "$smtpResponse " ;
fputs ( $smtpConnect , "DATA" . $SmtpMail_newline ) ; $smtpResponse = fgets ( $smtpConnect , 515
) ; $logArray [ 'data1response' ] = "$smtpResponse " ;
fputs ( $smtpConnect , "Subject: $subject \r \n $headers \r \n \r \n $message \r \n .\r \n " ) ;
$smtpResponse = fgets ( $smtpConnect , 515
) ; $logArray [ 'data2response' ] = "$smtpResponse " ;
fputs ( $smtpConnect , "QUIT" . $SmtpMail_newline ) ; $smtpResponse = fgets ( $smtpConnect , 515
) ; $logArray [ 'quitresponse' ] = "$smtpResponse " ;
}
Страниц (2): [1] 2 »
Powered by ExBB FM 1.0 RC1. InvisionExBB