Avatar billede lefsa62 Seniormester
11. april 2019 - 21:20 Der er 14 kommentarer og
1 løsning

vedr codeigniter

Jeg har et problem med en send formular den fejler i denne
>A PHP Error was encountered
Severity: Notice

Message: mail(): Policy restriction in effect. The fifth parameter is disabled on this system

Filename: libraries/Email.php

Line Number: 1902

Backtrace:

File: /customers/c/c/8/webcopenhagen.dk/httpd.www/application/controllers/Contact.php
Line: 85
Function: send

File: /customers/c/c/8/webcopenhagen.dk/httpd.www/application/controllers/Contact.php
Line: 32
Function: sendEmail

File: /customers/c/c/8/webcopenhagen.dk/httpd.www/index.php
Line: 315
Function: require_once<  Det er linje 85 og 35 i skal kikke på og her kommer den  >

<?php defined('BASEPATH') OR exit('No direct script access allowed');

class Contact extends CI_Controller {
   
    public function index(){
        $data = $formData = array();
       
        // If contact request is submitted
        if($this->input->post('contactSubmit')){
           
            // Get the form data
            $formData = $this->input->post();
           
            // Form field validation rules
            $this->form_validation->set_rules('name', 'Name', 'required');
            $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
            $this->form_validation->set_rules('subject', 'Subject', 'required');
            $this->form_validation->set_rules('message', 'Message', 'required');
           
            // Validate submitted form data
            if($this->form_validation->run() == true){
               
                // Define email data
                $mailData = array(
                    'name' => $formData['name'],
                    'email' => $formData['email'],
                    'subject' => $formData['subject'],
                    'message' => $formData['message']
                );
               
                // Send an email to the site admin
                $send = $this->sendEmail($mailData);
             
                // Check email sending status
                if($send){
                    // Unset form data
                    $formData = array();
                   
                    $data['status'] = array(
                        'type' => 'success',
                        'msg' => 'Your contact request has been submitted successfully.'
                    );
                }else{
                    $data['status'] = array(
                        'type' => 'error',
                        'msg' => 'Some problems occured, please try again.'
                    );
                }
            }
        }
       
        // Pass POST data to view
        $data['postData'] = $formData;
       
        // Pass the data to view
        $this->load->view('contact/index', $data);
        $this->parser->parse('template/footer',$data);
    }
   
    private function sendEmail($mailData){
       
        // Mail config
        $to = 'postmaster@webcopenhagen.dk';
        $from = 'mail@tordvin.dk';
        $fromName = 'Webcopenhagen';
        $mailSubject = 'Contact Request Submitted by '.$mailData['name'];
       
        // Mail content
        $mailContent = '
            <h2>Contact Request Submitted</h2>
            <p><b>Name: </b>'.$mailData['name'].'</p>
            <p><b>Email: </b>'.$mailData['email'].'</p>
            <p><b>Subject: </b>'.$mailData['subject'].'</p>
            <p><b>Message: </b>'.$mailData['message'].'</p>
        ';
           
        $config['mailtype'] = 'html';
        $this->email->initialize($config);
        $this->email->to($to);
        $this->email->from($from, $fromName);
        $this->email->subject($mailSubject);
        $this->email->message($mailContent);
       
        // Send email & return status
        return $this->email->send()?true:false;
    }
   
}  <
Håber det er nogle som har et foreslag
Avatar billede Slater Ekspert
12. april 2019 - 09:52 #1
Det er tydeligvis en eller anden sikkerhedsindstilling på serveren. Jeg gætter på det er et webhotel, hvor du ikke har mulighed for at slå den indstilling fra?

Efter hvad jeg lige kan finde på Google, bør det kun være et problem på bestemte mail-protokoller. Hvis du kan finde en mail config-fil et sted og skifte mail-protokollen til mail/sendmail/smtp (noget den ikke er i forvejen), kan det måske løse det.
Avatar billede lefsa62 Seniormester
12. april 2019 - 10:14 #2
Okay jeg tjekker
Avatar billede lefsa62 Seniormester
12. april 2019 - 10:20 #3
$config = Array(
        'protocol'  => 'smtp',
        'smtp_host' => 'smtpout.secureserver.net',
        'smtp_port' => 80,
        'smtp_user' => 'xxxxxxxxxx',
        'smtp_pass' => 'xxxxxxxxxx',
        'mailtype'  => 'html',
        'charset'  => 'iso-8859-1',
        'wordwrap'  => TRUE
      );

Noget lig med dette
Avatar billede acore Ekspert
12. april 2019 - 11:42 #4
Benærk, at det er kun et notice, du får. Så det kan stadig virke?

Hvilken PHP version kører du? Hvis du kører PHP 5.3 eller lavere, kan det skyldes, at SAFE mode er sat til ON.
Avatar billede lefsa62 Seniormester
12. april 2019 - 11:58 #5
Det er den nyeste version af php. Kender du codelnigter. Det er rigtigt smart men tilbehøret kan meget vel gi problemer når de skal implementere i systemet
Avatar billede acore Ekspert
12. april 2019 - 15:18 #6
Nej, kender det ikke, men har arbejdet med andre PHP frameworks.

Men bortset fra, at du får en notice - virker din kode så? Og hvis ikke, hvad går galt?
Avatar billede lefsa62 Seniormester
12. april 2019 - 15:35 #7
Den siger sendt succes men modtager ikke noget du kan se fejlen i den øverst på siden hvor det til hvor den fejler i index.php det er ikke noget med index. Men linje 85 og 33
Avatar billede lefsa62 Seniormester
12. april 2019 - 15:42 #8
Hvis du går ind på webcopenhagen.dk og ind på contact så ser du resultatet
Avatar billede lefsa62 Seniormester
12. april 2019 - 18:57 #9
Der er kommet en ny
Men fejlen er den samme men bare i 93 og 39
problemet > return $this->email->send()?true:false; <    og > $send = $this->sendEmail($mailData); <
Håber det er en vågen person for jeg er ikke


<?php defined('BASEPATH') OR exit('No direct script access allowed');

class Contact extends CI_Controller {
   
    function __construct() {
        parent::__construct();
       
        // Load form validation library
        $this->load->library('form_validation');
    }
   
    public function index(){
        $data = $formData = array();
       
        // If contact request is submitted
        if($this->input->post('contactSubmit')){
           
            // Get the form data
            $formData = $this->input->post();
           
            // Form field validation rules
            $this->form_validation->set_rules('name', 'Name', 'required');
            $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
            $this->form_validation->set_rules('subject', 'Subject', 'required');
            $this->form_validation->set_rules('message', 'Message', 'required');
           
            // Validate submitted form data
            if($this->form_validation->run() == true){
               
                // Define email data
                $mailData = array(
                    'name' => $formData['name'],
                    'email' => $formData['email'],
                    'subject' => $formData['subject'],
                    'message' => $formData['message']
                );
               
                // Send an email to the site admin
                $send = $this->sendEmail($mailData);
               
                // Check email sending status
                if($send){
                    // Unset form data
                    $formData = array();
                   
                    $data['status'] = array(
                        'type' => 'success',
                        'msg' => 'Your contact request has been submitted successfully.'
                    );
                }else{
                    $data['status'] = array(
                        'type' => 'error',
                        'msg' => 'Some problems occured, please try again.'
                    );
                }
            }
        }
       
        // Pass POST data to view
        $data['postData'] = $formData;
       
        // Pass the data to view
        $this->load->view('contact/index', $data);
    }
   
    private function sendEmail($mailData){
        // Load the email library
        $this->load->library('email');
       
        // Mail config
        $to = 'recipient@example.com';
        $from = 'sender@example.com';
        $fromName = 'CodexWorld';
        $mailSubject = 'Contact Request Submitted by '.$mailData['name'];
       
        // Mail content
        $mailContent = '
            <h2>Contact Request Submitted</h2>
            <p><b>Name: </b>'.$mailData['name'].'</p>
            <p><b>Email: </b>'.$mailData['email'].'</p>
            <p><b>Subject: </b>'.$mailData['subject'].'</p>
            <p><b>Message: </b>'.$mailData['message'].'</p>
        ';
           
        $config['mailtype'] = 'html';
        $this->email->initialize($config);
        $this->email->to($to);
        $this->email->from($from, $fromName);
        $this->email->subject($mailSubject);
        $this->email->message($mailContent);
       
        // Send email & return status
        return $this->email->send()?true:false;
    }
   
}
Avatar billede lefsa62 Seniormester
12. april 2019 - 22:27 #10
Til dig. acoe jeg har fået den til at virke  både >index< og >contact< har jeg indsat i router.php så spiller den men det er et irritabel at den stadig viser fejl i linje 93og 39 men udfører handlingen :-((
Avatar billede acore Ekspert
13. april 2019 - 07:32 #11
Godt, at du fik det til at virke, endda uden meget hjælp.

Du kan prøve at undertrykke fejlmeddelelsen ved at sætte et @ foran de linier, der giver fejl. Se https://www.php.net/manual/en/language.operators.errorcontrol.php for detaljer.
Avatar billede lefsa62 Seniormester
14. april 2019 - 20:14 #12
Foreslaget var ellers rigtig men det var linje 47 hvor den der sådan ud 
>// Send an email to the site admin
@$send = $this->sendEmail($mailData);<
så nu virker den perfekt uden fejl,
Men jeg mangler at fået ledelse når jeg har vinget af i checkbox som skal se sådan ud  >
if($checkbox == true){
    $checkbox = "Jeg acceptere datapolitik";<


men problem til at blive input uden den fejler
har i et foreslag
Avatar billede acore Ekspert
15. april 2019 - 08:23 #13
Bare for at være sikker på, at du ikke har misforstået mig. Den virker akkurat ligesom før -. du får en notice (en advarsel ville jeg kalde det på dansk), som du undertrykker med @, så du ikke ser den.

Den nye fejl synes ikke at komme fra kode, vi har set før, så det er svært at hjælpe ud fra det du skriver.
Avatar billede lefsa62 Seniormester
15. april 2019 - 11:17 #14
Ingen problem den virker det skulle en >@< men det var en anden. Men virker perfekt uden fejl visning. Den fejl jeg får nu er at jeg vil indsætte en checkbox men i controlleren  skal den også laves der er det forvolder mig et problem der fejler den. Der er denne streng jeg vil have ind så den sender den text med når jeg sender beskeden

if($checkbox == true){
    $checkbox = "Jeg acceptere datapolitik";}
Har du eventuelt en løsning
Avatar billede lefsa62 Seniormester
15. april 2019 - 13:01 #15
Jeg takker for din hjælp for det andet nu har jeg løst jeg  det andet
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester