Страница 1 из 1

Проблема с передачей переменных

Добавлено: Чт фев 09, 2012 17:18
Деревня
Форма:

<form action="send.php" method=post>
<input type=hidden name=action value=post>
<table>
<tr><td>Тема</td><td>
<input type=text name="subj" cols=40>
</td></tr>
<tr><td><b>Автор</b></td><td>
<input type=text name="auth" cols=40>
</td></tr>
<tr><td>Організація</td><td>
<input type=text name="org" cols=40>
</td></tr>
<tr><td>Рік випуску</td><td>
<input type=text name="year" cols=4>
</td></tr>
<tr><td>Контактна інформація</td><td>
<input type=text name="cont" cols=40>
</td></tr>
<tr>
<td colspan=2>
<b>Повідомлення:</b><br><textarea name="mess" cols=40 rows=5></textarea></td></tr>
<tr><td colspan=2><input type=submit value="Надіслати"><input type=reset value="Очистити"></td></tr>
</table></form>

Скрипт (после отладочного упрощения):

<?php
mail("tsuman@ukr.net", $subj, $mess);
echo $mess;
?>

Шлет все это безобразие пустые письма, судя по эху скрипту не(правильно) передаюся переменные из формы. Замучался методом проб и обломов, помогите, пожалуйста...

Добавлено: Чт фев 09, 2012 21:19
bj

Код: Выделить всё

$mess = $_POST['mess'];

Добавлено: Чт фев 09, 2012 22:04
vektor
Раньше такая подробная ветка о почтовых формах была, недавно искал ее, но так и не нашел. :?:

Re: Проблема с передачей переменных

Добавлено: Ср авг 22, 2012 09:32
Siriuss
Добрый день!
Я организовал поиск по сайту с передачей поискового слова на ел.почту методом POST.
На локальном сервере все работает, а на хостинге нет.
При передачи переменной получаю пустую строку и пустое письмо!

Почитав инфу я подумал что этот метод отключен и прописав такие строки в файлах user.ini (корень сайта) и php (~/cgi-bin):

register_globals = On
register_long_arrays = On

Результат нулевой, немогу понять в чем дело?

С ув. Владимир

Re: Проблема с передачей переменных

Добавлено: Ср авг 22, 2012 11:34
dobs
Кусок скрипта покажите...

Re: Проблема с передачей переменных

Добавлено: Ср авг 22, 2012 11:44
Siriuss
Код формы поиска:

Код: Выделить всё

		<form class="form_find" action="View_find.php" method="post" name="form_find">
		<input name="find" type="text" size="22" maxlength="45"><br>
		<input class="form_bottom" name="submit_find" type="submit" value="Найти">
		</form>
Код файла "View_find.php":

Код: Выделить всё

<?php 
	include ("block/bd.php"); /* Подключаю базу */
	if (isset($_POST['submit_find'])) { $submit_find = $_POST['submit_find']; }
	if (isset($_POST['find'])) { $find = $_POST['find']; }
	if (isset ($submit_find))
	{
		if (empty ($find) or strlen($find) < 4) 
		{
		exit ("<p>Поисковый запрос не введен или он менее 4-х символов.</p>");
		}
		$find = trim ($find); /* Убираем лишние пробелы */
		$find = stripslashes ($find); /* Безопасность от слеша в поиске */
		$find = htmlspecialchars ($find); /* Безопасность от html кода в поиске */
	}
	else
	{
		exit("<p>Вы хотите осуществить поиск БЕЗ необходимых параметров</p>");
	}
?>
Упускаю HTML, далее сам код поиска:

Код: Выделить всё

/* Письмо по запросу информации на сайте */
/* Отправляю письмо на адресс */
	$IPadress=$_SERVER['REMOTE_ADDR'];
	$date = date("Y-m-d");
	$address = "elisavetgrad-city@i.ua";
	$subject = "На сайте ИСКАЛИ";
	$message = "На САЙТЕ искали слово: ".$find."\n". "IP-adress: ".$IPadress."\n";
	mail($address,$subject,$message,"Content-type:text/plain; Charset=windows-1251\r\n");

echo ("Поисковое слово - $find");
/* 1 - Поиск по таблице Infra_structura */
		$result = mysql_query ("SELECT  id, title FROM Infra_structura WHERE MATCH (text) AGAINST ('$find')",$db);
		if (mysql_num_rows ($result) > 0)
		{
			$myrow = mysql_fetch_array ($result);
			/* Цикл вывода */
			do
			{
				printf ("<p class='view_name_cat'><a href='View_post.php?id=%s'>%s</a></p>", $myrow["id"], $myrow["title"]); 
			}
			while ($myrow = mysql_fetch_array ($result));
			
		}
		else 
		{
			/* Если результат =0 */
			$null_rezult = 1;
		}
и так 7 раз по разным таблицам.

Re: Проблема с передачей переменных

Добавлено: Ср авг 22, 2012 11:55
dobs
Вместо $find пишите $_POST['find']

П.С. Попов - зло

Re: Проблема с передачей переменных

Добавлено: Ср авг 22, 2012 19:00
Siriuss
Заменял переменную $find на выражение $_POST['find'] ничего не изменилось! :!:
Поработав с кодом и методом передачи, я обнаружил, что передаются только цифры либо латиница! :?:
А кириллица непередается через форму, хотя в адресной строке ее видно! В чем загвоздка? :idea:

Re: Проблема с передачей переменных

Добавлено: Ср авг 22, 2012 21:11
baytuch
Упустили арибут: enctype='application/x-www-form-urlencoded'

А можно на сайт посмотреть?..

Re: Проблема с передачей переменных

Добавлено: Чт авг 23, 2012 10:37
Siriuss
baytuch писал(а):Упустили арибут: enctype='application/x-www-form-urlencoded'
Где эту строку вставить?
baytuch писал(а): А можно на сайт посмотреть?..
Вот ссылка http://www.elisavetgrad.ho.ua

Правда поиск отключен, вышеуказанной по причине :(

Re: Проблема с передачей переменных

Добавлено: Чт авг 23, 2012 11:36
dobs
В htmlspecialchars укажите кодировку cp1251 т.к. по умолчанию она на utf-8 смотрит и обрезает кириллицу.