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

Скрипты, разработка, настройка, администрирование

Модераторы: dobs, ArniXXX, hostess, bj

Ответить
Сообщение
Автор
Деревня
Сообщения: 1
Зарегистрирован: Чт фев 09, 2012 17:14

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

#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;
?>

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

bj
HO Moderators
Сообщения: 1445
Зарегистрирован: Вт фев 13, 2007 13:18
Контактная информация:

#2 Сообщение bj » Чт фев 09, 2012 21:19

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

$mess = $_POST['mess'];
В жизни не все так просто, а гораздо проще

vektor
Сообщения: 462
Зарегистрирован: Пт авг 07, 2009 14:31
Откуда: Украина
Контактная информация:

#3 Сообщение vektor » Чт фев 09, 2012 22:04

Раньше такая подробная ветка о почтовых формах была, недавно искал ее, но так и не нашел. :?:

Siriuss
Сообщения: 13
Зарегистрирован: Чт янв 12, 2012 11:44

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

#4 Сообщение Siriuss » Ср авг 22, 2012 09:32

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

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

register_globals = On
register_long_arrays = On

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

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

dobs
HO Moderators
Сообщения: 2504
Зарегистрирован: Вс апр 09, 2006 14:42
Откуда: /home/Ukraine/Kyiv
Контактная информация:

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

#5 Сообщение dobs » Ср авг 22, 2012 11:34

Кусок скрипта покажите...

Siriuss
Сообщения: 13
Зарегистрирован: Чт янв 12, 2012 11:44

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

#6 Сообщение Siriuss » Ср авг 22, 2012 11:44

Код формы поиска:

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

		<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 раз по разным таблицам.

dobs
HO Moderators
Сообщения: 2504
Зарегистрирован: Вс апр 09, 2006 14:42
Откуда: /home/Ukraine/Kyiv
Контактная информация:

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

#7 Сообщение dobs » Ср авг 22, 2012 11:55

Вместо $find пишите $_POST['find']

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

Siriuss
Сообщения: 13
Зарегистрирован: Чт янв 12, 2012 11:44

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

#8 Сообщение Siriuss » Ср авг 22, 2012 19:00

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

baytuch
Сообщения: 925
Зарегистрирован: Сб мар 14, 2009 00:23
Откуда: пгт. Войтовцы
Контактная информация:

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

#9 Сообщение baytuch » Ср авг 22, 2012 21:11

Упустили арибут: enctype='application/x-www-form-urlencoded'

А можно на сайт посмотреть?..
Fusion Player — модуль для CMS PHP-Fusion (demo video: посмотреть)

Не использую пиратского ПО
IP-PBX Asterisk українською. Зроби краще!

«ХО» – мое все.
А ты перевел свой домен на DNSSEC?

Slackware userИзображение

Siriuss
Сообщения: 13
Зарегистрирован: Чт янв 12, 2012 11:44

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

#10 Сообщение Siriuss » Чт авг 23, 2012 10:37

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

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

dobs
HO Moderators
Сообщения: 2504
Зарегистрирован: Вс апр 09, 2006 14:42
Откуда: /home/Ukraine/Kyiv
Контактная информация:

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

#11 Сообщение dobs » Чт авг 23, 2012 11:36

В htmlspecialchars укажите кодировку cp1251 т.к. по умолчанию она на utf-8 смотрит и обрезает кириллицу.

Ответить