Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2015, 13:03   #1
MariaD
Пользователь
 
Аватар для MariaD
 
Регистрация: 10.01.2013
Сообщений: 56
Вопрос [PHP] выбрасывает на верх страницы, работа с капчей

Выбрасывает вверх страницы, когда жмешь по ссылке показать другую капчу
http://jemchujina-kolomna.ru/(не реклама)questions/#

В нижнюю форму вводятся данные, когда жмешь по ссылке показать другую выбрасывает вверх страницы, при этом данные в полях сохраняются. Как сделать чтобы не выбрасывало?
И еще не работает отправка на email. И как организовать вывод сообщения для пользователя что введена неверная капча?

Код формы:
Код:
<form name="" action="/{url}" method="post" id="back-form">
	<input type="hidden" name="subject" value="Вопрос" />
		
	<div class="form">
  <div class="field comment">Поля, помеченные звёздочкой <span class="required-field">*</span> обязательны для заполнения</div>

		<div class="field"><label>Ваше имя<span class="required-field">*</span>:</label><input type="text" class="form-control" name="fio" autocomplete="off" minlength="2" required /></div>

		<div class="field"><label>Ваш email<span class="required-field">*</span>:</label><input type="email" class="form-control" name="user_email" autocomplete="off" minlength="6" required /></div>

		<div class="field"><label>Номер телефона:</label><input type="tel" class="form-control" name="user_tel" autocomplete="off" minlength="6" /></div>

		<div class="field"><label>Сообщение<span class="required-field">*</span>:</label><textarea class="form-control" name="user_msg" autocomplete="off" minlength="3" required></textarea></div>
		<div class="field aligned">
		<td class="contact-label valign-top-text">Введите числа с картинки</td>
		<!--	<input type="submit" class="input-submit btn-bead" value="Отправить">  -->
				<div id="captcha_box">
					<div id="captcha_img"><img src="/secimg.php" id="captcha" width="216" height="35"  /></div>
				    <div id="captcha_refresh"><a id="captcha_refresh_link" href="#" onclick="document.getElementById('captcha').src='/secimg.php?' + Math.random()">Показать другую</a>

				    </div> 
					<div class="clearfix"></div>
					<input type="text" name="captcha">
				</div>

				<input class="input-submit btn-bead" type="reset" value="Очистить форму">
				<input class="input-submit btn-bead" type="submit" value="ОТПРАВИТЬ">
				</div>
				</div>
</form>

Код функций:
Код:
function sendMail($params) {
	$err = '';
	$subject = $_POST['subject'];
	$fio = $_POST['fio'];
	$email = $_POST['user_email'];
	$tel = $_POST['user_tel'];
	$msg = $_POST['user_msg'];
    $captcha=$_POST['captcha'];

	var_dump($_POST);
    var_dump($email);
	var_dump($tel);
	var_dump($msg);
    var_dump($captcha);
		//if (!isset($name)) {		
		$tpl =& $GLOBALS['theme']->get_template($params['tpl']);
		$tpl->assign('subject', $subject, 'fio', $fio, 'user_email', $email, 'user_tel', $tel, 'user_msg', $msg); //назначение соответствий
		$text = $tpl->parse(); //в текст идет обработтаный шаблон
		return $text;
	// }
	return;

	//$name = $_POST['name'];
	//$sname = $_POST['sname'];
	//$email = $_POST['tel'];
	//$theme = $_POST['theme'];
//	$mess = $_POST['mess'];
	
	
	if (!isset($name)) {	//если нейм не определена -null	
		$tpl =& $GLOBALS['theme']->get_template($params['tpl']);
		//$tpl->assign('name', $name, 'sname', $sname, 'email', $email, 'theme', $theme, 'mess', $mess);
		$tpl->assign('subject', $subject, 'fio', $fio, 'user_email', $email, 'user_tel', $tel, 'user_msg', $msg, 'captcha', $captcha);
		$text = $tpl->parse();
		return $text;
	}
	
    require_once("libs/securimage/securimage.php");  //проверка капчи, однократное включение
    $image = new securimage();
    $capcha_correct = $image->check($_POST['captcha']);
    if(!$capcha_correct){
		$err .= 'Неверно введен проверочный код.<br />';
    }

	if ($fio == '') { $err .= 'Не введены "ФИО"<br />'; }
	if ($email == '') { $err .= 'Не введено "Email"<br />';  }
	if ($msg == '') { $err .= 'Не введено "Текст сообщения"<br />';  }
	
	if ($err == '') {
		$tpl = $GLOBALS['theme']->get_template('email-admin.tpl');
		$tpl->assign('fio', $fio, 'user_email', $email, 'user_msg', $msg);
		$ordermail_user = PostProcess($tpl->parse());	
		mail_to(cfg::v('adminmail'), ' Сообщение с сайта #TAGTMRW', $ordermail_user, cfg::v('adminmail'));
		
		$tpl = $GLOBALS['theme']->get_template('email-ok.tpl');
		$text = $tpl->parse();
		return $text;
	} else {
		$tpl =& $GLOBALS['theme']->get_template($params['tpl']);
		$tpl->assign('fio', $fio, 'user_email', $email, 'user_msg', $msg);
		$text = $tpl->parse();
		return $text;
	}
}
MariaD вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
htaccess трабл выбрасывает не туда куда надо Дерек PHP 1 12.03.2014 19:11
почему выбрасывает NULLEXEPTION? klouh@ Помощь студентам 0 06.08.2012 14:19
Как реализовать переход на верх страницы по образцу? akokin JavaScript, Ajax 4 10.12.2009 16:07
выбрасывает из игры genya75 Свободное общение 10 11.09.2009 17:08
Выбрасывает на авторизацию Golovastik Свободное общение 15 25.08.2009 18:20