[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как правильно прописать форму в echo
Aleks-prog
Форма которая выводится через echo, но по нажатию "Отправить" на форме заружается страница без запросов, которые должны идти после знака ?

echo "
<form action='view.php?'.
$_SERVER[QUERY_STRING] method='POST'>
<table class='tableview'>
<tr><td>Имя:</td><td><input type='text' name='name' maxlength='64' value='' /></td></tr>
<tr><td>E-mail:</td><td><input type='text' name='email' maxlength='64' value='' /></td></tr>
<tr><td>Тема:</td><td><input type='text' name='subject' maxlength='64' value='' /></td></tr>
<tr><td>Сообщение:</td><td><textarea name='message' rows='5' cols='30'></textarea></td></tr>
<tr><td> </td><td><input type='submit' name='sendMail' value='Отправить' /></td></tr>
</table>
</form>
"
;




Спустя 4 минуты, 51 секунда (31.08.2011 - 14:35) m4a1fox написал(а):
Елки палки, а как такое работает???? Ну в смысле оно то так может, но не нужно тк издеваться?!
P.S. А чего тема в знатоках делает? Перенесли ее??? wink.gif

Спустя 1 минута, 6 секунд (31.08.2011 - 14:36) m4a1fox написал(а):
echo "
<form action='view.php?"
.$_SERVER[QUERY_STRING]."' method='POST'>
<table class='tableview'>
<tr><td>Имя:</td><td><input type='text' name='name' maxlength='64' value='' /></td></tr>
<tr><td>E-mail:</td><td><input type='text' name='email' maxlength='64' value='' /></td></tr>
<tr><td>Тема:</td><td><input type='text' name='subject' maxlength='64' value='' /></td></tr>
<tr><td>Сообщение:</td><td><textarea name='message' rows='5' cols='30'></textarea></td></tr>
<tr><td> </td><td><input type='submit' name='sendMail' value='Отправить' /></td></tr>
</table>
</form>
"
;

Спустя 1 минута, 50 секунд (31.08.2011 - 14:38) linker написал(а):
echo "
<form action='view.php?"
.$_SERVER['QUERY_STRING']."' method='POST'>
<table class='tableview'>
<tr><td>Имя:</td><td><input type='text' name='name' maxlength='64' value='' /></td></tr>
<tr><td>E-mail:</td><td><input type='text' name='email' maxlength='64' value='' /></td></tr>
<tr><td>Тема:</td><td><input type='text' name='subject' maxlength='64' value='' /></td></tr>
<tr><td>Сообщение:</td><td><textarea name='message' rows='5' cols='30'></textarea></td></tr>
<tr><td> </td><td><input type='submit' name='sendMail' value='Отправить' /></td></tr>
</table>
</form>"
;
а вообще обычно наоборот делают, двойные кавычки используют для аттрибутов html-элементов.

Спустя 5 минут, 10 секунд (31.08.2011 - 14:43) Aleks-prog написал(а):
Все равно загружается как view.php, без хапросов после ?

Спустя 2 минуты, 16 секунд (31.08.2011 - 14:45) m4a1fox написал(а):
Aleks-prog
Цитата
а вообще обычно наоборот делают, двойные кавычки используют для аттрибутов html-элементов

Это да! Просто там столько одинарный - лень было менять!

Спустя 2 минуты, 40 секунд (31.08.2011 - 14:48) m4a1fox написал(а):
Лови! Должно работать!
echo '
<form action="view.php?'
.$_SERVER['QUERY_STRING'].'" method="POST">
<table class="tableview">
<tr><td>Имя:</td><td><input type="text" name="name" maxlength="64" /></td></tr>
<tr><td>E-mail:</td><td><input type="tex" name="email" maxlength="64" /></td></tr>
<tr><td>Тема:</td><td><input type="text" name="subject" maxlength="64" /></td></tr>
<tr><td>Сообщение:</td><td><textarea name="message" rows="5" cols="30"></textarea></td></tr>
<tr><td> </td><td><input type="submit" name="sendMail" value="Отправить" /></td></tr>
</table>
</form>'
;

Спустя 3 минуты, 5 секунд (31.08.2011 - 14:51) Aleks-prog написал(а):
m4a1fox
Спс большое, но не хочет пахать, тут похоже тот случай когда от перемены мест слагаемых сумма не меняется.

Не срабатывает с $_SERVER['QUERY_STRING']

Наверно придется вручную добавлять запросы, хотелось канеш так, но не хочет чет он, будем по-другому
Спасибо всем за попытку

Спустя 1 минута, 24 секунды (31.08.2011 - 14:53) m4a1fox написал(а):
Aleks-prog
Погоди ты, так сдаваться рано! Смотри что у меня в подписи! это очень уважаемый человек сказал! Так что не леняй с форума так рано!

Спустя 6 минут, 28 секунд (31.08.2011 - 14:59) Aleks-prog написал(а):
Да мне там 2 запроса добавить после ? всего надо(id, и название), я id с базы возьму а название категории пропишу вручную, впринципе то же самое получится

Спустя 1 минута (31.08.2011 - 15:00) m4a1fox написал(а):
Aleks-prog
Ну сам смотри! Вообще я бы не рекомендовал глобальные переменные передавать в поиск!

Спустя 28 секунд (31.08.2011 - 15:00) Aleks-prog написал(а):
При нажатии "Отправить" даже добавив вручную загружает без параметров запроса, да чтож такое

Спустя 4 минуты, 44 секунды (31.08.2011 - 15:05) m4a1fox написал(а):
Aleks-prog
Ну вот скажи, что ето такое и зачем оно тебе?

$_SERVER['QUERY_STRING']

Спустя 2 минуты, 9 секунд (31.08.2011 - 15:07) Aleks-prog написал(а):
$_SERVER['QUERY_STRING']
Это для того чтобы страница загрузилась с нужными мне параметрами
ну знаешь страница выглядит вот так
view.php?id=1&type_of_realty=commercial

Вот ошибку выводит при любом случае

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\agency\view.php on line 187
Table 'agency.0' doesn't exist


вот на этом участке

$myrow= mysql_fetch_array ($query) or die(mysql_error()) ;


Там у меня просто перед этим динамический запрос формируется, и проверяется наличие параметров адресной строки, а без параметров соотв никакого запроса мне не видать

Спустя 9 минут, 42 секунды (31.08.2011 - 15:17) m4a1fox написал(а):
Aleks-prog
Ну вот же. Русским по черному
Table 'agency.0' doesn't exist

Такой табличке - нет в БД!

Спустя 1 минута, 22 секунды (31.08.2011 - 15:18) Aleks-prog написал(а):
А после нажатия кнопки на форме, как бы я не передавал параметры
все равно загружается как view.php без параметров

Спустя 1 минута, 35 секунд (31.08.2011 - 15:20) Aleks-prog написал(а):
Нет, есть таблица

$type_of_realty = isset($_GET["type_of_realty"]) ? $_GET["type_of_realty"] :0;

$sqlview = "SELECT * FROM "."`".$type_of_realty."`";

$query = mysql_query($sqlview,$db) ;
$myrow= mysql_fetch_array ($query) or die(mysql_error()) ;


вот что происходит перед этим

Спустя 4 минуты, 36 секунд (31.08.2011 - 15:25) m4a1fox написал(а):
Вот как хитро! Прикольно! Вот не НАДО так делать! А если тебе через get передам бяку! Не мужик! Так не стоит делать! Правда это все ИМХО! Может кто из експертов думает иначе, он я бы так не рисковал!

Спустя 2 минуты, 1 секунда (31.08.2011 - 15:27) Aleks-prog написал(а):
ты имеешь в виду через пост делать?

Спустя 5 минут, 8 секунд (31.08.2011 - 15:32) m4a1fox написал(а):
Да вообще, не надо не через что передавать таблицу как параметр! Это антикорректно!

Спустя 2 минуты, 35 секунд (31.08.2011 - 15:34) Aleks-prog написал(а):
Как все это передать ХЗ, даже вручгую в action прописывай не прописывай, все равно обновится страница без параметров, почему так

Спустя 1 минута, 59 секунд (31.08.2011 - 15:36) Aleks-prog написал(а):
А может в хидденах передавать, если в action никак

Спустя 4 минуты, 48 секунд (31.08.2011 - 15:41) m4a1fox написал(а):
У тебя 100500 разных таблиц в БД?

Спустя 9 минут, 26 секунд (31.08.2011 - 15:51) Aleks-prog написал(а):
нет, не 100, поменьше

Спустя 3 минуты, 12 секунд (31.08.2011 - 15:54) Игорь_Vasinsky написал(а):
что то хитрое обсуждаеться.....

Спустя 3 минуты, 41 секунда (31.08.2011 - 15:57) m4a1fox написал(а):
Во первых как он должен найти таблицу, если ты ее не где не указываешь? Строка зароса, говоришь, вот так выглядит
Цитата
view.php?id=1&type_of_realty=commercial

А ошибка вот так


Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\agency\view.php on line 187
Table 'agency.0' doesn't exist



вот на этом участке

$myrow= mysql_fetch_array ($query) or die(mysql_error()) ;


Где в первой цитате, ты передаешь имя таблицы, кот. к тому же
вот тут

$type_of_realty = isset($_GET["type_of_realty"]) ? $_GET["type_of_realty"] :0;

$sqlview = "SELECT * FROM "."`".$type_of_realty."`";

$query = mysql_query($sqlview,$db) ;
$myrow= mysql_fetch_array ($query) or die(mysql_error()) ;

ты определяешь $type_of_realty а в гете у тебя нет type_of_realty.

Короче - ты запутался!

Спустя 1 минута, 31 секунда (31.08.2011 - 15:59) m4a1fox написал(а):
Игорь_Vasinsky
Цитата
что то хитрое обсуждаеться.....

Ой, ваще кино! Передает (точнее пытается передать) через запрос ГЕТ имя таблицы из которой надо искать...) Не правильно я ему говорю. Да и к тому определяет на страницы гет, которого - нет в запросе (ну как мне показалось!)


Aleks-prog
P.S. Бл****** неужели Попов?!

Но это все ИМХО! Так что не обессудьте!

Спустя 7 минут, 10 секунд (31.08.2011 - 16:06) m4a1fox написал(а):
Ладно, я убег на собеседования! Удачи пожелайте...
Aleks-prog
Вечером приду посмотрю как ты сделал!

Спустя 1 час, 49 минут, 19 секунд (31.08.2011 - 17:55) m4a1fox написал(а):
вот так всегда.... убежал... эх что же это я такой плохой учитель?!

Спустя 3 часа, 23 минуты, 37 секунд (31.08.2011 - 21:19) Игорь_Vasinsky написал(а):
m4a1fox
эх... вдогонку: УдаАаАач.... smile.gif

Спустя 10 часов, 13 минут, 57 секунд (1.09.2011 - 07:33) Aleks-prog написал(а):
Не убежал, просто, никак не могу понять почему не получается

после отсылки сообщения через форму, нужно выдать сообщение чуть ниже формы о том, что "Письмо оправилось", итак, после нажатия "отправить" письмо отправляется, но при обновлении страницы параметры в адресной строке исчезают, даже когда action в теге формы не прописываю,
Тоесть, мне нужно чтобы страница обновлялась с теми же параметрами что и до обновления,
А у меня происходит так:
До обновления - http://localhost/agency/view.php?id=...lty=commercial
После обновления - http://localhost/agency/view.php ,
перепробовал многое, ничего не помогает, если подставить в action неправильный адрес он "переходит по нему", а если все четко вставишь, обновляет но без параметров, ПОМОГИТЕ)

формирование строки

<?php
$a="";
$parse="";
$sum="";
$a .= "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$parse = parse_url($a);
print_r($parse);
$sum = $parse['query'];
?>


Форма:

<form action=<?php echo "view.php?".$sum; ?> method="GET">
<table
class="tableview">
<tr><td>
Имя:</td><td><input type="text" name="name" maxlength="64" value="" /></td></tr>
<tr><td>
E-mail:</td><td><input type="text" name="email" maxlength="64" value="" /></td></tr>
<tr><td>
Тема:</td><td><input type="text" name="subject" maxlength="64" value="" /></td></tr>
<tr><td>
Сообщение:</td><td><textarea name="message" rows="5" cols="30"></textarea></td></tr>


<tr><td>
 </td><td><input type="submit" name="sendMail" value="Отправить" /></td></tr>
</table>
</form>


Вот вкратце перечислил еще раз суть проблему)

Спустя 1 час, 28 минут, 48 секунд (1.09.2011 - 09:02) m4a1fox написал(а):
Aleks-prog
Ну короче когда появишься на форуме, напиши что вот это

print_r($parse);
$sum = $parse['query'];

Тебе показывает?

Спустя 8 минут, 30 секунд (1.09.2011 - 09:10) Aleks-prog написал(а):
Array ( [scheme] => http [host] => localhost [path] => /agency/view.php [query] => id=1&type_of_realty=commercial )

Выводит


А
$sum = $parse['query'];


То что после знака ? параметры

Спустя 15 минут, 57 секунд (1.09.2011 - 09:26) m4a1fox написал(а):
Aleks-prog
Конечно из области фантастики но если так

$a .= "http://".$_SERVER['SERVER_NAME']."?".$_SERVER['REQUEST_URI'];

Спустя 1 минута, 42 секунды (1.09.2011 - 09:28) Aleks-prog написал(а):
m4a1fox

Я так пробовал, результат такой же

А вот вопрос - вообще через action формы должно так передаваться?

Спустя 1 минута, 26 секунд (1.09.2011 - 09:29) m4a1fox написал(а):


if (isset($_POST['id_vid_nedv'])) {$id_vid_nedv = $_POST['id_vid_nedv']; if ($id_vid_nedv == '') {unset($id_vid_nedv);}}


а если так

$id_vid_nedv = !empty($_POST['id_vid_nedv'])?$_POST['id_vid_nedv']:NULL;

Спустя 2 минуты, 36 секунд (1.09.2011 - 09:32) Aleks-prog написал(а):
с id_vid_nedv уже разобрался,

Спустя 9 минут, 51 секунда (1.09.2011 - 09:42) m4a1fox написал(а):
Aleks-prog
Цитата
А вот вопрос - вообще через action формы должно так передаваться?

Я например так не делаю.... ну может и можно.... Надо спросить у экспертов!

Спустя 2 минуты, 11 секунд (1.09.2011 - 09:44) Aleks-prog написал(а):
Я эти параметры даже уже пытался в форме в hidden поля прописать чтобы наверняка передались, но все равно в адресной строке пусто

Даже уже форму убрал из echo biggrin.gif

Спустя 9 минут, 25 секунд (1.09.2011 - 09:53) m4a1fox написал(а):
Игорь, ты хоть скажи что нибудь?
P.S. - ты вообще спишь когда нибудь?

Aleks-prog
Давай отвлечемся.....и ты мне расскажешь...... про логику скрипта что ты пытаешь сделать, а мы с Игорем посмотрим на процесс.... просто логика, что, зачем, для чего?

Спустя 2 минуты, 37 секунд (1.09.2011 - 09:56) Игорь_Vasinsky написал(а):
Поспал 4 часика....блин.. я в этом топике вообще уже запутался.. что нужно, что не работает.

Спустя 1 минута, 28 секунд (1.09.2011 - 09:58) Aleks-prog написал(а):
Я же уже написал

Я делаю форму обратной связи,

после отсылки сообщения через форму, нужно выдать сообщение чуть ниже формы о том, что "Письмо оправилось", итак, после нажатия "отправить" письмо отправляется, но при обновлении страницы параметры в адресной строке исчезают, даже когда action в теге формы не прописываю,
Тоесть, мне нужно чтобы страница обновлялась с теми же параметрами что и до обновления,
А у меня происходит так:
До обновления - http://localhost/agency/view.php?id=...lty=commercial
После обновления - http://localhost/agency/view.php ,
перепробовал многое, ничего не помогает, если подставить в action неправильный адрес он "переходит по нему", а если все четко вставишь, обновляет но без параметров,


Спустя 4 минуты, 7 секунд (1.09.2011 - 10:02) m4a1fox написал(а):
Игорь_Vasinsky
Цитата

я в этом топике вообще уже запутался

Я сам такой же....

Aleks-prog
Цитата
Я же уже написал

Так ничего не понятно... вот ты объясни мне идиоту, накой ляд, ты для отправки письма на мыло юзера использушь гет?
Че он тебе сделал, нафиг он тебе упал?

Спустя 3 минуты, 43 секунды (1.09.2011 - 10:05) Aleks-prog написал(а):
:D

Я просто приведу обработчик

<?php
session_start();
$admin = 'aleksaaa555@mail.ru';

if ( isset( $_GET['sendMail'] ) ) {
$name = substr( $_GET['name'], 0, 64 );
$email = substr( $_GET['email'], 0, 64 );
$subject = substr( $_GET['subject'], 0, 64 );
$message = substr( $_GET['message'], 0, 250 );

$error = '';
if ( empty( $name ) ) $error = $error.'<li>Не заполнено поле "Имя"</li>';
if ( empty( $email ) ) $error = $error.'<li>Не заполнено поле "E-mail"</li>';
if ( empty( $subject ) ) $error = $error.'<li>Не заполнено поле "Тема"</li>';
if ( empty( $message ) ) $error = $error.'<li>Не заполнено поле "Сообщение"</li>';
if ( !empty( $email ) and !preg_match( "#^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,6}$#i", $email ) )
$error = $error.'<li>поле "E-mail" должно соответствовать формату somebody@somewhere.ru</li>';
if ( !empty( $error ) ) {
$_SESSION['sendMailForm']['error'] = '<p>При заполнении формы были допущены ошибки:</p><ul>'.$error.'</ul>';
$_SESSION['sendMailForm']['name'] = $name;
$_SESSION['sendMailForm']['email'] = $email;
$_SESSION['sendMailForm']['subject'] = $subject;
$_SESSION['sendMailForm']['message'] = $message;
header( 'Location: '.$_SERVER['PHP_SELF'] );
die();
}

$filepath = array();
$filename = array();
for( $i = 0; $i < count($_FILES['file']); $i++) {
if ( !empty( $_FILES['file']['tmp_name'][$i] ) and $_FILES['file']['error'][$i] == 0 ) {
$filepath[] = $_FILES['file']['tmp_name'][$i];
$filename[] = $_FILES['file']['name'][$i];
}
}


$body = "АВТОР:\r\n".$name."\r\n\r\n";
$body .= "E-MAIL:\r\n".$email."\r\n\r\n";
$body .= "ТЕМА:\r\n".$subject."\r\n\r\n";
$body .= "СООБЩЕНИЕ:\r\n".$message;


function quoted_printable_encode1 ( $string ) {
// rule #2, #3 (leaves space and tab characters in tact)
$string = preg_replace_callback (
'/[^\x21-\x3C\x3E-\x7E\x09\x20]/',
'quoted_printable_encode_character',
$string
);
$newline = "=\r\n"; // '=' + CRLF (rule #4)
// make sure the splitting of lines does not interfere with escaped characters
// (chunk_split fails here)

$string = preg_replace ( '/(.{73}[^=]{0,3})/', '$1'.$newline, $string);
return $string;
}


// Вспомогательная функция для отправки почтового сообщения с вложением
function send_mail($admin, $body, $email, $filepath, $filename)
{
$subject = '=?utf-8?B?'.base64_encode('Заполнена форма на сайте').'?=';
$boundary = "--".md5(uniqid(time())); // генерируем разделитель
$headers = "From: ".strtoupper($_SERVER['SERVER_NAME'])."<Aleksaaa555@mail.ru>\r\n";
$headers .= "Return-path: <".$email.">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .="Content-Type: multipart/mixed; boundary=\"".$boundary."\"\r\n";
$multipart = "--".$boundary."\r\n";
$multipart .= "Content-type: text/plain; charset=\"utf-8\"\r\n";
$multipart .= "Content-Transfer-Encoding: quoted-printable\r\n\r\n";

$body = quoted_printable_encode( $body )."\r\n\r\n";

$multipart .= $body;

$file = '';
$count = count( $filepath );
if ( $count > 0 ) {
for ( $i = 0; $i < $count; $i++ ) {
$fp = fopen($filepath[$i], "r");
if ( $fp ) {
$content = fread($fp, filesize($filepath[$i]));
fclose($fp);
$file .= "--".$boundary."\r\n";
$file .= "Content-Type: application/octet-stream\r\n";
$file .= "Content-Transfer-Encoding: base64\r\n";
$file .= "Content-Disposition: attachment; filename=\"".$filename[$i]."\"\r\n\r\n";
$file .= chunk_split(base64_encode($content))."\r\n";
iconv('WINDOWS-1251', 'UTF-8', $name);
iconv('WINDOWS-1251', 'UTF-8', $email);
iconv('WINDOWS-1251', 'UTF-8', $subject);
iconv('WINDOWS-1251', 'UTF-8', $message);
}
}
}

$multipart .= $file."--".$boundary."--\r\n";

if( mail($admin, $subject, $multipart, $headers) )
return true;
else
return
false;
}

function quoted_printable_encode_character ( $matches ) {
$character = $matches[0];
return sprintf ( '=%02x', ord ( $character ) );
}



if ( send_mail($admin, $body, $email, $filepath, $filename) )
$_SESSION['success'] = true;
else
$_SESSION['success'] = false;
header( 'Location: '.$_SERVER['PHP_SELF'] );
die();
}
?>

Спустя 59 секунд (1.09.2011 - 10:06) Aleks-prog написал(а):
Но у меня нормально отправляет письмо,
Мне надо чтобы обработчик был на этой же странице что и форма отправки

Спустя 1 минута, 8 секунд (1.09.2011 - 10:07) m4a1fox написал(а):
Блин.... вот скажи, у тебя форма отправки на данный момент на странице view.php?

Спустя 8 секунд (1.09.2011 - 10:08) Игорь_Vasinsky написал(а):
Одной страницей.

1. вообще почему GET?
я делаю POST

<?php
//Проверить нажата ли submit
if(isset($_POST['send']))
{
//обрабатываю форму
if("форма обработана")
$result = "Форма обработана";
else
$result = "Ошибка обработки формы";
}
?>

<form>
...
...
<input type="submit" name="send">
</form>

<?php
if(isset($result))
echo $result;
?>


Ну если те принципиально в action GET - то то же самое, и про какое обновление страницы ты говоришь?

Ручное F5 или Header - как ты обновляешь?

в любом случае вся строка URL - должна быть на месте, при условии что если header - так

header("location: http://".$_SERVER['SERVER_NAME']."?".$_SERVER['REQUEST_URI']);


Только я вот понять не могу.... обычно после обработки формы делают редирект, чтоб очистить POST - и не повторить повторной обработки формы.

Спустя 3 минуты, 33 секунды (1.09.2011 - 10:11) m4a1fox написал(а):
Игорь_Vasinsky
Цитата
я делаю POST
Ну а я за шо!
Цитата
обычно после обработки формы делают редирект, чтоб очистить POST - и не повторить повторной обработки формы.

А я еще на первой странице написал что ТС запутался!

Спустя 4 минуты, 20 секунд (1.09.2011 - 10:15) Aleks-prog написал(а):
m4a1fox
да

Игорь_Vasinsky

Обновление страницы происходит когда я нажимаю на кнопке Отправить, так как в action я задаю эту же страницу, но у меня до нажатия кнопки в адресной строке параметры, которые нужны для вывода таблиц перед формой, просто если страница обновится без параметров, будет докрена ошибок


ПРО редирект можно поподробнее, это когда action ведет на отдельную страницу? Но мне то надо по-джругому...


Спустя 1 минута, 14 секунд (1.09.2011 - 10:17) Aleks-prog написал(а):
Да можно и ПОСТ сделать этоне принципиально

Спустя 2 минуты, 33 секунды (1.09.2011 - 10:19) m4a1fox написал(а):
Aleks-prog
А теперь все через пост и в action формы все нафиг стирай! и попробуй!

Спустя 7 минут, 1 секунда (1.09.2011 - 10:26) Игорь_Vasinsky написал(а):
напиши здесь action формы.
а чтоб ошибок не было ест isset, и удобно ипользовать тернарный оператор для проверки данных

$mail = isset($_GET['mail']) ? $_GET['mail'] : null;

и т.д.

А далее просто сделать проверку

if(isset($mail))
//Запускать скрипт.

Спустя 3 минуты, 11 секунд (1.09.2011 - 10:29) Aleks-prog написал(а):
Подготовка:

       $a="";
$parse="";
$sum="";
$a .= "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$parse = parse_url($a);
print_r($parse);
$sum = $parse['query'];


Форма

<form action=<?php echo "view.php?".$sum; ?> method="GET">
<table
class="tableview">
<tr><td>
Имя:</td><td><input type="text" name="name" maxlength="64" value="" /></td></tr>
<tr><td>
E-mail:</td><td><input type="text" name="email" maxlength="64" value="" /></td></tr>
<tr><td>
Тема:</td><td><input type="text" name="subject" maxlength="64" value="" /></td></tr>
<tr><td>
Сообщение:</td><td><textarea name="message" rows="5" cols="30"></textarea></td></tr>


<tr><td>
 </td><td><input type="submit" name="sendMail" value="Отправить" /></td></tr>
</table>
</form>

Спустя 22 секунды (1.09.2011 - 10:30) m4a1fox написал(а):
Aleks-prog
Цитата
Да можно и ПОСТ сделать этоне принципиально

Эво как! Ты не представляешь насколько принципиально это в твоем случае!



<form action="" method="post">
<
table class="tableview">
<
tr><td>Имя:</td><td><input type="text" name="name" maxlength="64" value="" /></td></tr>
<
tr><td>E-mail:</td><td><input type="text" name="email" maxlength="64" value="" /></td></tr>
<
tr><td>Тема:</td><td><input type="text" name="subject" maxlength="64" value="" /></td></tr>
<
tr><td>Сообщение:</td><td><textarea name="message" rows="5" cols="30"></textarea></td></tr>


<
tr><td> </td><td><input type="submit" name="sendMail" value="Отправить" /></td></tr>
</
table>
</
form>

Спустя 53 секунды (1.09.2011 - 10:31) m4a1fox написал(а):
Aleks-prog
Цитата
Подготовка:

Издеваешься да? Убере, убей, удали, сотри, пусти в расход, уничтож, delete, del, преврати в пыль, нафиг - все из action!

Спустя 21 секунда (1.09.2011 - 10:31) Aleks-prog написал(а):
m4a1fox

Пробовал уже так, у меняч изначально форма была в POST , и action я убирал никакого эффекта

Спустя 1 минута, 21 секунда (1.09.2011 - 10:32) Игорь_Vasinsky написал(а):
Aleks-prog
филькина грамота.

Спустя 35 секунд (1.09.2011 - 10:33) m4a1fox написал(а):
Aleks-prog
А теперь полнывй код страницы в студию, ща мы с Игорь_Vasinsky, если он занят не будет, тебе подсуетим! А я пока курить!

Спустя 1 минута, 51 секунда (1.09.2011 - 10:35) Aleks-prog написал(а):
Да делал я уже так...

вот:

 <form  method="POST">
<table
class="tableview">
<tr><td>
Имя:</td><td><input type="text" name="name" maxlength="64" value="" /></td></tr>
<tr><td>
E-mail:</td><td><input type="text" name="email" maxlength="64" value="" /></td></tr>
<tr><td>
Тема:</td><td><input type="text" name="subject" maxlength="64" value="" /></td></tr>
<tr><td>
Сообщение:</td><td><textarea name="message" rows="5" cols="30"></textarea></td></tr>


<tr><td>
 </td><td><input type="submit" name="sendMail" value="Отправить" /></td></tr>
</table>
</form>

Спустя 29 секунд (1.09.2011 - 10:35) Игорь_Vasinsky написал(а):
я понять не могу.
У тя форма строит GET в урл или форма уже находиться на url с GET?

Спустя 3 минуты, 43 секунды (1.09.2011 - 10:39) m4a1fox написал(а):
Игорь_Vasinsky
Блин! Ну я же показал как! Еще раз!
<form action="" method="post">
<table
class="tableview">
<tr><td>
Имя:</td><td><input type="text" name="name" maxlength="64" value="" /></td></tr>
<tr><td>
E-mail:</td><td><input type="text" name="email" maxlength="64" value="" /></td></tr>
<tr><td>
Тема:</td><td><input type="text" name="subject" maxlength="64" value="" /></td></tr>
<tr><td>
Сообщение:</td><td><textarea name="message" rows="5" cols="30"></textarea></td></tr>


<tr><td> </td><td><input
type="submit" name="sendMail" value="Отправить" /></td></tr>
</table>
</form>

Будь повнимательнее!

Спустя 31 секунда (1.09.2011 - 10:40) m4a1fox написал(а):
И код полностью с отправкой давай сюда!

Спустя 22 секунды (1.09.2011 - 10:40) Aleks-prog написал(а):
<?php
session_start();
$admin = 'aleksaaa555@mail.ru';

if ( isset( $_POST['sendMail'] ) ) {
$name = substr( $_POST['name'], 0, 64 );
$email = substr( $_POST['email'], 0, 64 );
$subject = substr( $_POST['subject'], 0, 64 );
$message = substr( $_POST['message'], 0, 250 );

$error = '';
if ( empty( $name ) ) $error = $error.'<li>Не заполнено поле "Имя"</li>';
if ( empty( $email ) ) $error = $error.'<li>Не заполнено поле "E-mail"</li>';
if ( empty( $subject ) ) $error = $error.'<li>Не заполнено поле "Тема"</li>';
if ( empty( $message ) ) $error = $error.'<li>Не заполнено поле "Сообщение"</li>';
if ( !empty( $email ) and !preg_match( "#^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,6}$#i", $email ) )
$error = $error.'<li>поле "E-mail" должно соответствовать формату somebody@somewhere.ru</li>';
if ( !empty( $error ) ) {
$_SESSION['sendMailForm']['error'] = '<p>При заполнении формы были допущены ошибки:</p><ul>'.$error.'</ul>';
$_SESSION['sendMailForm']['name'] = $name;
$_SESSION['sendMailForm']['email'] = $email;
$_SESSION['sendMailForm']['subject'] = $subject;
$_SESSION['sendMailForm']['message'] = $message;
header( 'Location: '.$_SERVER['PHP_SELF'] );
die();
}

$filepath = array();
$filename = array();
for( $i = 0; $i < count($_FILES['file']); $i++) {
if ( !empty( $_FILES['file']['tmp_name'][$i] ) and $_FILES['file']['error'][$i] == 0 ) {
$filepath[] = $_FILES['file']['tmp_name'][$i];
$filename[] = $_FILES['file']['name'][$i];
}
}


$body = "АВТОР:\r\n".$name."\r\n\r\n";
$body .= "E-MAIL:\r\n".$email."\r\n\r\n";
$body .= "ТЕМА:\r\n".$subject."\r\n\r\n";
$body .= "СООБЩЕНИЕ:\r\n".$message;


function quoted_printable_encode1 ( $string ) {
// rule #2, #3 (leaves space and tab characters in tact)
$string = preg_replace_callback (
'/[^\x21-\x3C\x3E-\x7E\x09\x20]/',
'quoted_printable_encode_character',
$string
);
$newline = "=\r\n"; // '=' + CRLF (rule #4)
// make sure the splitting of lines does not interfere with escaped characters
// (chunk_split fails here)

$string = preg_replace ( '/(.{73}[^=]{0,3})/', '$1'.$newline, $string);
return $string;
}


// Вспомогательная функция для отправки почтового сообщения с вложением
function send_mail($admin, $body, $email, $filepath, $filename)
{
$subject = '=?utf-8?B?'.base64_encode('Заполнена форма на сайте').'?=';
$boundary = "--".md5(uniqid(time())); // генерируем разделитель
$headers = "From: ".strtoupper($_SERVER['SERVER_NAME'])."<Aleksaaa555@mail.ru>\r\n";
$headers .= "Return-path: <".$email.">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .="Content-Type: multipart/mixed; boundary=\"".$boundary."\"\r\n";
$multipart = "--".$boundary."\r\n";
$multipart .= "Content-type: text/plain; charset=\"utf-8\"\r\n";
$multipart .= "Content-Transfer-Encoding: quoted-printable\r\n\r\n";

$body = quoted_printable_encode( $body )."\r\n\r\n";

$multipart .= $body;

$file = '';
$count = count( $filepath );
if ( $count > 0 ) {
for ( $i = 0; $i < $count; $i++ ) {
$fp = fopen($filepath[$i], "r");
if ( $fp ) {
$content = fread($fp, filesize($filepath[$i]));
fclose($fp);
$file .= "--".$boundary."\r\n";
$file .= "Content-Type: application/octet-stream\r\n";
$file .= "Content-Transfer-Encoding: base64\r\n";
$file .= "Content-Disposition: attachment; filename=\"".$filename[$i]."\"\r\n\r\n";
$file .= chunk_split(base64_encode($content))."\r\n";
iconv('WINDOWS-1251', 'UTF-8', $name);
iconv('WINDOWS-1251', 'UTF-8', $email);
iconv('WINDOWS-1251', 'UTF-8', $subject);
iconv('WINDOWS-1251', 'UTF-8', $message);
}
}
}

$multipart .= $file."--".$boundary."--\r\n";

if( mail($admin, $subject, $multipart, $headers) )
return true;
else
return
false;
}

function quoted_printable_encode_character ( $matches ) {
$character = $matches[0];
return sprintf ( '=%02x', ord ( $character ) );
}



if ( send_mail($admin, $body, $email, $filepath, $filename) )
$_SESSION['success'] = true;
else
$_SESSION['success'] = false;
header( 'Location: '.$_SERVER['PHP_SELF'] );
die();
}
?>


<html>
<
head>
<
title>Отправить письмо</title>
</
head>
<
body>

<?php
if ( isset( $_SESSION['sendMailForm'] ) ) {
echo $_SESSION['sendMailForm']['error'];
$name = htmlspecialchars ( $_SESSION['sendMailForm']['name'] );
$email = htmlspecialchars ( $_SESSION['sendMailForm']['email'] );
$subject = htmlspecialchars ( $_SESSION['sendMailForm']['subject'] );
$message = htmlspecialchars ( $_SESSION['sendMailForm']['message'] );
unset( $_SESSION['sendMailForm'] );
} else {
$name = '';
$email = '';
$subject = '';
$message = '';
}

if ( isset( $_SESSION['success'] ) ) {
$success1 = $_SESSION['success'] ? '<p>Письмо успешно отправлено</p>':'<p>Ошибка при отправке письма</p>';
iconv('WINDOWS-1251', 'UTF-8', $success1);
echo $success1;
unset( $_SESSION['success'] );
}
?>



$db = mysql_connect ("localhost","admin","777"); // Соединяемся с базой
mysql_select_db ("agency",$db);
mysql_set_charset( 'utf8' );

$id =isset($_GET["id"]) ? $_GET["id"] : 0;
$type_of_realty = isset($_GET["type_of_realty"]) ? $_GET["type_of_realty"] : 0;

$sqlview = "SELECT * FROM "."`".$type_of_realty."`";
$pr="";
$title="";

if (!empty($id))
{
$pr = " where "."id=".$id;

}
if(sizeof($pr)>0){
$sqlview.=$pr;
}

//echo $sqlview;
$query = mysql_query($sqlview,$db) ;
$myrow= mysql_fetch_array ($query) or die(mysql_error()) ;
echo "<br><br>";
switch($_GET["type_of_realty"])
{
case "commercial":
$result=$_SERVER['QUERY_STRING'];
echo " <a class='tableview' href='index.php?type_of_realty=$_GET[type_of_realty]'>Назад</a>";
echo "
<table width='100%' border='1' cellspacing='0' cellpadding='0' align='center'>
<tr>
<td>Вариант сделки</td>
<td>
$myrow[variant_sdelki]</td>
</tr>
<tr>
<td>Район</td>
<td>
$myrow[rayon]</td>
</tr>
<tr>
<td>Квартал</td>
<td>
$myrow[kvartal]</td>
</tr>
<tr>
<td>Улица</td>
<td>
$myrow[ulica]</td>
</tr>
<tr>
<td>Дом</td>
<td>
$myrow[dom]</td>
</tr>
<tr>
<td>Материал стен</td>
<td>
$myrow[material_sten]</td>
</tr>
<tr>
<td>Площадь общая</td>
<td>
$myrow[S]</td>
</tr>
<tr>
<td>Тип помещения</td>
<td>
$myrow[type_nedv]</td>
</tr>
<tr>
<td>Дополнительно</td>
<td>
$myrow[dopolnit]</td>
</tr>
<tr>
<td>Описание</td>
<td>
$myrow[opisanie]</td>
</tr>
<tr>
<td>Цена</td>
<td>
$myrow[price]</td>
</tr>
</table>


"
;

echo "<h4 class='tableview'>Заполните, пожалуйста форму для запроса:</h4>";

?>


<form  method="POST">
<table
class="tableview">
<tr><td>
Имя:</td><td><input type="text" name="name" maxlength="64" value="" /></td></tr>
<tr><td>
E-mail:</td><td><input type="text" name="email" maxlength="64" value="" /></td></tr>
<tr><td>
Тема:</td><td><input type="text" name="subject" maxlength="64" value="" /></td></tr>
<tr><td>
Сообщение:</td><td><textarea name="message" rows="5" cols="30"></textarea></td></tr>


<tr><td>
 </td><td><input type="submit" name="sendMail" value="Отправить" /></td></tr>
</table>
</form>


<?php


break;



Спустя 1 минута, 31 секунда (1.09.2011 - 10:41) Aleks-prog написал(а):
Игорь_Vasinsky

Я форму переделал в ПОСТ

Спустя 6 минут, 7 секунд (1.09.2011 - 10:48) Игорь_Vasinsky написал(а):
1.GET

if(isset($_GET['sendMail']))
{
$name = isset($_GET['name']) ? $_GET['name'] : null;
$email = isset($_GET['email']) ? $_GET['email'] : null;
$subject = isset($_GET['subject']) ? $_GET['subject'] : null;
$message = isset($_GET['message']) ? $_GET['message'] : null;

if(empty($name) OR empty($email) OR empty($subject) OR empty($message))
$result = "Не заполнено одно из полей формы!";
else
{
$send = mail($mail, $subject, $message);

if($send)
$result = "Писмо отправлено";
else
$result = "Ошибка отправки майла";
}

}

<form  method="GET" action="">
<table
class="tableview"><tr><td>Имя:</td>
<td><input
type="text" name="name" maxlength="64" value="" /></td></tr><tr><td>E-mail:</td>
<td><input
type="text" name="email" maxlength="64" value="" /></td></tr><tr><td>Тема:</td>
<td><input
type="text" name="subject" maxlength="64" value="" /></td></tr><tr><td>Сообщение:</td>
<td><textarea
name="message" rows="5" cols="30"></textarea></td>
</tr>
<tr>
<td> </td>
<td><input
type="submit" name="sendMail" value="Отправить" /></td></tr></table>
</form>


<?php
if($result)
echo $result;
?>


Но теперь при обновлении страницы - снова сработает код.

Спустя 3 минуты, 1 секунда (1.09.2011 - 10:51) m4a1fox написал(а):
Aleks-prog
Ух и огород! Ладно! Нужно время! Ща все сделаем!
Во первых, Aleks-prog, курсы попова проходили?

Спустя 26 секунд (1.09.2011 - 10:51) Игорь_Vasinsky написал(а):
Цитата
Я форму переделал в ПОСТ

)))))))))))))))))))

тогда измени все GET на POST

и после успешной отправки добавь строчку:

header("location:".$_SERVER['PHP_SELF']."?result=ok");


а если ошибка то

header("location:".$_SERVER['PHP_SELF']."?result=error");


и тогда вывод результата

if(isset($_GET['result']))
echo $result;

Спустя 49 секунд (1.09.2011 - 10:52) m4a1fox написал(а):
Aleks-prog
Третий раз! Скажи, как эта форма понимает что ты делаешь?
<form  method="POST">
<table
class="tableview">
<tr><td>
Имя:</td><td><input type="text" name="name" maxlength="64" value="" /></td></tr>
<tr><td>
E-mail:</td><td><input type="text" name="email" maxlength="64" value="" /></td></tr>
<tr><td>
Тема:</td><td><input type="text" name="subject" maxlength="64" value="" /></td></tr>
<tr><td>
Сообщение:</td><td><textarea name="message" rows="5" cols="30"></textarea></td></tr>


<tr><td> </td><td><input
type="submit" name="sendMail" value="Отправить" /></td></tr>
</table>
</form>

Спустя 37 секунд (1.09.2011 - 10:52) Игорь_Vasinsky написал(а):
эта ни как.

Спустя 29 секунд (1.09.2011 - 10:53) m4a1fox написал(а):
Игорь_Vasinsky
Цитата
тогда измени все GET на POST

Я думаю так просто у него не получится. Вы код видели?

Спустя 34 секунды (1.09.2011 - 10:54) Aleks-prog написал(а):
if ( empty( $name ) ) $error = $error.'<li>Не заполнено поле "Имя"</li>';
if ( empty( $email ) ) $error = $error.'<li>Не заполнено поле "E-mail"</li>';
if ( empty( $subject ) ) $error = $error.'<li>Не заполнено поле "Тема"</li>';
if ( empty( $message ) ) $error = $error.'<li>Не заполнено поле "Сообщение"</li>';


У меня же есть вот это

if ( isset( $_POST['sendMail'] ) ) {
$name = substr( $_POST['name'], 0, 64 );
$email = substr( $_POST['email'], 0, 64 );
$subject = substr( $_POST['subject'], 0, 64 );
$message = substr( $_POST['message'], 0, 250 );

Спустя 34 секунды (1.09.2011 - 10:54) m4a1fox написал(а):
Игорь_Vasinsky
Цитата
эта ни как.

Погодите, пусть автор темы ответит.

P.S. Кстати, давно хотел спросить, пишут ТС. Это что такое? Как расшифровывается?

Спустя 1 минута, 20 секунд (1.09.2011 - 10:55) m4a1fox написал(а):
Aleks-prog
Цитата
У меня же есть вот это

Вот чего ты прыгаешь по коду?
Сначала - форма - после обработчик! У меня терпение лопнет smile.gif
Еще раз! Ответь на два вопроса
1.
Цитата
Третий раз! Скажи, как эта форма понимает что ты делаешь?

<form  method="POST">
<table class="tableview">
<tr><td>Имя:</td><td><input type="text" name="name" maxlength="64" value="" /></td></tr>
<tr><td>E-mail:</td><td><input type="text" name="email" maxlength="64" value="" /></td></tr>
<tr><td>Тема:</td><td><input type="text" name="subject" maxlength="64" value="" /></td></tr>
<tr><td>Сообщение:</td><td><textarea name="message" rows="5" cols="30"></textarea></td></tr>


<tr><td> </td><td><input type="submit" name="sendMail" value="Отправить" /></td></tr>
</table>
</form>


2. Aleks-prog, курсы попова проходили?

Спустя 1 минута, 53 секунды (1.09.2011 - 10:57) Игорь_Vasinsky написал(а):
ТС - топик стартер wink.gif
А код я ему свой привёл.
http://phpforum.ru/index.php?act=Print&cli...imin=64&limit=1

может в mail() конешь он свой from: пропишет, а имя и мыло из формы в тело письма...

Спустя 1 минута, 16 секунд (1.09.2011 - 10:59) Игорь_Vasinsky написал(а):
Aleks-prog
ты хоть посмотри что я привёл. посмотри на логику.

Спустя 7 минут, 53 секунды (1.09.2011 - 11:06) Aleks-prog написал(а):



Игорь_Vasinsky

отличная идея, я передал параметры после формы
 if ( send_mail($admin, $body, $email, $filepath, $filename) ){
$_SESSION['success'] = true;
header("location:".$_SERVER['PHP_SELF']."?result=ok&id=".$myrow['id']."&type_of_realty=commercial");
}else{
$_SESSION['success'] = false;
header("location:".$_SERVER['PHP_SELF']."?result=error");
die();
}


Но ошибка
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\agency\view.php:238) in C:\xampp\htdocs\agency\view.php on line 264

Спустя 2 минуты, 20 секунд (1.09.2011 - 11:09) Игорь_Vasinsky написал(а):
сессия и header - вот те и ошибка, там наверху session_start();

делай редирект на JS или почитай на ирбисе про буферизацию вывода

Спустя 6 минут, 41 секунда (1.09.2011 - 11:15) m4a1fox написал(а):
Игорь_Vasinsky
Цитата
буферизацию вывода

Знамениты ob_start();
ob_get_content();
и ob_clean();
smile.gif

Спустя 2 минуты, 54 секунды (1.09.2011 - 11:18) Aleks-prog написал(а):
flush -- Освобождает (выводит) буфер вывода
ob_clean -- Очищает буфер вывода
ob_end_clean -- Очищает буфер вывода и выключает буферизацию вывода
ob_end_flush -- Освобождает (выводит) буфер вывода и выключает буферизацию вывода
ob_flush -- Освобождает (выводит) буфер вывода
ob_get_clean -- Получает текущее содержимое буфера, и очищает текущий буфер вывода
ob_get_contents -- Возвращает содержимое буфера вывода
ob_get_flush -- Освобождает буфер выводаr, возвращает его как строку и выключает буферизацию вывода
ob_start -- Включает буферизацию вывода

Какая из этих функций предпочтительней в данной ситуации?

Спустя 5 минут, 53 секунды (1.09.2011 - 11:24) m4a1fox написал(а):
Aleks-prog
Я уже выше ответил! Но думаю сходу преодолеть планку вряд ли получится. Игорь_Vasinsky тебе это написал на будущее.... просто что бы знал! А вообще загляни на irbis-team.ru

Спустя 18 минут, 4 секунды (1.09.2011 - 11:42) Aleks-prog написал(а):
Выбрал ob_clean()
чета не пойму где его вставить то надо laugh.gif

Спустя 3 минуты, 9 секунд (1.09.2011 - 11:45) m4a1fox написал(а):
Aleks-prog
Выше читай! И на сайт сходи что я выше указал!

Спустя 9 минут, 29 секунд (1.09.2011 - 11:55) Игорь_Vasinsky написал(а):
Цитата
Выше читай! И на сайт сходи что я выше указал!

именно.
Да не заморачивайся пока. Используй JS

Спустя 6 минут, 33 секунды (1.09.2011 - 12:01) m4a1fox написал(а):
Игорь_Vasinsky
Цитата
Используй JS

Такое ощущение, что JS это так легко! smile.gif smile.gif

Спустя 4 минуты, 33 секунды (1.09.2011 - 12:06) Игорь_Vasinsky написал(а):
echo '<language="JavaScript">location.href("куда перекинуть")</script>';

Спустя 1 минута, 44 секунды (1.09.2011 - 12:08) m4a1fox написал(а):
Игорь_Vasinsky
А! Ну тогда - легко! smile.gif

Спустя 6 минут, 34 секунды (1.09.2011 - 12:14) Aleks-prog написал(а):
Перед первым выводом сделал вот так:
ob_start(); //начал буферизацию

Потом перед header: // получил содержимое буфера и закончил буферизацию
$buffer = ob_get_contents();
ob_end_clean();
if( $_SESSION['success'] == true){
header("location:".$_SERVER['PHP_SELF']."?result=ok&id=".$myrow['id']."&type_of_realty=commercial");
}else{
header("location:".$_SERVER['PHP_SELF']."?result=error&id=".$myrow['id']."&type_of_realty=commercial");}


НОООООО:
ОШИБКА
На этой странице обнаружена циклическая переадресация
Веб-страница http://localhost/agency/view.php?result=ok...alty=commercial привела к избыточному количеству переадресаций. Чтобы устранить эту проблему, можно удалить файлы cookie для этого сайта или разрешить файлы cookie независимых поставщиков. Если проблема сохранится, возможно, она связана с конфигурацией сервера, а не с вашим компьютером.

Спустя 15 минут, 21 секунда (1.09.2011 - 12:30) Игорь_Vasinsky написал(а):
//Начали буферизацию
ob_start();

//Весь твой код и headers
//.......
//....

//Поместили весь вывод в буфер

$content = ob_get_contents();

//Закончили буферизацию и очистили буфер
ob_end_clean();

//Вывод
echo $content;

а чтоб юлин небыло постоянного редиректа - весь код рбработчика нужно запускать если нажата submit формы.

Всё.. терпение кончается.

Спустя 6 минут, 39 секунд (1.09.2011 - 12:36) m4a1fox написал(а):
Игорь_Vasinsky
Цитата
Всё.. терпение кончается.

У меня уже!

Спустя 3 минуты (1.09.2011 - 12:39) Aleks-prog написал(а):
УРАААААААААА :D
Получилось и отправляется и и снова загружается то что надо, ПОМОГЛо вот это:
$a="";
$a .= "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];

<?php

if( $_SESSION['success'] == true){

?>
<script type="text/javascript">
location.href($a);
</
script>
<?php

}else{
?>
<script type="text/javascript">
location.href($a);
</
script>
<?php

}

Спустя 12 минут, 56 секунд (1.09.2011 - 12:52) m4a1fox написал(а):
Aleks-prog
Молодец, но лучше на ирбис загляни. Там показано, как красиво кодить.

Спустя 33 минуты, 7 секунд (1.09.2011 - 13:25) Aleks-prog написал(а):
Да я уже там побывал
Буду штудировать

Спустя 17 минут, 51 секунда (1.09.2011 - 13:43) Aleks-prog написал(а):
Не ошибка а замечиние
Notice: Undefined index: file in C:\xampp\htdocs\agency\view.php on line 31

Я понимаю что можно убрать с помощью error_reporting=0

Но все же вроде обновляю с теми же параметрами, пересылка письма идет нормально, почему php считает что я передаю file без значения?

line 31 отмечена как 31 слева

<?php
session_start();
$admin = 'aleksaaa555@mail.ru';

if ( isset( $_POST['sendMail'] ) ) {

$name = substr( $_POST['name'], 0, 64 );
$email = substr( $_POST['email'], 0, 64 );
$subject = substr( $_POST['subject'], 0, 64 );
$message = substr( $_POST['message'], 0, 250 );

$error = '';
if ( empty( $name ) ) $error = $error.'<li>Не заполнено поле "Имя"</li>';
if ( empty( $email ) ) $error = $error.'<li>Не заполнено поле "E-mail"</li>';
if ( empty( $subject ) ) $error = $error.'<li>Не заполнено поле "Тема"</li>';
if ( empty( $message ) ) $error = $error.'<li>Не заполнено поле "Сообщение"</li>';
if ( !empty( $email ) and !preg_match( "#^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,6}$#i", $email ) )
$error = $error.'<li>поле "E-mail" должно соответствовать формату somebody@somewhere.ru</li>';
if ( !empty( $error ) ) {
$_SESSION['sendMailForm']['error'] = '<p>При заполнении формы были допущены ошибки:</p><ul>'.$error.'</ul>';
$_SESSION['sendMailForm']['name'] = $name;
$_SESSION['sendMailForm']['email'] = $email;
$_SESSION['sendMailForm']['subject'] = $subject;
$_SESSION['sendMailForm']['message'] = $message;
header( 'Location: '.$_SERVER['PHP_SELF'] );
die();
}
$file="";
$filepath = array();
$filename = array();
31 for( $i = 0; $i < count($_FILES['file']); $i++) {
if ( !empty( $_FILES['file']['tmp_name'][$i] ) and $_FILES['file']['error'][$i] == 0 ) {
$filepath[] = $_FILES['file']['tmp_name'][$i];
$filename[] = $_FILES['file']['name'][$i];
}
}

Спустя 1 день, 9 часов, 57 минут, 14 секунд (2.09.2011 - 23:40) Игорь_Vasinsky написал(а):
здаюсь. так нельзя. людей пожалей... dry.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.