Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

(PHP) Wat doe ik verkeerd?

Pagina: 1
Acties:
  • 394 views

  • Kimberly
  • Registratie: Juli 2002
  • Laatst online: 16-11 00:42
Mijn eigen website is klaar alleen kom ik er gewoon niet uit hoe ik het contactforumulier werkend krijg. Wie kan er helpen? (Het is iets wat volgens mij simpel is op te lossen, maar ik zie het niet meer 8)7 )

code in index.html:

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
                    <a href="#" id="info" class="open">ContactInformation</a>
                    
                    <h5>Get In Touch</h5>
                    
                    <div id="contactform">    
                        <div id="response"></div>
                        <form method="POST" action="send.php" class="form">
                            <div id="main">
                                <p class="name">
                                    <input type="text" name="name" id="name" />
                                    <label for="name" class="overlabel">Name</label>
                                </p>
                                <p class="email">
                                    <input type="text" name="email" id="email" />
                                    <label for="email" class="overlabel">E-mail</label>
                                </p>
                                <p class="text">
                                    <textarea name="comments" id="comments" ></textarea>
                                </p>
                                <p class="submit">
                                    <button type="submit" name="submit" id="submit" class="graybutton">Send Email</button>
                                </p>
                            
                            </div>
                        </form>


send.php bestand:

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
79
80
81
82
83
84
<?php 

if(isset($_POST['email'])) {
    
    $email_to = "mijn email";
    $email_subject = "Bericht van een bezoeker";
    
    
    function died($error) {
        // foutberichten
        echo "Het spijt ons, vanwege een fout is het formulier niet verzonden. ";
        echo "Deze fout(en) tonen zich hieronder.<br /><br />";
        echo $error."<br /><br />";
        echo "Niet alle velden zijn ingevuld.<br /><br />";
        die();
    }
    
    // validation expected data exists
    if(!isset($_POST['first_name']) ||
        !isset($_POST['last_name']) ||
        !isset($_POST['email']) ||
        !isset($_POST['telephone']) ||
        !isset($_POST['comments'])) {
        died('Het spijt ons, er is een probleem opgetredn bij het verzenden van het formulier.');       
    }
    
    $first_name = $_POST['first_name']; // verplicht
    $last_name = $_POST['last_name']; // verplicht
    $email_from = $_POST['email']; // verplicht
    $telephone = $_POST['telephone']; // niet verplicht
    $comments = $_POST['comments']; // verplicht
    
    $error_message = "";
    $email_exp = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$";
  if(!eregi($email_exp,$email_from)) {
    $error_message .= 'De bedrijfsnaam is niet geldig.<br />';
  }
    $string_exp = "^[a-z .'-]+$";
  if(!eregi($string_exp,$first_name)) {
    $error_message .= 'De naam is niet geldig.<br />';
  }
  if(!eregi($string_exp,$last_name)) {
    $error_message .= 'Het email adres is niet geldig.<br />';
  }
  if(strlen($comments) < 2) {
    $error_message .= 'Uw vraag(en) zijn niet geldig.<br />';
  }
  $string_exp = "^[0-9 .-]+$";
  if(!eregi($string_exp,$telephone)) {
    $error_message .= 'Het telefoonnummer is niet geldig.<br />';
  }
  if(strlen($error_message) > 0) {
    died($error_message);
  }
    $email_message = "Gegevens formulier.\n\n";
    
    function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }
    
    $email_message .= "Bedrijfsnaam: ".clean_string($first_name)."\n";
    $email_message .= "Naam: ".clean_string($last_name)."\n";
    $email_message .= "Email: ".clean_string($email_from)."\n";
    $email_message .= "Telefoonnummer: ".clean_string($telephone)."\n";
    $email_message .= "Bericht: ".clean_string($comments)."\n";
    
    
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);  
?>

Thank you for your interest, I will contact you as quickly as possible.




<a href="javascript:history.back(-1)">Back</a>
<?
}
?>


Eeuwige dank wie me hiermee kan helpen. :+

Intel 14700K | Asus ROG Strix z790 GAMING WIFI | 32GB 7200MHZ | ASUS ProArt RTX 4070 SUPER | Fractal North | CORSAIR RM750 | Samsung 2.5TB NVME | Samsung Odyssey G8 OLED


  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Waar loop je spaak, omschrijf dat eens? Of krijg je bijvoorbeeld een foutmelding? Zo ja, welke? Daarnaast is een @ voor een functie terwijl je aan het debuggen bent natuurlijk ook weinig zinvol... ;) Wat heb je zoal ook al geprobeerd om het op te lossen?

Naast dat je voor bepaalde velden filtert, zou ik ook strip_tags() of htmlspecialchars() gebruiken over in ieder geval $email_message, je wilt de mail immers toch als plain-text als ik je code zo zie.

En vergeet een recapcha niet!

[ Voor 18% gewijzigd door CH4OS op 17-07-2012 21:54 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Wat je vooral verkeerd doet is 't niet hanteren van onze Quickstart en van ons verwacht dat we wel even uitpuzzelen wat er mis is (komaan, 't minste wat je had kunnen doen is omschrijven wat er niet werkt...) en 't dan voor je oplossen (Kan iemand even...?) ;)

Oh, en dan heb je Waar hoort mijn topic? ook nog gemist :P

Tot slot: we doen hier sowieso niet aan support op code van derden; maar een simpele google query had je dit opgeleverd:
http://www.html-site.nl/forum/11_28090_0.html
http://www.phphulp.nl/php...actscript-probleem/72264/
http://www.helpmij.nl/for...608929-Hulp-met-formulier

[ Voor 61% gewijzigd door RobIII op 17-07-2012 22:27 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Dit topic is gesloten.