JS блокирует отправку файлов вложением.

аленка86

Новичок
В продолжении своей темы, хочу спросить специалистов. Как все советовали мне специалист взялся доделать форму, вот она xn----gtbd6abawidg.xn--p1ai/form1/index1.php. После долгих мучений, он пришел к выводу что JS блокирую отправку вложений, т.к. при их отключение файлы загружаются на сайт в директорию. Хочу спросить это правда?
Просит 50 у.е за то что бы переписать форму. Кстати файлы с формы при отключение JS на почту не приходили, и из директории не удалились.
 

аленка86

Новичок
Вот на этом он пока остановился

PHP:
<?php

/* config start */

$emailAddress = '[email protected]';

/* config end */

require "phpmailer/class.phpmailer.php";

session_name("fancyform");
session_start();


foreach($_POST as $k=>$v)
{
	if(ini_get('magic_quotes_gpc'))
	$_POST[$k]=stripslashes($_POST[$k]);
	
	$_POST[$k]=htmlspecialchars(strip_tags($_POST[$k]));
}
/* ???? ?????? ???? */
if(count($err))
{
/* ???? ????? ?????????? ? ??????? AJAX */
	if($_POST['ajax'])
	{
		echo '-1';
	}
/* ? ????????? ?????? ????????? ?????? SESSION ? ???????? ??????? ?? ????? */
	else if($_SERVER['HTTP_REFERER'])
	{
		$_SESSION['errStr'] = implode('<br />',$err);
		$_SESSION['post']=$_POST;
		
		
		header('Location: '.$_SERVER['HTTP_REFERER']);
	}

	exit;
}
/* ???? ?????? */
$msg=
'<strong>Имя:</strong>	'.$_POST['name'].'<br />
<strong>Телефон:</strong>	'.$_POST['tel'].'<br />
<strong>e-mail:</strong>	'.$_POST['email'].'<br />
<strong>Тип работы:</strong>	'.$_POST['subject'].'<br />
<strong>Тема работы:</strong>	'.$_POST['poss'].'<br />
<strong>Предмет:</strong>	'.$_POST['poss1'].'<br />
<strong>ВУЗ:</strong>	'.$_POST['poss3'].'<br />
<strong>Срок сдачи:</strong>	'.$_POST['poss2'].'<br />
<strong>Комментарий:</strong><br /> '.nl2br($_POST['message']).'<br />
<strong>IP:</strong>	'.$_SERVER['REMOTE_ADDR'].'<br />
';
$target_path = "uploads/";

$target_path = $target_path . basename( $_FILES['attachfile']['name']); 
move_uploaded_file($_FILES['attachfile']['tmp_name'], $target_path);
if(move_uploaded_file($_FILES['attachfile']['tmp_name'], $target_path)) {
   

$mail = new PHPMailer();
$mail->IsMail();

$mail->AddReplyTo($_POST['email'], $_POST['name']);
$mail->AddAddress($emailAddress);
$mail->SetFrom($_POST['email'], $_POST['name']);
$mail->Subject = $_POST['poss'];

/*if(pathinfo($_FILES['attachfile']['name'], PATHINFO_EXTENSION)!='php'){
$mail->AddAttachment($target_path, basename( $_FILES['attachfile']['name']));
}*/

$mail->MsgHTML($msg);

$mail->Send();
}
unset($_SESSION['post']);
/* ????? ?????? ???? ?????????? */

if($_POST['ajax'])
{
	echo '1';
}
else
{
	$_SESSION['sent']=1;
	
	if($_SERVER['HTTP_REFERER'])
		header('Location: '.$_SERVER['HTTP_REFERER']);
	
	exit;
}
/* ?????????????? ??????? */
function checkLen($str,$len=2)
{
	return isset($_POST[$str]) && mb_strlen(strip_tags($_POST[$str]),"utf-8") > $len;
}

function checkEmail($str)
{
	return preg_match("/^[\.A-z0-9_\-\+]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/", $str);
}
?>
 

Redjik

Джедай-мастер
Долгих мучений? - Херовый специалист то...
Ограничения есть, но я знаю как минимум 3 способа их обойти...

А работу надо доделывать раз взялся... при условии, что сразу обговаривалось, что форму будет отправляться асинхронно (c использованием JS - для тех кто в танке)
 

Redjik

Джедай-мастер
аленка86
js надо править, не те заголовки отправляет
или потоком отправлять файл...
 

аленка86

Новичок
Сегодня после обеда взялся. Сейчас отошел на часик. Я ему показала форму и сказала что мне нужно, он взялся. Подскажите, пожалуйста, что что ему нужно сделать. На http://www.free-lance.ru у него вроде положительные отзывы.
 

Redjik

Джедай-мастер
аленка86
1) ссылка на профиль не полная
2) еще раз, что конкретно обговаривали по форме? будет ли страница с ней перезагружатся/анимация
3) за какую цену он взялся делать форму?
 

аленка86

Новичок
Я ему скинула ссылку на форму и полный скрипт, сказала что мне нужно сделать так, что бы из нее отправлялись файлы всех форматов на мой адрес. Цена 10$.
 

аленка86

Новичок
Он все посмотрел, и сказал, что через 15 мин. все сделает, но немного затянулось дело.
 

Redjik

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

аленка86

Новичок
Мне этом форуме посоветовали, что максимум 10 у.е. Что ему можно попробовать сделать?
 

аленка86

Новичок
Вообщем можете посмеяться надо мной в полный голос! В итоге у мастера-фломастера это не получилось сделать работу. Сегодня до обеда ковырялся и выдал заключение, что не сможет сделать ничего и только за 50 у.е. с удовольствием мне поможет и перепишет ее без изменения внешнего вида. Он сказал, что файлы не отправляются из-за JavaScript и если его отключить то все работает (хотя тоже файлы не отправлялись). Мне нужно было наладить отправку файлов со всеми подключенными JS. Предложил Выполнить другое задание. Я согласилась и ему нужно было сделать приложение ВК для заказа курсовиков, вместо этого он старую форму зарегистрировал на сайте BVontakt.ru и написал, что на этом его работа закончилась и эта регистрация приложения стоила мне 10 у.е. Общаться со мной он больше не хочет, на мои письма не отвечает.
Вообщем файлы так и не отправляются((((((((((((. Помогите мне пожалуйста (только не дорого))))))!!!!!
 

baev

‹°°¬•
Команда форума
аленка86, Вам в той теме сразу нормальную цену предложили.
Вы не поверили, а зря: «скупой платит дважды».
 

аленка86

Новичок
Вообщем настройку отправки файлов вложением без одного JS я сделала. только почему-то при пересылке первое слово в названии приложения заменяется на цифру 2. ????
Во он не дает отправлять вложение
PHP:
$(document).ready(function(){
	$('#contact-form').jqTransform();

	$("button").click(function(){

		$(".formError").hide();

	});

	var use_ajax=true;
	$.validationEngine.settings={};

	$("#contact-form").validationEngine({
		inlineValidation: false,
		promptPosition: "centerRight",
		success :  function(){use_ajax=true},
		failure : function(){use_ajax=false;}
	 })

	$("#contact-form").submit(function(e){

			if(!$('#subject').val().length)
			{
				$.validationEngine.buildPrompt(".jqTransformSelectWrapper","Это обязательное поле","error")
				return false;
			}
			
			if(use_ajax)
			{
				$('#loading').css('visibility','visible');
				$.post('submit.php',$(this).serialize()+'&ajax=1',
				
					function(data){
						if(parseInt(data)==-1)
							$.validationEngine.buildPrompt("#captcha","упс, воспользуйтесь калькулятором","error");
							
						else
						{
							$("#contact-form").hide('slow').after('<h1>Ваша заявка принята. Ждите ответа на E-mail!</h1>');
						}
						
						$('#loading').css('visibility','hidden');
					}
				
				);
			}
			e.preventDefault();
	})

});
Покажите что в нем не так?
 

Crys

Двинутый новичок
1) подключить <script src="http://malsup.github.com/jquery.form.js"></script>
2)
PHP:
$(document).ready(function(){
	$('#contact-form').jqTransform();
	$("button").click(function(){
		$(".formError").hide();
	});
	var use_ajax=true;
	$.validationEngine.settings={};
	$("#contact-form").validationEngine({
		inlineValidation: false,
		promptPosition: "centerRight",
		success :  function(){use_ajax=true;},
		failure : function(){use_ajax=false;}
	 })
	$("#contact-form").ajaxForm();
	$("#contact-form").submit(function(e){
			if(!$('#subject').val().length)
			{
				$.validationEngine.buildPrompt(".jqTransformSelectWrapper","Это обязательное поле","error")
				return false;
			}
			if(use_ajax)
			{
				$('#loading').css('visibility','visible');
				$("#contact-form").ajaxSubmit(function(data){
				if(parseInt(data)==-1)
					$.validationEngine.buildPrompt("#captcha","упс, воспользуйтесь калькулятором","error");
				else
				{
					$("#contact-form").hide('slow').after('<h1>Ваша заявка принята. Ждите ответа на E-mail!</h1>');
				}
				
				$('#loading').css('visibility','hidden');
				});
			}
			e.preventDefault();
	})
});
3) ...
 

аленка86

Новичок
Спасибо за совет! Но если бы Вы его написали 3 часа назад. Мне его подключили только за деньги. Кстати из 5 человек кто брался за работу, только 1 смог сделать. Все остальные отказывались после изучения скрипта.
 

Redjik

Джедай-мастер
теперь мы знаем примерное процентное соотношение говнокодеров на фрилансе - спасибо =)
 
Сверху