Versio

Afzender is host ipv ingevuld emailadres?

Overzicht Reageren

Erick Schluter

Erick Schluter

12/10/2009 12:31:00
Quote Anchor link
Ik heb een formulier...dat wordt na op 'verstuur' te hebben gedrukt netjes wordt verzonden.

Echter eenmaal in mijn inbox is de afzender niet het emailadres dat op het formulier is ingevuld maar een adres dat te maken heeft met de host(?!).

Nu heb ik inmiddels de $_POST["email"] genoemd in de email-tekst...dus kan er worden gereageerd. Maar het is natuurlijk de bedoeling dat je in een emailprogramma of webmail kunt zeggen 'beantwoorden'.

Als je dit nu zou doen...stuur je een email aan een gek emailadres van de host...en dus moet je momenteel het emailadres dat wordt genoemd in de tekst kopieeren en plakken.

Weet iemand hoe dit komt? Zie hieronder de gebruikte 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
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
function valid_mail ($str) {
 return  (ereg ('(^[0-9a-zA-Z_\.-]{1,}@([0-9a-zA-Z_\-]{1,}\.)+[0-9a-zA-Z_\-]{2,}$)', $str));
}
function
valid_name ($str) {
 return  (ereg ('^[A-Za-z. -]+$', $str));
}


$_POST["naam"] = ucfirst($_POST["naam"]);

if ($_POST["verzendbutton"] != "Verstuur" || !valid_name($_POST["naam"]) || !valid_mail($_POST["email"]) || !$_POST["bericht"]) {
// dus als het formulier leeg is of een van de waarden niet is ingevuld

$verzendbutton        = $_POST["verzendbutton"];
$naam            = $_POST["naam"];
$adres            = $_POST["adres"];
$postcode_plaats    = $_POST["postcode_plaats"];
$email            = $_POST["email"];
$telefoon            = $_POST["telefoon"];
$bericht            = $_POST["bericht"];
?>

    
<form method="post" id="formulier" onsubmit="return check(this)" action="<?php $_SERVER["PHP_SELF"]; ?>">    

<fieldset>

<div style="text-align:right;padding:0 68px 10px 0;">Velden met een * zijn verplicht</div>

       <label>Bedrijfs naam:</label><input type="text" name="bedrijfsnaam" value="<?php echo $bedrijfsnaam ?>" size="25" maxlength="50" tabindex="1" />
  
       <br /><br />

<?php
    if ($_POST["verzendbutton"] && !valid_name($_POST["naam"])) {
        echo "<h4 class=\"error\">Vul a.u.b. uw naam in</h4><br />";
}

?>

    <label>Naam:*</label><input type="text" name="naam" value="<?php echo $naam ?>" size="25" maxlength="50" tabindex="2" />
  
       <br /><br />

<?php
    if ($_POST["verzendbutton"] && !valid_mail($_POST["email"])) {
        echo "<h4 class=\"error\">Vul a.u.b. een correct emailadres in</h4><br />";
}

?>

    <label>email:*</label><input type="text" name="email" value="<?php echo $email ?>" size="25" maxlength="50" tabindex="3" />

       <br /><br />

       <label>Adres:</label><input type="text" name="adres" value="<?php echo $adres ?>" size="25" maxlength="60" tabindex="4" />
  
       <br /><br />
  
       <label>Postcode / Plaats:</label><input type="text" name="postcode_plaats" value="<?php echo $postcode_plaats ?>" size="7" maxlength="7" tabindex="5" />
  
       <br /><br />
  
       <label>Telefoon:</label><input type="text" name="telefoon" value="<?php echo $telefoon ?>" size="10" maxlength="10" tabindex="6" />
       
       <br /><br />

<?php
    if ($_POST["verzendbutton"] && !$_POST["bericht"]) {
        echo "<h4 class=\"error\">Laat a.u.b. een bericht achter</h4><br />";
}

?>
  
    <label>Uw bericht:*</label><textarea name="bericht" rows="9" cols="30" tabindex="7"></textarea>

       <br /><br />

       <label>&nbsp;</label><input type="submit" value="Verstuur" name="verzendbutton" class="button" tabindex="8" />

</fieldset>

</form>
<?php
} else { // in alle andere gevallen (dus formulier verzonden!)
    $boodschap = "Naam: ".$_POST["naam"]."\nBericht: ".$_POST["bericht"]."\nEmailadres :" .$_POST["email"];
    mail($_POST["email"], "Bericht van de website", $boodschap);
    echo "<p class=\"bedankt_tekst\">Bedankt ".$_POST["naam"].",</p>";
    echo "<p class=\"bedankt_tekst\">Desgewenst zal zo spoedig mogelijk contact met u worden opgenomen.</p>";
    }

?>


Zie het echt eventjes niet meer...
 
PHP hulp

PHP hulp

23/05/2012 20:38:12
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
- SanThe -

- SanThe -

12/10/2009 13:05:00
 
Erick Schluter

Erick Schluter

12/10/2009 13:10:00
Quote Anchor link
Mmhh...oke...'Headers'...voeg ik die dan toe boven regel 78 in mijn voorbeeld code hierboven?
 
- SanThe -

- SanThe -

12/10/2009 13:14:00
Quote Anchor link
De 'headers' is de 4e parameter van mail().
 
Erick Schluter

Erick Schluter

12/10/2009 13:17:00
Quote Anchor link
Dus als volgt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$boodschap = "Naam: ".$_POST["naam"]."\nBericht: ".$_POST["bericht"]."\nEmailadres :" .$_POST["email"];
    mail($_POST["email"], "Bericht van de website", $boodschap, $headers);


...en dan de PHP van de PHP Wiki pagina erboven?
 
- SanThe -

- SanThe -

12/10/2009 13:23:00
Quote Anchor link
Ja. Controleer wel alle input van de gebruiker op correctheid i.v.m. email-injection.
 
Erick Schluter

Erick Schluter

12/10/2009 13:30:00
Quote Anchor link
Ik ben eruit denk ik...! Thanks!

Nu nog even focus op de controle van alle invoer inderdaad...momenteel worden alleen de verplichte velden gecontroleerd.

Gaat het zover wel goed dan? Qua controle van invoer...?
 
Erick Schluter

Erick Schluter

12/10/2009 14:10:00
Quote Anchor link
OEPS!

Het gaat toch niet helemaal goed...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
// De naam van de verzender
$naam_verzender = 'Afzender';
// Het geldige emailadres van de afzender
$email_verzender = 'emailadres_van_verzender@zijn_domein.nl';


Als ik dit aanpas in het volgende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
// De naam van de verzender
$naam_verzender = $_POST["naam"];
// Het geldige emailadres van de afzender
$email_verzender =  $_POST["email"];


dan werkt het niet echt...
 

12/10/2009 16:26:00
Quote Anchor link
Gelieve Niet Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de http://www.phphulp.nl/imgs/forum/edit.gif knop om je tekst aan te passen.


Dan is je naam of verzender niet kloppend. Of zit je toevallig op een Windhoos host?
 
Erick Schluter

Erick Schluter

12/10/2009 18:06:00
Quote Anchor link
Oh ja...bumpen...Excuus!

Chris...als ik $_POST["email"]; doe...en 'email' is de naam van het veld waar de afzender een emailadres invult...waarom is dit dan niet goed?

Met deze $_POST["email"]; kan ik wel het emailadres van de afzender presenteren in de verzonden email...deze is dus bekend en oke.

Ik snap dit echt niet..?!
 



Overzicht Reageren