2013-05-01 2 views
0

У меня есть конкретный запрос от клиента о том, что подписка на рассылку новостей будет отправлена ​​в CSV-файл. Я noob, когда речь идет о каких-либо бэкэнд, не говоря уже о разработке интерфейса.Как отправить данные формы в CSV

У меня есть шаблон, над которым я работаю, и не могу понять, как он передает значения.

форма код довольно прост

<form action="" method="post" class="signup" id="newsletter-form"> 
    <p> 
     <input type="text" name="signup_name" id="signup_name" class="required" value="Your Name" /> 
    </p> 
    <p> 
     <input type="text" name="signup_email" id="signup_email" class="required" value="Your E-mail" /> 
    </p> 
    <input type="submit" value="SEND" class="signupSubmit" id="submitform" /> 
    <div id="newsletter-msg-wrapper" style="position:relative; clear:both; width:100%;"> 
     <div id="newsletter-loader"></div> <span id="newsletter-msg"> &nbsp; </span> 

    </div> 
</form> 

Тогда у меня есть этот .js файл, который, кажется, обработка пост

$(document).ready(function() { 
    var contactFormDefaults = new Array(); 
    contactFormDefaults['name'] = 'Your Name'; 
    contactFormDefaults['email'] = 'E-mail'; 
    contactFormDefaults['subject'] = 'Subject'; 
    contactFormDefaults['message'] = 'Message'; 
    contactFormDefaults['msg'] = $('.contactForm span#msg').html(); 

    $('.contactForm input[type="text"], .contactForm textarea').focus(function() { 
     $(this).addClass('inputHighlight').removeClass('errorOutline'); 
     if ($(this).hasClass('required')) { 
      $('.contactForm span#msg').html('This is a required field.').removeClass('errorMsg successMsg'); 
     } else { 
      $('.contactForm span#msg').html(contactFormDefaults['msg']).removeClass('errorMsg successMsg'); 
     } 
     if ($(this).val() == contactFormDefaults[$(this).attr('id')]) { 
      $(this).val(''); 
     } 
    }); 
    $('.contactForm input[type="text"], .contactForm textarea').blur(function() { 
     $(this).removeClass('inputHighlight'); 
     $('.contactForm span#msg').html(contactFormDefaults['msg']).removeClass('errorMsg successMsg'); 
     if ($(this).val() == '') { 
      $(this).val(contactFormDefaults[$(this).attr('id')]); 
     } 
    }); 

    $('.contactForm input[type="text"], .contactForm textarea').hover(function() { 
     $(this).addClass('inputHighlight'); 
    }, function() { 
     $(this).not(':focus').removeClass('inputHighlight'); 
    }); 

    $('.contactForm').submit(function() { 
     $('.contactForm .submit').attr("disabled", "disabled"); 
     $('#msg').html('<img src="images/loader-light.gif" />').removeClass('errorMsg successMsg'); 
     var isError = false; 
     $('.contactForm input, .contactForm textarea').each(function() { 
      if ($(this).hasClass('required') && ($.trim($(this).val()) == contactFormDefaults[$(this).attr('id')] || $.trim($(this).val()) == '')) { 
       $(this).addClass('errorOutline'); 
       $('#msg').html('There was an error sending your message. Please try again.').addClass('errorMsg'); 
       isError = true; 
      } 
      if ($(this).attr('id') == 'email') { 
       var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; 
       if (reg.test($(this).val()) == false) { 
        $(this).addClass('errorOutline'); 
        if (!isError) { 
         $('#msg').html('Please enter a valid e-mail address and try again.').addClass('errorMsg'); 
        } 
        isError = true; 
       } 
      } 
     }); 
     if (isError) { 
      $('.contactForm .submit').removeAttr("disabled"); 
      return false; 
     } else { 
      var name = $('#name').val(), 
       email = $('#email').val(), 
       subject = $('#subject').val(), 
       message = $('#message').val(); 
      $.ajaxSetup({ 
       cache: false 
      }); 
      var dataString = 'name=' + name + '&email=' + email + '&subject=' + subject + '&message=' + message + '&ajax=1'; 
      $.ajax({ 
       type: "POST", 
       url: "../myform.php", 
       data: dataString, 
       success: function (msg) { 
        // Check to see if the mail was successfully sent 
        if (msg == 'Mail sent') { 
         // Update the progress bar 
         $('#msg').html('Message sent.').addClass('successMsg'); 
         // Reset the subject field and message textbox 
         if (contactFormDefaults['subject']) { 
          $('#subject').val(contactFormDefaults['subject']); 
         } else { 
          $('#subject').val(''); 
         } 
         if (contactFormDefaults['message']) { 
          $('#message').val(contactFormDefaults['message']); 
         } else { 
          $('#message').val(''); 
         } 
        } else { 
         $('#msg').html('There was an error sending your email. Please try again.').addClass('errorMsg'); 
         $('.contactForm .submit').attr("disabled", ""); 
        } 
        // Activate the submit button 
        $('.contactForm .submit').removeAttr("disabled"); 
       }, 
       error: function (ob, errStr) { 
        $('#msg').html('There was an error sending your email. Please try again.').addClass('errorMsg'); 
        //Activate the submit button 
        $('.contactForm .submit').removeAttr("disabled"); 
       } 
      }); 
      return false; 
     } 
    }); 
}); 

Если возможно, я хотел бы знать, как сделать это все функции и то, что я не вижу здесь, и как все это можно записать в файл CSV.

Полный обзор сайта и код можно посмотреть здесь:

www.cndnsd.com/ClientAccess/Newmarket/FinalSite/index.html

Форма находится в нижней части страницы.

+0

* "и не может понять, как он поставляет значения." *: Пожалуйста, будьте более конкретными о том, что вы хотите знать. Я не думаю, что кто-то пройдет через эту стену кода и объяснит каждую строку. В целом этот вопрос может быть слишком широким. Мы не собираемся реализовывать эту функцию для вас. –

+0

Если они подписываются на рассылку новостей, данные должны храниться где-нибудь! т.е. базы данных. Чтобы создать csv, запросите базу данных и зациклируйте записи, используя 'fputcsv()', чтобы создать файл или просто вывести данные на экран с правильными заголовками, поэтому вместо этого создается принудительная загрузка (генерируется при необходимости). – Waygood

+0

@Waygood: Я думаю, что дело в том, чтобы хранить данные в CSV-файле, а не в базе данных. Пользователь заполняет форму -> данные отправляются на сервер -> данные хранятся в файле CSV. –

ответ

0

в myform.php, получите все данные (адрес электронной почты, имя и т. Д.) И начните создавать свой CSV-файл. Это простая операция, а не сложность.

Для записи файла CSV, пожалуйста, проверьте эти сообщения на переполнение стека:

write into csv file in php

Creating csv file with php

сделать также некоторые погуглите.

Надеюсь, это поможет вам.

Смежные вопросы