Home > database >  Unable to load the "PHP Email Form" Library
Unable to load the "PHP Email Form" Library

Time:11-26

Hi guys for some reason my PHP Form doesnt work, when someone press send message button this error pop out "Unable to load the "PHP Email Form" Library". I dont know whats the problem. Can you help me ? :)

This is contact.php

<?php

    $receiving_email_address = 'myemailadress';
    
      if( file_exists($php_email_form = '../assets/vendor/php-email-form/php-email-form.php' )) {
        include( $php_email_form );
      } else {
        die( 'Coming Soon!');
      }
    
      $contact = new PHP_Email_Form;
      $contact->ajax = true;
      
      $contact->to = $receiving_email_address;
      $contact->from_name = $_POST['name'];
      $contact->from_email = $_POST['email'];
      $contact->subject = $_POST['subject'];
    
      // Uncomment below code if you want to use SMTP to send emails. You need to enter your correct SMTP credentials
      /*
      $contact->smtp = array(
        'host' => 'example.com',
        'username' => 'example',
        'password' => 'pass',
        'port' => '587'
      );
      */
    
      $contact->add_message( $_POST['name'], 'From');
      $contact->add_message( $_POST['email'], 'Email');
      $contact->add_message( $_POST['message'], 'Message', 10);
    
      echo $contact->send();
    ?>

This is index.html

 <div class="form">
              <form action="forms/contact.php" method="post" role="form" class="php-email-form">
                <div class="row">
                  <div class="form-group col-md-6">
                    <input type="text" name="name" class="form-control" id="name" placeholder="Your Name" required>
                  </div>
                  <div class="form-group col-md-6 mt-3 mt-md-0">
                    <input type="email" class="form-control" name="email" id="email" placeholder="Your Email" required>
                  </div>
                </div>
                <div class="form-group mt-3">
                  <input type="text" class="form-control" name="subject" id="subject" placeholder="Subject" required>
                </div>
                <div class="form-group mt-3">
                  <textarea class="form-control" name="message" rows="5" placeholder="Message" required></textarea>
                </div>
                <div class="my-3">
                  <div class="loading">Loading</div>
                  <div class="error-message"></div>
                  <div class="sent-message">Your message has been sent. Thank you!</div>
                </div>
                <div class="text-center"><button type="submit">Send Message</button></div>
              </form>
            </div>

Anf for some reason some kind of a error log file came up in the folder that says:

[19-Nov-2021 13:49:31 UTC] PHP Fatal error:  Uncaught Error: Class 'PHP_Email_Form' not found in /home/domain/public_html/forms/contact.php:16
Stack trace:
#0 {main}
  thrown in /home/domain/public_html/forms/contact.php on line 16
[19-Nov-2021 13:49:32 UTC] PHP Fatal error:  Uncaught Error: Class 'PHP_Email_Form' not found in /home/domain/public_html/forms/contact.php:16
Stack trace:
#0 {main}
  thrown in /home/domain/public_html/forms/contact.php on line 16

I guess i should add this home/domain/public.html/froms/contact.php on line 16 but I dont know how to that properly apparently.

Can you help me please ?

CodePudding user response:

You can't assign a variable in file_exists(). Use

if( file_exists('../assets/vendor/php-email-form/php-email-form.php')) {
    include('../assets/vendor/php-email-form/php-email-form.php');
} else {
    die( 'Coming Soon!');
}

or

$php_email_form = '../assets/vendor/php-email-form/php-email-form.php';
if(file_exists($php_email_form)) {
    include($php_email_form);
} else {
    die('Coming Soon!');
}

CodePudding user response:

IF u download these codes from a free version of templates then it won't work. you need a library of PHP Email forms. IF you check your assets/vendor/php-email-form/, u are missing php-email-form.php file. As per my knowledge, u have to buy to get that file.

  • Related