contact form werkt niet maar ik vind de fout(en) niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johnny van den Crommenacker

Johnny van den Crommenacker

02/07/2023 10:49:40
Quote Anchor link
Goedemorgen jullie allen,

Ik heb een aantal websites lopen voor mijn bedrijven en heb deze zelf in elkaar geknutseld, nu ja, ik heb wat script gedownload en deze aangepast, naar mijn tevredenheid, maar ik weet e.e.a. is misschien wat primitief en ook niet geheel correct volgens de huidige standaards.
Op al mijn sites heb ik sinds een tijdje een contact form echter daar zit het probleem, op sommige sites komt het form niet door of af en toe maar door (raar) en op een andere site is het form weer incompleet, als voorbeeld.

Op http://www.vereiken.com/contact/contact.html werkt het formulier ok, met dien verstande dat het berichten blok dus blanco blijft, de data hier in wordt niet verzonden, de rest komt wel goed door.

op https://www.zonwering-helmond.nl/contact.html en ook op mijn andere sites zou ik graag een kolom afmeting toe willen voegen zoals ik dat op Vereiken ook gedaan heb, maar ik weet helaas niet meer hoe ik dat gedaan heb (is de leeftijd vrees ik, sorry)

Op https://www.zonwering-deurne.nl/contact/contact.html komt het gehele form niet door in de mail.

Ik ben naarstig op zoek naar verschillen gegaan in de php in de assets/mail, maar ik vrees dat ik wat over het hoofd zie.

In ieder geval alvast dank mochten jullie eens willen kijken & een fijne zondag gewenst
groeten
Johnny
 
PHP hulp

PHP hulp

03/12/2024 18:12:21
 
- Ariën  -
Beheerder

- Ariën -

02/07/2023 10:52:51
Quote Anchor link
Probeer eerst eens vast te stellen wat er precies wanneer gebeurt.

En voor de rest kunnen we momenteel weinig doen omdat we geen inzicht hebben in je contactformulier code.

PS: Check ook even de huishoudelijke PM/mail die ik je zojuist gestuurd heb.
 
Johnny van den Crommenacker

Johnny van den Crommenacker

02/07/2023 12:10:54
Quote Anchor link
Ariën, sorry ja, ik zag de dubbele login, ik dacht dat ik een login had maar kon hem nergens vinden ik twijfelde zodoende, vandaar de nieuwe poging.

Voor wat de Vereiken site betreft;

Dit is het gedeelte in contact.html
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<!-- Contact-->
        <section class="page-section" id="contact">
            <div class="container">
                <div class="text-center">
                    <h2 class="section-heading text-uppercase">Contacteer Ons</h2>
                    <h3 class="section-subheading text-muted">Vul hier uw gegevens is en wij nemen contact met u op.</h3>
                </div>
                <form id="contactForm" name="sentMessage" novalidate="novalidate">
                    <div class="row align-items-stretch mb-5">
                        <div class="col-md-6">
                            <div class="form-group">
                                <input class="form-control" id="name" type="text" placeholder="Uw Naam *" required="required" data-validation-required-message="Vermeld aub uw naam." />
                                <p class="help-block text-danger"></p>
                            </div>
                            <div class="form-group">
                                <input class="form-control" id="email" type="email" placeholder="Uw Email *" required="required" data-validation-required-message="Vermeld aub uw email adres." />
                                <p class="help-block text-danger"></p>
                            </div>
                            <div class="form-group mb-md-0">
                                <input class="form-control" id="phone" type="tel" placeholder="Uw telefoon nr. *" required="required" data-validation-required-message="Vermeld aub uw telefoon nr.." />
                                <p class="help-block text-danger"></p>
                            </div>
                        </div>
                         <div class="col-md-6">
                            <div class="form-group form-group-textarea mb-md-0">
                                <textarea class="form-control" id="message" placeholder="Ik heb interesse in: " required="required" data-validation-required-message="Geef aub uw bericht"></textarea>
                                <p class="help-block text-danger"></p>
                            </div>
                        </div>
                        <div class="col-md-6">
                            <div class="form-group form-group-textarea mb-md-0">
                                <textarea class="form-control" id="afmeting" placeholder="Afmetingen (Breedte*hoogte)" required="required" data-validation-required-message="Vermeld u aub de ongeveer afmeting."></textarea>
                                <p class="help-block text-danger"></p>
                            </div>
                        </div>
                    </div>
                    <div class="text-center">
                        <div id="success"></div>
                        <button class="btn btn-primary btn-xl text-uppercase" id="sendMessageButton" type="submit">ZEND BERICHT</button>
                    </div>
                </form>

en dit is de contact_me.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
// Check for empty fields
if(empty($_POST['name'])      ||
   empty($_POST['email'])     ||
   empty($_POST['phone'])     ||
   empty($_POST['message'])   ||
   empty($_POST['afmeting'])  ||
   !
filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
   {

   echo "No arguments Provided!";
   return false;
   }

  
$name = strip_tags(htmlspecialchars($_POST['name']));
$email_address = strip_tags(htmlspecialchars($_POST['email']));
$phone = strip_tags(htmlspecialchars($_POST['phone']));
$message = strip_tags(htmlspecialchars($_POST['message']));
$afmeting = strip_tags(htmlspecialchars($_POST['afmeting']));
  
// Create the email and send the message
$to = '[email protected]'; // Add your email address in between the '' replacing [email protected] - This is where the form will send a message to.
$email_subject = "Website Contact formulier Vereiken van :  $name";
$email_body = "U heeft een nieuw bericht van uw Vereiken website contact formulier.\n\n"."Dit zijn de gegevens:
\n\nNaam : $name\n\nEmail: $email_address
\n\nafmeting:$afmeting;
\n\nTelefoon nr.:$phone.\n\nBericht: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;        
?>
Gewijzigd op 02/07/2023 21:42:29 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

02/07/2023 12:30:39
Quote Anchor link
Hoe zien de headers eruit volgens jouw e-mailprogramma? Let aub op privacy. :-)
 
Johnny van den Crommenacker

Johnny van den Crommenacker

02/07/2023 12:40:16
Quote Anchor link
U heeft een nieuw bericht van uw Vereiken website contact formulier.

Dit zijn de gegevens:

Naam : testpersoon

Email: [email protected]

Phone: 06123456

Bericht:

afmeting: 2 stuks 250*300cm
 
- Ariën  -
Beheerder

- Ariën -

02/07/2023 12:47:10
Quote Anchor link
Je mist een name-attribuut in je textarea.
 
Adoptive Solution

Adoptive Solution

02/07/2023 15:12:08
Quote Anchor link
Het form wordt gecontroleerd met jquery.

Die het daarna verstuurt naar de contact_me.php pagina.

Dit script wordt gebruikt in alle gevallen :

https://www.zonwering-deurne.nl/contact/assets/mail/contact_me.js
 
Johnny van den Crommenacker

Johnny van den Crommenacker

02/07/2023 16:14:30
Quote Anchor link
Sorry, maar ik ben het spoor al bijster, als ik niet concreet naar iets verwezen wordt dan zie ik het helaas niet.
Ik doe mijn best maar mijn kennis hierin is niet heel groot.
 
- Ariën  -
Beheerder

- Ariën -

02/07/2023 16:51:52
Quote Anchor link
Gooi eens een print_r($_POST); in je PHP-script, en kijk eens in je request (netwerk-tab in je browser) of message wordt ingevuld.

Maar als je door de bomen het bos niet ziet? Waarom gebruik je dan jQuery?
 
Johnny van den Crommenacker

Johnny van den Crommenacker

02/07/2023 17:42:54
Quote Anchor link
Geen idee Ariën, ik vond gewoon een stukje script, heb dat geïmplementeerd met als doel dat mijn cliënten mij een formuliertje kunnen sturen. Dat was t doel.

Geen idee hoe ik dat nu weer oplos, momenteel denken mensen mij te kunnen berichten, echter ik heb daar geen weet van.
 
Adoptive Solution

Adoptive Solution

02/07/2023 17:49:53
Quote Anchor link
De afgelopen 2 jaar bestond het probleem ook.
Hoe is dat opgelost?

https://www.phphulp.nl/profiel/johnny-van-den-crommenacker/35849/
 
Johnny van den Crommenacker

Johnny van den Crommenacker

02/07/2023 18:02:56
Quote Anchor link
k heb even nagekeken in mijn mail historie, het formulier op Vereiken werkte perfect tot het moment dat ik er de kolom afmeting aan toegevoegd heb, die afmeting kolom komt nu goed door, echter het berichten stuk tekst dus niet.
 
- Ariën  -
Beheerder

- Ariën -

02/07/2023 18:13:01
Quote Anchor link
Daarom is het een kwestie van debuggen. Eigenlijk moet je het eerst direct zonder jQuery oplossen, en direct naar PHP.
 
Adoptive Solution

Adoptive Solution

02/07/2023 19:33:11
Quote Anchor link
Heb het niet gecontroleerd maar haal die punt komma eens weg in regel 25.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
\n\nafmeting:$afmeting;
 
Johnny van den Crommenacker

Johnny van den Crommenacker

02/07/2023 19:38:43
Quote Anchor link
Helaas, de ; is niet de oplossing
 
- Ariën  -
Beheerder

- Ariën -

02/07/2023 21:41:33
Quote Anchor link
Haal je JavaScript eens tijdelijk weg, en laat het eens direct naar je PHP-script posten, i.p.v. via jQuery/AJAX.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<form id="contactForm" name="sentMessage" novalidate="novalidate">


Wordt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<form method="POST" name="sentMessage" novalidate="novalidate" action="contact_me.php">
 
Johnny van den Crommenacker

Johnny van den Crommenacker

03/07/2023 10:46:11
Quote Anchor link
Werkt niet, mijn kennis is te laag om adequaat om te gaan met jullie oplossingen,
 
- Ariën  -
Beheerder

- Ariën -

03/07/2023 10:52:41
Quote Anchor link
Wat werkt er niet aan? Wat gebeurt er dan?
Als je onduidelijk en vaag bent, dan wordt helpen erg lastig.
Gewijzigd op 03/07/2023 10:53:25 door - Ariën -
 
Johnny van den Crommenacker

Johnny van den Crommenacker

03/07/2023 11:51:07
Quote Anchor link
Uiteraard komt er te staan
The requested URL /contact/contact_me.php was not found on this server.
want ik krijg de verwijzing naar de juiste sub directory gewoon niet geschreven in HTML

Als ik contact_me.php in de map contact zet krijg ik dit.
No arguments Provided!
 
- Ariën  -
Beheerder

- Ariën -

03/07/2023 12:17:15
Quote Anchor link
Quote:
The requested URL /contact/contact_me.php was not found on this server.


Lijkt me duidelijk!

Als je No arguments Provided! ziet, dan mis je blijkbaar die name-attributes in je formulier-elementen, of heb je die niet correct ingevuld>
Daarom kan je een print_r($_POST); eraan toevoegen om mee te weten over de inhoud van je POST-request.

Toevoeging op 04/07/2023 12:12:31:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
print_r($_POST); // tijdelijke regel.
// Check for empty fields

if(empty($_POST['name'])      ||
   empty($_POST['email'])     ||
   empty($_POST['phone'])     ||
   empty($_POST['message'])   ||
   empty($_POST['afmeting'])  ||
   !
filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
   {

   echo "No arguments Provided!";
   return false;
   }
Gewijzigd op 03/07/2023 12:30:49 door - Ariën -
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.