2015-06-04 2 views
-3

по рельсам 4.2.1 Возникли проблемы о том, где включить contact_me.php скрипт Контактная страница создается в файле homepage.html.erbКак запустить PHP скрипт в приложении рельсы

Вот что это выглядит следующим образом:

<!-- Contact Section --> 
    <section id="contact"> 
     <div class="container"> 
      <div class="row"> 
       <div class="col-lg-12 text-center"> 
        <h2 class="section-heading">Contact Me</h2> 
        <h3 class="section-subheading text-muted">Shoot me an email if you like what you see! My schedule is flexible and my door is always open.</h3> 
       </div> 
      </div> 
      <div class="row"> 
       <div class="col-lg-12"> 
        <form name="sentMessage" id="contactForm" novalidate> 
         <div class="row"> 
          <div class="col-md-6"> 
           <div class="form-group"> 
            <input type="text" class="form-control" placeholder="Your Name *" id="name" required data-validation-required-message="Please enter your name."> 
            <p class="help-block text-danger"></p> 
           </div> 
           <div class="form-group"> 
            <input type="email" class="form-control" placeholder="Your Email *" id="email" required data-validation-required-message="Please enter your email address."> 
            <p class="help-block text-danger"></p> 
           </div> 
           <div class="form-group"> 
            <input type="tel" class="form-control" placeholder="Your Phone *" id="phone" required data-validation-required-message="Please enter your phone number."> 
            <p class="help-block text-danger"></p> 
           </div> 
          </div> 
          <div class="col-md-6"> 
           <div class="form-group"> 
            <textarea class="form-control" placeholder="Your Message *" id="message" required data-validation-required-message="Please enter a message."></textarea> 
            <p class="help-block text-danger"></p> 
           </div> 
          </div> 
          <div class="clearfix"></div> 
          <div class="col-lg-12 text-center"> 
           <div id="success"></div> 
           <button type="submit" class="btn btn-xl">Send Message</button> 
          </div> 

И вот что contact_me.php выглядит следующим образом:

<?php 
// Check for empty fields 
if(empty($_POST['name'])  || 
    empty($_POST['email'])  || 
    empty($_POST['phone'])  || 
    empty($_POST['message']) || 
    !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL)) 
    { 
    echo "No arguments Provided!"; 
    return false; 
    } 

$name = $_POST['name']; 
$email_address = $_POST['email']; 
$phone = $_POST['phone']; 
$message = $_POST['message']; 

// Create the email and send the message 
$to = '[email protected]'; // Add your email address inbetween the '' replacing [email protected] - This is where the form will send a message to. 
$email_subject = "Website Contact Form: $name"; 
$email_body = "You have received a new message from your website contact form.\n\n"."Here are the details:\n\nName: $name\n\nEmail: $email_address\n\nPhone: $phone\n\nMessage:\n$message"; 
$headers = "From: [email protected]\n"; // This is the email address the generated message will be from. We recommend using something like [email protected] 
$headers .= "Reply-To: $email_address"; 
mail($to,$email_subject,$email_body,$headers); 
return true;    
?> 

Любая помощь очень была бы оценена !!!

+1

Почему вы не просто воссоздаете эту функцию в рельсах? – AytanLeibowitz

+0

Я использовал бутстрап и создал приложение для рельсов. Я тоже не сообразителен. –

ответ

1

Для запуска PHP-скрипта вам понадобится поддержка php на веб-сервере или не менее php-cli, установленная на вашем веб-сервере.

Если у вас есть этот вид поддержки вы могли бы сделать:

а) Publish сценария к публичной конечной точке, как public/script.php. И отправьте POST на эту конечную точку.

б) Если у вас нет поддержки общественных конечных точек, можно написать конечную точку Ruby, который выполняет скрипт PHP, как a shell command на стороне сервера. Таким образом, вы можете сделать что-то вроде: php script.php ARGUMENTS. Но вам нужно немного изменить скрипт, чтобы получить Args, а также создать публичную конечную точку Ruby.

Если у вас нет сервера, поддерживающего PHP, я думаю, что это может быть немного сложнее. Я буду рекомендовать, чтобы передать этот сценарий Ruby, поскольку проще поддерживать код, написанный на одном языке программирования за раз.

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