Enquete verzenden met php bestand werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johan Smit

Johan Smit

25/10/2013 11:04:16
Quote Anchor link
Goedemorgen,

Ik wil een enquete afnemen onder klanten. Nu heb ik een formulier uitgeschreven. Nu wil ik graag dat wanneer men na het invullen op de verzendbutton klikt, het ingevulde formulier direct verzonden wordt naar mij. Maar ik krijg dit nog niet klaar gespeeld. Als ik nu op verzend klik(met in post2.php het goede emailadres), krijg ik het post2.php bestand in mijn browser te zien..

Heeft iemand een oplossing? Ik ben nieuw hier en heb niet heel veel verstand van php.

Hieronder heb ik mijn enquete en post.php document geplaatst:

Enquete:
Code (html)
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<html>
<head>
<title>Enqûete blablabla</title>


</head>
<body>

<div id="main">


<style>

#main {
width: 720px;
margin: 20px;
text-align: left;
}



p {
color:#666666;
font-family: Helvetica;
font-size:15px;
font-weight:normal;
font-style:normal;
}

p2 { color:#666666;
font-family: Helvetica;
font-size:15px;
font-weight:normal;
font-style:normal;
}

p32 {
color:#666666;
font-family: Helvetica;
font-size:14px;
font-weight:bold;
font-style:normal;
}

H3 {
color:#666666;
font-family: Helvetica;
font-size:14px;
font-weight:bold;
font-style:normal;
}



</style>



<p>
Wij zijn benieuwd wat jouw mening is over blablabla.</br>
Vul de enquête voor 31 oktober 2013 in en maak kans op één van de kadobonnen waarmee je </br>
gratis een nieuw blablabla aan kunt maken.</br>
Ook leuk om weg te geven en een ander kennis te laten maken met blablabla! </br>
Het invullen kost nog geen 5 minuten en je maakt ons er heel blij mee.


</br>
</br>

<form method="post" action="post2.php" >


<h3>1. Wat was je verwachting bij het maken van je blablabla en voldoet het product daaraan?</h3>
<textarea name="Vraag_1" rows="3" cols="75" maxlength="400">
</textarea>


<h3>2. Wat vind je goed aan het product?</h3>
<textarea name="Vraag_2" rows="3" cols="75" maxlength="400">
</textarea>


<h3>3. Wat is jouw tip voor het verbeteren van ons product?</h3>
<textarea name="Vraag_3" rows="3" cols="75" maxlength="400">
</textarea>

</br>

<h3>4. Wat vind je van het maken van een blablabla?</h3>
<p>
<input type="radio" name="Vraag_4" value="Heel moeilijk en niet gebruiksvriendelijk"> Heel moeilijk en niet gebruiksvriendelijk</br>
<input type="radio" name="Vraag_4" value="Moeilijk"> Moeilijk</br>
<input type="radio" name="Vraag_4" value="De eerste keer is het lastig maar nu zou het me makkelijker af gaan"> De eerste keer is het lastig maar nu zou het me makkelijker af gaan</br>
<input type="radio" name="Vraag_4" value="Makkelijk en gebruiksvriendelijk"> Makkelijk en gebruiksvriendelijk</br>
<input type="radio" name="Vraag_4" value="Heel eenvoudig en heel gebruiksvriendelijk"> Heel eenvoudig en heel gebruiksvriendelijk</br>

</br>

Toelichting:</br>
<textarea name="toelichting1" rows="3" cols="75" maxlength="400">
</textarea>
</p>


<h3>5. Wat vind je van de prijs-kwaliteitverhouding? </h3>
<p>
<input type="radio" name="Vraag_5" value="Het product is veel te duur"> Het product is veel te duur</br>
<input type="radio" name="Vraag_5" value="Het product is duur"> Het product is duur</br>
<input type="radio" name="Vraag_5" value="Het product is niet duur en niet goedkoop"> Het product is niet duur en niet goedkoop</br>
<input type="radio" name="Vraag_5" value="Het product is goedkoop"> Het product is goedkoop</br>
<input type="radio" name="Vraag_5" value="Het product is heel goedkoop"> Het product is heel goedkoop</br>


</br>

Toelichting:</br>
<textarea name="toelichting2" rows="3" cols="75" maxlength="400">
</textarea>
</p>


<h3>Wat is je geslacht?</h3>
<p><input type="radio" name="Geslacht" value="Man"> Man</br>
<input type="radio" name="Geslacht" value="Vrouw"> Vrouw</br>
</p>


<h3>Wat is je leeftijd?</h3>
<p><input type="text" size="2" maxlength="2" name="leeftijd"> jaar
</p>


<p32>Wat is je e-mailadres?</p32><p2> Deze gebruiken wij voor het versturen van de kadobonnen.</p2></br>
<input type="text" size="50" maxlength="50" name="email">


<input type="submit" name="Verzenden" value="Verzenden"></br>
<h3>Hartelijk dank voor het invullen van de enquete. Wij maken de winnaars van de kadobonnen bekend tussen 1 - 8 november.</h3>
</form>

</p>

</div>

</body>


</html>

En het post2.php bestand:

Code (post2.php) (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
    
$message
= $_POST['Vraag_1'], $_POST['Vraag_2'], $_POST['Vraag_3'], $_POST['Vraag_4'], $_POST['toelichting1'], $_POST(['Vraag_5'], $_POST['toelichting2'], $_POST['geslacht'], $_POST['leeftijd'], $_POST['email'];

mail('[email protected]', $message);

echo "De e-mail is verstuurd.";

?>


Even de HTML-code tussen de code-tags gezet[/modedit]
Gewijzigd op 25/10/2013 23:08:17 door Nick Dijkstra
 
PHP hulp

PHP hulp

22/12/2024 19:25:57
 
Michael -

Michael -

25/10/2013 13:44:01
Quote Anchor link
Johan Smit op 25/10/2013 11:04:16:
krijg ik het post2.php bestand in mijn browser te zien..


Wat bedoel je hier eigenlijk mee? Wordt het niet als PHP uitgevoerd?

Met PHP kan je als volgt een formulier posten
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    echo 'Jou naam is ' . $_POST['naam']; // Jou naam is Johan
}

echo '<form method="POST">'.
'<input type="TEXT" name="naam" value="Johan" />'.
'<button>Post</button>'.
'</form>';
?>
 
Johan Smit

Johan Smit

25/10/2013 13:52:05
Quote Anchor link
Wanneer ik nu op de verzendbutton klik, verschijnt de code van het php-bestand in beeld.
Maar mijn gewenste actie is: automatisch een mail versturen naar mijn e-mailadres, zonder tussenkomst van een pop-up. Nu had ik op verschillende fora gelezen dat dat met behulp van een php-bestandje kan.
Maar bij "werkt" het niet, het voert zich niet als php uit.
 
Jack Maessen

Jack Maessen

25/10/2013 14:21:53
Quote Anchor link
Heb even geknutseld om er iets moois van te maken:
jouw post2.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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?php
$ontvanger
= '[email protected]'; // HIER JOUW EMAIL INVULLEN
$onderwerp = 'Enqueteformulier'; // onderwerp van de email
$email = $_POST['email'];


// radios checken vraag 4
$vraag_4 = 0;
if($_POST['vraag_4'] == 'heel_moeilijk') {
$vraag_4 = 'Heel moeilijk en niet gebruiksvriendelijk';
}

elseif($_POST['vraag_4'] == 'moeilijk') {
$vraag_4 = 'Moeilijk';
}

elseif($_POST['vraag_4'] == 'lastig') {
$vraag_4 = 'De eerste keer is het lastig maar nu zou het me makkelijker af gaan';
}

elseif($_POST['vraag_4'] == 'makkelijk') {
$vraag_4 = 'Makkelijk en gebruiksvriendelijk';
}

elseif($_POST['vraag_4'] == 'heel_makkelijk') {
$vraag_4 = 'Heel eenvoudig en heel gebruiksvriendelijk';
}


// radios checken vraag 5
$vraag_5 = 0;
if($_POST['vraag_5'] == 'te_duur') {
$vraag_5 = 'Het product is veel te duur';
}

elseif($_POST['vraag_5'] == 'duur') {
$vraag_5 = 'Het product is duur';
}

elseif($_POST['vraag_5'] == 'gemiddeld') {
$vraag_5 = 'Het product is niet duur en niet goedkoop';
}

elseif($_POST['vraag_5'] == 'goedkoop') {
$vraag_5 = 'Het product is goedkoop';
}

elseif($_POST['vraag_5'] == 'heel_goedkoop') {
$vraag_5 = 'Het product is heel goedkoop';
}


// geslacht bepalen
$geslacht = 0;
if($_POST['geslacht'] == 'man') {
$geslacht = 'Man';
}

elseif($_POST['geslacht'] == 'vrouw') {
$geslacht = 'Vrouw';
}


// overige vragen definieren/ toelichting/ leeftijd
$vraag_1 = $_POST['vraag_1'];
$vraag_2 = $_POST['vraag_2'];
$vraag_3 = $_POST['vraag_3'];
$toelichting_1 = $_POST['toelichting_1'];
$toelichting_2 = $_POST['toelichting_2'];
$leeftijd = $_POST['leeftijd'];

 
// body voor de email opmaken
$body = "";

$body .= "Persoonlijke gegevens:\n\n";
$body .= "Sekse: ";
$body .= $geslacht;
$body .= "\n";
$body .= "Leeftijd: ";
$body .= $leeftijd;
$body .= "\n";
$body .= "Email: ";
$body .= $email;
$body .= "\n\n";

$body .= "Antwoorden:\n\n";
$body .= "Antwoord vraag 1: ";
$body .= $vraag_1;
$body .= "\n";
$body .= "Antwoord vraag 2: ";
$body .= $vraag_2;
$body .= "\n";
$body .= "Antwoord vraag 3: ";
$body .= $vraag_3;
$body .= "\n";
$body .= "Antwoord vraag 4: ";
$body .= $vraag_4;
$body .= "\n";
$body .= "Toelichting bij vraag 4: ";
$body .= $toelichting_1;
$body .= "\n";
$body .= "Antwoord vraag 5: ";
$body .= $vraag_5;
$body .= "\n";
$body .= "Toelichting bij vraag 5: ";
$body .= $toelichting_2;
$body .= "\n";


// check of submitter een robot is
if($_POST['robot'] != "test_spambot") {
    die();                    
}

else {
// email verzenden
$formsent = mail($ontvanger, $onderwerp, $body, 'From:'.$email);
}


// echo's als verzenden goed of fout is gegaan
if ($formsent){
  echo '<h3>Hartelijk dank voor het invullen van de enquete. Wij maken de winnaars van de kadobonnen bekend tussen 1 - 8 november.</h3>';
}

else{
  echo 'Versturen is mislukt. Probeer het later nog eens';
}


 
?>


En je form:
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<html>
<head>
<title>Enqete blablabla</title>


</head>
<body>

<div id="main">


<style>

#main {
width: 720px;
margin: 20px;
text-align: left;
}



p {
color:#666666;
font-family: Helvetica;
font-size:15px;
font-weight:normal;
font-style:normal;
}

p2    { color:#666666;
font-family: Helvetica;
font-size:15px;
font-weight:normal;
font-style:normal;
}

p32 {
color:#666666;
font-family: Helvetica;
font-size:14px;
font-weight:bold;
font-style:normal;
}

H3 {
color:#666666;
font-family: Helvetica;
font-size:14px;
font-weight:bold;
font-style:normal;
}



</style>



<p>
Wij zijn benieuwd wat jouw mening is over blablabla.</br>
Vul de enqute voor 31 oktober 2013 in en maak kans op n van de kadobonnen waarmee je </br>
gratis een nieuw blablabla aan kunt maken.</br>
Ook leuk om weg te geven en een ander kennis te laten maken met blablabla! </br>
Het invullen kost nog geen 5 minuten en je maakt ons er heel blij mee.


</br>
</br>

<form method="post" action="post2.php" >

<input type="text" style="display: none;" name="robot" value="test_spambot" />

<h3>1. Wat was je verwachting bij het maken van je blablabla en voldoet het product daaraan?</h3>
<textarea name="vraag_1" rows="3" cols="75" maxlength="400">
</textarea>


<h3>2. Wat vind je goed aan het product?</h3>
<textarea name="vraag_2" rows="3" cols="75" maxlength="400">
</textarea>


<h3>3. Wat is jouw tip voor het verbeteren van ons product?</h3>
<textarea name="vraag_3" rows="3" cols="75" maxlength="400">
</textarea>

</br>

<h3>4. Wat vind je van het maken van een blablabla?</h3>
<p>
<input type="radio" name="vraag_4" value="heel_moeilijk"> Heel moeilijk en niet gebruiksvriendelijk</br>
<input type="radio" name="vraag_4" value="moeilijk"> Moeilijk</br>
<input type="radio" name="vraag_4" value="lastig"> De eerste keer is het lastig maar nu zou het me makkelijker af gaan</br>
<input type="radio" name="vraag_4" value="makkelijk"> Makkelijk en gebruiksvriendelijk</br>
<input type="radio" name="vraag_4" value="heel_makkelijk"> Heel eenvoudig en heel gebruiksvriendelijk</br>

</br>

Toelichting:</br>
<textarea name="toelichting_1" rows="3" cols="75" maxlength="400">
</textarea>
</p>


<h3>5. Wat vind je van de prijs-kwaliteitverhouding? </h3>
<p>
<input type="radio" name="vraag_5" value="te_duur"> Het product is veel te duur</br>
<input type="radio" name="vraag_5" value="duur"> Het product is duur</br>
<input type="radio" name="vraag_5" value="gemiddeld"> Het product is niet duur en niet goedkoop</br>
<input type="radio" name="vraag_5" value="goedkoop"> Het product is goedkoop</br>
<input type="radio" name="vraag_5" value="heel_goedkoop"> Het product is heel goedkoop</br>


</br>

Toelichting:</br>
<textarea name="toelichting_2" rows="3" cols="75" maxlength="400">
</textarea>
</p>


<h3>Wat is je geslacht?</h3>
<p><input type="radio" name="geslacht" value="man"> Man</br>
<input type="radio" name="geslacht" value="vrouw"> Vrouw</br>
</p>


<h3>Wat is je leeftijd?</h3>
<p><input type="text" size="2" maxlength="2" name="leeftijd"> jaar
</p>


<p32>Wat is je e-mailadres?</p32><p2> Deze gebruiken wij voor het versturen van de kadobonnen.</p2></br>
<input type="text" size="50" maxlength="50" name="email">


<input type="submit" name="verzenden" value="Verzenden"></br>

</form>

</p>

</div>

</body>


</html>
 
Michael -

Michael -

25/10/2013 14:43:02
Quote Anchor link
Johan Smit op 25/10/2013 13:52:05:
Wanneer ik nu op de verzendbutton klik, verschijnt de code van het php-bestand in beeld.
Maar mijn gewenste actie is: automatisch een mail versturen naar mijn e-mailadres, zonder tussenkomst van een pop-up. Nu had ik op verschillende fora gelezen dat dat met behulp van een php-bestandje kan.
Maar bij "werkt" het niet, het voert zich niet als php uit.

Met mijn voorbeeld krijg je dan ook de PHP code te zien ipv de zin 'Jou naam is Johan' ?
Lijkt erop dat jou server, of waar je het ook uitvoert, geen PHP ondersteund.
Je kunt PHP uitvoeren door naar een server te uploaden die PHP ondersteund of lokaal een server te installeren zoals AppServ of WampServer.
Je kunt PHP niet lokaal uitvoeren door het bestand gewoon te openen in je browser zoals bij HTML.
Edit:
Of USBWebServer als je niks wilt installeren, maar wel PHP wilt uitvoeren.
Gewijzigd op 25/10/2013 14:44:18 door Michael -
 
Johan Smit

Johan Smit

25/10/2013 14:59:38
Quote Anchor link
Zoals ik al dacht; ontzettend stom. Het uploaden heb ik inderdaad nog niet gedaan.

Wanneer het na het uploaden nog niet goed gaat meld ik het wel weer.
Hartelijk dank voor de hulp!
 
Pipo Clown

Pipo Clown

25/10/2013 15:10:13
Quote Anchor link
Wanneer ik het goed heb geef je zelf aan dat bij een submit van het HTML-form het bestand "post2.php" aangeroepen moet worden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<form method="post" action="post2.php" >


Dit betekend volgens mij ook dat je geen $_POST variabelen mee krijgt en dus ook geen form-gegevens.
 
Jack Maessen

Jack Maessen

25/10/2013 15:40:05
Quote Anchor link
Het post2.php bestand ziet er erg beroerd uit.
1. Het werkt niet omdat er een "," tussen de post variabelen in $message staat. Hier moet een "." tussen.
(zijn immers geen parameters).
2. de email heeft geen onderwerp maar nog erger: er is geen header waardoor die linea recta de spambox in verdwijnt.
3. in de email wordt alles achter mekaar geplakt waardoor je niet meer kan zien welk antwoord bij welke vraag gegeven is
4. er zit geen enkele foutafhandeling als het mailen door een of andere oorzaak is mislukt. Bezoekers worden hier niet op geattendeerd
 
Johan Smit

Johan Smit

25/10/2013 15:48:13
Quote Anchor link
Oke, dank. Ik ga het aanpassen!
 
Johan Smit

Johan Smit

31/10/2013 10:00:42
Quote Anchor link
Inmiddels heb ik de enquête en het php-bestand aangepast en geüpload op een lokale server. Maar hoe kan ik mijn enquête nu afnemen? Is mijn geüploade bestand enquete.htm nu ook te vinden via bijv. www.example.com/enquete.htm ? Ik kan het uiteraard wel vinden via ftp//:server01/In/enquete.htm, maar zo kan ik het niet afnemen.

Alvast bedankt voor de reacties!
 
Frank Nietbelangrijk

Frank Nietbelangrijk

31/10/2013 10:12:58
Quote Anchor link
Over het algemeen moet er in ftp een directory public_html te vinden zijn. Als. Je de bestanden daar in plaatst zullen ze onder domeinnaam.nl/bestand.htm te vinden zijn
 
Michael -

Michael -

31/10/2013 12:21:11
Quote Anchor link
Johan Smit op 31/10/2013 10:00:42:
Inmiddels heb ik de enquête en het php-bestand [knip] enquete.htm [knip]

Als jij een enquete bestand hebt met PHP code erin, kan deze niet een htm bestand zijn.
Sowieso is htm iets van vroeger en is het tegenwoordig html

Verder precies wat Frank zegt. Bij mij is deze map 'htdocs'. Ik gooi mijn bestanden in '/domains/website.nl/htdocs/www/' en deze kan ik dan openen vanaf www.website.nl
 



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.