Helpmij.nl
Helpmij.nl
Helpmij.nl

Quote

Pagina 2 van 9 EersteEerste 1 2 3 4 ... LaatsteLaatste
Weergeven resultaten 21 tot 40 van 180

Onderwerp: Hoe ook al weer email form html website werkend krijgen?

  1. #21
    Mega Honourable Senior Member femke98's avatar
    Geregistreerd
    16 december 2006
    Locatie
    Almere
    Oké, ik kom al wat verder. Recaptcha uit de html verwijderd, nu doet de verzendknop het wel maar krijg een lege witte pagina
    met de url https://test.example.nl/contact.php
    Laatst aangepast door bron : 12 september 2021 om 16:32

  2. #22
    Mega Honourable Senior Member Aar's avatar
    Geregistreerd
    3 augustus 2014
    Moet dit op een nieuwe pagina worden geladen, of asynchroon via AJAX?
    Als de pagina leeg is, dan moet je de error_reporting eens aanzetten op E_ALL, en display_errors aan.
    Of je kan in de log-files kijken.
    Laatst aangepast door Aar : 25 augustus 2021 om 17:29
    Was voorheen: PHP4U

  3. #23
    Mega Honourable Senior Member femke98's avatar
    Geregistreerd
    16 december 2006
    Locatie
    Almere
    nee, dat ajax script ook weggehaald. Dus alleen wat jij en Bron in het begin vertelden. Dus helemaal opnieuw begonnen.
    Alleen dus met contact.php - phpmailer - contactformulier wat al in de website html staat.

    en nee, dit moet niet op een nieuwe pagina worden geladen,
    Als de pagina leeg is, dan moet je de error_reporting eens aanzetten op E_ALL, en display_errors op 1
    mag ik vragen waar ik dat doe?

    oh ps. witte pagina en geen mail in mijn mailbox, wel zo handig te weten

  4. #24
    Mega Honourable Senior Member Aar's avatar
    Geregistreerd
    3 augustus 2014
    Een beetje zelfredzaamheid bij het programmeren is echt niet verboden hoor.
    Zo ben ik ik vroeger ook begonnen met leren programmeren, en dat terwijl er minder informatieve blogjes waren en zelfs meer manuals waar je vaak behoorlijk doorheen moest worstelen.

    Als je op Google zoekt dan komt je hier op uit:
    https://stackify.com/display-php-errors/

    Dus zet bovenaan eens eens neer:
    PHP Code:
    1
    2
    3
    4
    5
    
    <?php
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL);
    ?>

    Dan moet je wel een aantal errors zien wat je hopelijk verder op weg kan helpen.
    Zo niet, dan ben ik benieuwd wat je script in contact.php is.
    Laatst aangepast door Aar : 25 augustus 2021 om 17:49
    Was voorheen: PHP4U

  5. #25
    Mega Honourable Senior Member femke98's avatar
    Geregistreerd
    16 december 2006
    Locatie
    Almere
    Zo niet, dan ben ik benieuwd wat je script in contact.php is.
    die Bron mij gegeven heeft met daarin uiteraard de nodige veranderingen zoals email en wachtwoord.

    ik blijf een witte pagina krijgen met geen errors en geen mail.

    Ik ga eten, ik zie het echt niet meer, eigenlijk de hele tijd al niet meer.
    Zelfredzaamheid met dit.....neh, nu even niet......(maar je hebt uiteraard wel gelijk hoor, Aar. Echt wel. Het gekke is dat het mij ooit gelukt is ook met jullie hulp maar dat ik het nu totaal niet zie)

  6. #26
    Mega Honourable Senior Member femke98's avatar
    Geregistreerd
    16 december 2006
    Locatie
    Almere
    contact.php

    PHP Code:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    
    <?php
     
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;
     
    // bestanden
    $dir = str_replace('\\', '/', dirname(__FILE__).'/PHPMailer/src');
    require $dir . '/Exception.php';
    require $dir . '/PHPMailer.php';
    require $dir . '/SMTP.php';
     
    if (array_key_exists('contact_email', $_POST)) {
        
        date_default_timezone_set('Europe/Amsterdam');
     
        // smtp connection
        $mail = new PHPMailer;
        $mail->isSMTP();
        $mail->Host = 'mail.xxxxx.nl';
        $mail->SMTPSecure = 'ssl'; // tls, ssl
        $mail->Port = 465;         // tls:587 ssl:465
     
        // smtp authentication
        $mail->SMTPAuth = true;
        $mail->Username = 'info@example.nl';
        $mail->Password = 'xxxxx';
     
        // debug  geen:0  client:1  server/client:2
        $mail->SMTPDebug = 0;
     
        // FROM: existing mailbox in your domain
        // DO NOT use the submitter's address here
        $mail->setFrom('noreply@example.nl', 'No Reply');
     
        // TO: your address
        $mail->addAddress('info@example.nl');
     
        // optional cc and bcc
        // $mail->addCC('cc@example.nl');
        // $mail->addBCC('bcc@example.nl');
        
        if (array_key_exists('contact_name', $_POST) && array_key_exists('contact_message', $_POST)) {
                    
            if ($mail->addReplyTo($_POST['contact_email'], $_POST['contact_name'])) {
                
                $mail->Subject = 'Contact website';
     
                $message  = '<div>Naam: '    . $_POST['contact_name']    . '</div>';
                $message .= '<div>Email: '   . $_POST['contact_email']   . '</div>';
                $message .= '<div>Bericht: ' . $_POST['contact_message'] . '</div>';
     
                // html part
                $msg = str_replace(PHP_EOL, '<br>', $message);
                $msg = str_replace('\\', '|', $msg);
                $mai->Body = $msg;
     
                // text part
                $txt = strip_tags($message);
                $mail->AltBody = $txt;
     
                // send the message, check for errors
                if (!$mail->send()) {
                     echo 'Sorry, er gaat wat mis. Probeer het later nog eens.';
                    if ($mail->SMTPDebug <> 0) {
                        echo $mail->ErrorInfo;
                    }
                } else {
                     echo 'Bedankt voor uw mail.';
                }
            } else {
                 echo 'Ongeldige naam of emailadres.';
            }
        } else {
             echo 'Ongeldige naam of bericht.';
        }
    } else {
         echo 'Formulier ingediend zonder e-mailadres.';
    }
    Laatst aangepast door bron : 12 september 2021 om 16:35

  7. #27
    Mega Honourable Senior Member Aar's avatar
    Geregistreerd
    3 augustus 2014
    Als het op bepaalde momenten niet lukt, omdat je in een tunnelvisie begint te raken...
    Leg het dan even naast je neer, rust uit, en ga de volgende dag verder.

    Zet je code even tussen [php] tags, dan zien we hier nette kleurtjes voor PHP-scripting.
    Ik zie hier alleen niet de code staan voor de error-afhandeling, zoals ik vroeg.

    Bij een losse aanroep zie ik wel netjes een foutmelding uit je script.
    Formulier ingediend zonder e-mailadres.
    Laatst aangepast door Aar : 25 augustus 2021 om 18:19
    Was voorheen: PHP4U

  8. #28
    Mega Honourable Senior Member femke98's avatar
    Geregistreerd
    16 december 2006
    Locatie
    Almere
    Ik zie hier alleen niet de code staan voor de error-afhandeling, zoals ik vroeg.
    nee hahaha, die had ik er weer uit gehaald.

    Ik zie nergens een error, Formulier ingediend zonder e-mailadres.
    ik had wel degelijk een emailadres ingevuld.

    edit: verhip, ik nu ook op de laptop via ff. hm.

    Zet je code even tussen [php] tags, dan zien we hier nette kleurtjes voor PHP-scripting.
    gedaan
    Laatst aangepast door femke98 : 25 augustus 2021 om 18:49

  9. #29
    Mega Honourable Senior Member Aar's avatar
    Geregistreerd
    3 augustus 2014
    Firefox, Chrome, Edge, Internet Explorer of welke browser dan ook.
    Overal krijg je een foutmelding als die via PHP geserveerd wordt. PHP is immers een serverside programmeertaal die niks met jouw eigen PC te doen heeft.

    Zet die error functie gewoon eens aan.
    Dan moet er wel meer duidelijkheid zijn wat er mis is. Ik vermoed iets met de mail.

    Sowieso is het een kwestie van debuggen, door wat echo's op diverse plekken in het script te zetten, zodat je kan zien welke route het script aflegt door je statements.
    Veel if'jes hebben al een een else die aangeroepen wordt als er niet aan de voorwaarde wordt voldaan. Dus het probleem lijkt niet erg lastig te vinden te zijn.
    Laatst aangepast door Aar : 25 augustus 2021 om 19:04
    Was voorheen: PHP4U

  10. #30
    Mega Honourable Senior Member femke98's avatar
    Geregistreerd
    16 december 2006
    Locatie
    Almere
    opnieuw een email gedaan met emailadres, zie screenshot.
    Daarna op verzenden en ik krijg een witte pagina, zie screeshot.

    Daarna op enter gekllkt en dan krijg ik de melding, zie screenshot
    Bijgevoegde kleine afbeeldingen Bijgevoegde kleine afbeeldingen Klik op afbeelding voor grotere versie

Naam:  Screenshot 2021-08-25 at 19-00-05 S de Vries Sloopwerken.png‎
Bekeken: 8
Grootte:  10,3 KB   Klik op afbeelding voor grotere versie

Naam:  Screenshot 2021-08-25 at 19-00-39 https test sdevriessloopwerken nl.png‎
Bekeken: 7
Grootte:  2,9 KB   Klik op afbeelding voor grotere versie

Naam:  Screenshot 2021-08-25 at 19-01-53 https test sdevriessloopwerken nl.png‎
Bekeken: 8
Grootte:  3,9 KB  
    Laatst aangepast door femke98 : 25 augustus 2021 om 19:04

  11. #31
    Mega Honourable Senior Member Aar's avatar
    Geregistreerd
    3 augustus 2014
    Wordt er überhaupt wel ge-POST?

    Zet eens na lijn 10 dit neer:
    PHP Code:
    1
    
    echo "<pre>".print_r($_POST,true)."</pre>";
    Als het goed is moet je dan een array-boom zien met de data uit je $_POST.

    Dat je na een ENTER die melding wel ziet, komt doordat je het formulier opnieuw aanroept, en je POST-gegevens verdwijnen.
    Laatst aangepast door Aar : 25 augustus 2021 om 19:08
    Was voorheen: PHP4U

  12. #32
    Mega Honourable Senior Member femke98's avatar
    Geregistreerd
    16 december 2006
    Locatie
    Almere
    https://test.example.nl/contact.php
    lees maar wat er staat. (er staat dus naam, emailadres en bericht)

    ik zit mij wat af te vragen:
    omdat het op een subdomein is gemaakt als test, (ik heb nog ergens een reserve) klopt dan het emailadres wel van waar het naar toe gaat?
    Dat is immers zonder test ervoor. Dus example.nl ipv test.example.nl (als voorbeeld)
    Of moet dat niet uitmaken?
    Overigens gaat de mail als het werkt naar mij toe, dus wordt geforwarded.
    Laatst aangepast door bron : 12 september 2021 om 16:48

  13. #33
    Mega Honourable Senior Member Aar's avatar
    Geregistreerd
    3 augustus 2014
    Als ik het formulier verstuur, dan zie ik dit.
    Code:
    Array
    (
        [contact_name] => test
        [contact_email] => test@test.nl
        [contact_message] => testetwqwetwt
    )
    Die velden worden dan gewoon herkend.
    Daar is niks mis mee.

    Hoe staat de SMTPdebug op lijn 29 ingesteld?
    Het gaat via een externe SMTP mail-server, dus dit kan geen invloed hebben op het PHP-script.
    Wel kan dit gebeuren als je mail() zou gebruiken en de provider wat veiligheidsbarrières had opgeworpen tegen spamming.

    Eerlijk gezegd kan ik mij niets anders bedenken dan dat het daaraan ligt. Het script kent bij elke if een nette else.
    Dus, al zou er iets misgaan, dan zou je minimaal overal een nette foutmelding bij moeten zien.



    Hostingproviders staan altijd nog te juichen als je mails via PHPmailer naar het SMTP-postkantoor brengt, in plaats van dat je dit door de webserver zelf laat doen.
    Dus deze weg via PHPmailer en SMTP is zeker goed!
    Laatst aangepast door Aar : 25 augustus 2021 om 19:27
    Was voorheen: PHP4U

  14. #34
    Mega Honourable Senior Member femke98's avatar
    Geregistreerd
    16 december 2006
    Locatie
    Almere
    ja, dat zie ik dus ook!
    Maar er komt geen mail binnen!
    Hoe staat de SMTPdebug op lijn 29 ingesteld?
    $mail->SMTPDebug = 0;

  15. #35
    Mega Honourable Senior Member Aar's avatar
    Geregistreerd
    3 augustus 2014
    Zet die eens op 2 .
    Was voorheen: PHP4U

  16. #36
    Moderator bron's avatar
    Geregistreerd
    13 augustus 2013
    Locatie
    Nederland
    Deze regel
    Code:
    $mail->setFrom('noreply@sdevxxxxx.nl', 'No Reply');
    moet een bestaand emailadres op jouw domein zijn.
    Als dit niet zo is, dan kan een email door SPF checks worden tegengehouden.

    En natuurlijk tijdens het testen even $mail->SMTPDebug op 2 zetten
    Bestaande- en nieuwe websites op smartphone, tablet en pc.

  17. #37
    Moderator bron's avatar
    Geregistreerd
    13 augustus 2013
    Locatie
    Nederland
    Even wat dingen op een rijtje gezet die je kan nalopen

    Klopt het pad naar de mappen?
    Zet om dit te testen onder de volgende regel even echo $dir;
    Code:
    $dir = str_replace('\\', '/', dirname(__FILE__).'/PHPMailer/src');
    echo $dir;
    Heb je de servergegevens ingevuld?
    Code:
    $mail->Host = '_______';    // bijvoorbeeld 'mail.ziggo.nl'
    $mail->SMTPSecure = 'ssl';  // 'ssl' of 'tls'
    $mail->Port = 465;          // 465 (bij ssl) of 587 (bij tls)
    SetFrom moet een bestaand emailadres van het domein zijn
    Code:
    $mail->setFrom('_____@_____.nl', 'Mijn Bedrijf');
    Kloppen de inloggegevens van $mail->setFrom
    Code:
    $mail->Username = '_____@_____.nl';  // emailadres of emailnaam of emailcode ofzo
    $mail->Password = '_____';
    Vul om te testen even jouw eigen emailadres in bij
    Code:
    $mail->addAddress('_____@_____.nl');
    Laatst aangepast door bron : 25 augustus 2021 om 20:36
    Bestaande- en nieuwe websites op smartphone, tablet en pc.

  18. #38
    Mega Senior damnsharp's avatar
    Geregistreerd
    6 januari 2012
    Locatie
    Oss
    Hoi @femke98. Ik val in het topic en heb het doorgelezen. Ik zou zelf iets eenvoudiger eerst starten, het stap voor stap ontleden.
    Dus:
    1) Werkt het contactformulier zonder Google captcha?

    2) Zo nee, dan zou ik een testmail.php bestandje plaatsen in de root en aanroepen via websitenaam/testmail.php
    Deze code kan erin staan en pas e.e.a. aan.
    Code:
    <?php 
        ini_set( 'display_errors', 1 );
        error_reporting( E_ALL );
        $from = "emailtest@domeinnaam.nl";
        $to = "info@jouwmailadres.nl";
        $subject = "PHP Mail Test script";
        $message = "This is a test to check the PHP Mail functionality";
        $headers = "From:" . $from;
        mail($to,$subject,$message, $headers);
        echo "Test email sent";
    ?>
    3) Pas als dat werkt, dan contactformulier plaatsen en testen.

    4) Pas als dat werkt, dan buigen over Google captcha probleem.

    Succes!

  19. #39
    Mega Honourable Senior Member Aar's avatar
    Geregistreerd
    3 augustus 2014
    Of natuurlijk PHPmailer gebruiken i.p.v. de mail() functie van PHP. Die is prima te debuggen, en ik heb wel eens gehoord dat er hostings zijn die mail() ernstig beperkt of uitgezet hebben.

    Maar het is inderdaad een idee om stapje voor stapje te kijken of het werkt. Als het fout gaat kan je eenvoudiger de fout localiseren.
    Laatst aangepast door Aar : 26 augustus 2021 om 09:32
    Was voorheen: PHP4U

  20. #40
    Mega Senior damnsharp's avatar
    Geregistreerd
    6 januari 2012
    Locatie
    Oss
    Offtopic: Ha @Aar, hernieuwde kennismaking; zal even wennen zijn niet meer @PHP4U te schrijven :-)

    En nog een idee @femke98, de site in WP maken? Maar ach, zo is het natuurlijk ook leuk en vast leerzaam. Voor een 1 pagina site is alleen PHP wel snel.

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl

Regels
Help

Helpmij.nl en business

Partners
Sponsoren