Na invullen formulier en koppelen database ook Email

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rob Peres

Rob Peres

17/07/2011 19:18:47
Quote Anchor link
Goedenavond,

Ben al aardig wat uurtjes bezig om te zoeken naar bruikbare informatie voor mijn probleem maar kan niets bruikbaars vinden (wat ik snap dan)

ik heb een formulier op de site staan. na het invullen zorgt de Submit knop ervoor dat de gegevens worden gecontroleerd en indien akkoord naar de Mysql database worden geschreven. Prima.
Maar nu moet ik zelf telkens controleren of er iemand het formulier heeft ingevuld.

Vraag: ik wil graag dat er na het versturen van de gegevens naar de database een email wordt verstuurd naar een/mijn emailadres welke mij dus bevestigt dat er een formulier is ingevuld! (mail hoeft niet perse de ingevulde gegevens te bevatten)

toevoegen.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
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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
<?php
if(mysql_connect('localhost','*********','*********'))
  {

    mysql_select_db('********_formulier') or die(mysql_error());
  }

else
  {
    echo 'Kan geen verbinding maken';
    exit;
  }



if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST))
  {

    $aFouten = array();
    if($_POST['voornaam'] == '')
      {

        $aFouten[] = 'Je hebt geen naam ingevuld';
      }

    if($_POST['achternaam'] == '')
      {

        $aFouten[] = 'Je hebt geen achternaam ingevuld';
      }

    if($_POST['leeftijd'] == '' || !is_numeric($_POST['leeftijd']))
      {

        $aFouten[] = 'Je hebt een ongeldig geboortejaar (alleen jaar invullen)  ingevuld';
      }

    if($_POST['Vestigingsplaats'] == '')
      {

        $aFouten[] = 'Je hebt geen vestigingsplaats ingevuld';
      }

      if($_POST['Email'] == '')
      {

        $aFouten[] = 'Je hebt geen geldig Email-adres ingevuld ingevuld';
      }

if($_POST['Mobiel'] == '')
      {

        $aFouten[] = 'Je hebt geen geldig mobiel nummeringevuld';
      }

if($_POST['Nationaliteit'] == '')
      {

        $aFouten[] = 'Je hebt geen juiste Nationaliteit ingevuld';
      }

if($_POST['Voertuig'] == '')
      {

        $aFouten[] = 'Je hebt geen juist voertuig ingevuld';
      }

if($_POST['Bouwjaar'] == '')
      {

        $aFouten[] = 'Je hebt geen correct bouwjaar ingevuld';
      }

if($_POST['Kenteken'] == '')
      {

        $aFouten[] = 'Je hebt geen juist kenteken ingevuld';
      }

if($_POST['inlognaam'] == '')
      {

        $aFouten[] = 'Inlog naam niet bij ons bekend';
      }

if($_POST['passwoord'] == '')
      {

        $aFouten[] = 'Verkeerd wachtwoord ingevoerd';
      }


    


   if(count($aFouten) != 0)
          {

            echo 'De volgende fouten zijn opgetreden: <br /><br />';
            for($Fi = 0; $Fi < count($aFouten); $Fi++)
              {

                echo $aFouten[$Fi].'<br />';
              }

            echo '<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te keren';
          }

        else
          {
         mysql_query("INSERT INTO formulier (voornaam,achternaam,leeftijd,Vestigingsplaats,Email,mobiel,Nationaliteit,Voertuig,Bouwjaar,Kenteken,inlognaam,passwoord)
VALUES
('"
.addslashes($_POST['voornaam'])."',
'"
.addslashes($_POST['achternaam'])."',
'"
.addslashes($_POST['leeftijd'])."',
'"
.addslashes($_POST['Vestigingsplaats'])."',
'"
.addslashes($_POST['Email'])."',
'"
.addslashes($_POST['Mobiel'])."',
'"
.addslashes($_POST['Nationaliteit'])."',
'"
.addslashes($_POST['Voertuig'])."',
'"
.addslashes($_POST['Bouwjaar'])."',
'"
.addslashes($_POST['Kenteken'])."',
'"
.addslashes($_POST['inlognaam'])."',
'"
.$_POST['passwoord']."')") or die (mysql_error());
          
          echo 'De gegevens zijn succesvol opgeslagen in de database';
          }
      
  }

else
  {
?>


<form action=" <?=$_SERVER['PHP_SELF']?> " method="POST">

<br><br><br>


<table width="450px">
</tr>
<tr>
 <td valign="top">
  <label for="voornaam">Voornaam *</label>
 </td>
 <td valign="top">
  <input  type="text" name="voornaam" maxlength="50" size="30">
 </td>
</tr>
</tr>
<tr>
 <td valign="top">
  <label for="achternaam">Achternaam *</label>
 </td>
 <td valign="top">
  <input  type="text" name="achternaam" maxlength="50" size="30">
 </td>
</tr>
</tr>
<tr>
 <td valign="top">
  <label for="leeftijd">Geboortejaar *</label>
 </td>
 <td valign="top">
  <input  type="text" name="leeftijd" maxlength="50" size="30">
 </td>
</tr>
</tr>
<tr>
 <td valign="top">
  <label for="Vestigingsplaats">Vestigingsplaats *</label>
 </td>
 <td valign="top">
  <input  type="text" name="Vestigingsplaats" maxlength="50" size="30">
 </td>
</tr>
</tr>
<tr>
 <td valign="top">
  <label for="Email">Email *</label>
 </td>
 <td valign="top">
  <input  type="text" name="Email" maxlength="50" size="30">
 </td>
</tr>
</tr>
<tr>
 <td valign="top">
  <label for="Mobiel">Mobiel *</label>
 </td>
 <td valign="top">
  <input  type="text" name="Mobiel" maxlength="50" size="30">
 </td>
</tr>
</tr>
<tr>
 <td valign="top">
  <label for="Nationaliteit">Nationaliteit *</label>
 </td>
 <td valign="top">
  <input  type="text" name="Nationaliteit" maxlength="50" size="30">
 </td>
</tr>
<tr>
 <td valign="top">
  <label for="Voertuig">Voertuig+Kleur *</label>
 </td>
 <td valign="top">
  <input  type="text" name="Voertuig" maxlength="50" size="30">
 </td>
</tr>
<tr>
 <td valign="top">
  <label for="Bouwjaar">Bouwjaar *</label>
 </td>
 <td valign="top">
  <input  type="text" name="Bouwjaar" maxlength="50" size="30">
 </td>
</tr>
<tr>
 <td valign="top">
  <label for="Kenteken">Kenteken *</label>
 </td>
 <td valign="top">
  <input  type="text" name="Kenteken" maxlength="50" size="30">
 </td>
</tr>
<tr>
 <td valign="top">
  <label for="inlognaam">Geef een Inlog-naam</label>
 </td>
 <td valign="top">
  <input  type="text" name="inlognaam" maxlength="50" size="30">
 </td>
</tr>
<tr>
 <td valign="top">
  <label for="passwoord">Wachtwoord: min. 1 cijfer + hoofdletter(voorbeeld Marco102)</label>
 </td>
 <td valign="top">
  <input  type="text" name="passwoord" maxlength="50" size="30">
 </td>
</tr>



</table>





<input type="submit" name="verzenden" value="verzenden">
<br><br>Na ontvangst van Uw gegevens worden deze binnen 48 uur gecontroleerd en geactiveerd! Hierna kunt U inloggen.
</form>
<?
  }
?>
 
PHP hulp

PHP hulp

21/12/2024 17:34:26
 
Dennis meijer

dennis meijer

17/07/2011 19:21:55
Quote Anchor link
Dat kan heel makkelijk met deze functie Link

Gewoon een Mail() functie toevoegen dus.
 
Rob Peres

Rob Peres

17/07/2011 19:27:18
Quote Anchor link
Hahahaha.

Beste Dennis,


super bedankt voor je snelle reactie maar uh....

Dit soort dingen heb ik vast ook gezien tijdens de afgelopen uren zoeken. Voor jou waarschijnlijk allemaal abc maar waar voeg ik dit toe dan/

Moet ik een apart php bestandje maken en aanroepen of kan ik gewoon ergens iets op mijn toevoegen.php plakken.

Sorry hoor, maar ik heb mijn site met heel veel vallen en heeeel veel opstaan in elkaar geknutseld. (Ik leer wel iedere keer bij gelukkig)

Rob
 
Noppes Homeland

Noppes Homeland

17/07/2011 19:35:06
Quote Anchor link
Je denkt dat je aardig opweg bent, maar er mankeert nog wel het een en ander aan je code.

En als je wilt gaan mailen, kan je beter een mail-class implementer dan zelf het wiel opnieuw uit te gaan vinden.
- SwiftMailer
- PHP Mailer

-------------------
- empty is een zinloze functie!
- je vergeet te controleren of de $_POST[<veld>] bestaat de ja of de nee.
- addslashes heb je niet nodig en zeer zeker niet bij het inserten van data in de database tabel, gebruik _real_escape_string
- or die() is geen fatsoenlijke foutafhandeling! Je dient een alternatief aan te bieden als het ergens op 1 of andere manier fout gaat.
- is_numeric is ook niet de juiste manier om leefttijd in gehele jaren mee te controleren, gebruik ctype_digit
- die for loop om fouten te tonen is overbodig, je kan net zo goed de <br /> bij de string opnemen en als je fouten constateerd dan is het een kwestie van explode
- en pleur geen password ongecodeerd de database in
 
Rob Peres

Rob Peres

17/07/2011 19:48:12
Quote Anchor link
Bedankt (denk ik?)
Ik heb de getoonde code in elkaar geknutseld met de nodige hulp van leden van dit forum.
Ik begrijp dat de oplossing van Dennis (op mijn echte vraag) dus geen oplossing is?

(en password wordt automatisch gecodeerd als deze in de database gaat?)
de _real_escape_string moet ik idd doen om e.e.a. ook veiliger te maken
 
Noppes Homeland

Noppes Homeland

17/07/2011 20:23:45
Quote Anchor link
Quote:
Ik begrijp dat de oplossing van Dennis (op mijn echte vraag) dus geen oplossing is?

Nee dat is geen oplossing, tenzij jij alle ins en outs weet van mail-headers en ook nog eens weet wat welke mail-client wel kan en niet kan.

Quote:
en password wordt automatisch gecodeerd als deze in de database gaat?)

Hoe kom je daar nu bij? Ik haal het toch echt niet aan voor de KzK.
 
Rob Peres

Rob Peres

17/07/2011 20:35:46
Quote Anchor link
Ok.
Wat ik weet is dat de wachtwoorden voor mij in de database ,alleen gecodeerd te zien zijn. Enige wat ik zie is de hint. zitten nogal wat ge-include php.bestandjes achter.

Ik heb meerdere formulieren op deze site die allemaal keurig netjes per email worden verstuurd. dacht dat het wellicht eenvoudig zou zijn een 2e action aan een submit button toe te voegen; dus eerst naar de dbase laden en vervolgens een email sturen naar [email protected] of zo.
 
Obelix Idefix

Obelix Idefix

17/07/2011 20:45:20
Quote Anchor link
Het is ook eenvoudig om na (of desnoods voor) het muteren van gegevens in de database een mail te sturen. Werd al eerder verwezen naar phpmailer/swiftmailer.
 
Rob Peres

Rob Peres

17/07/2011 20:48:14
Quote Anchor link
Zit me er nu in te verdiepen.
Valt af en toe niet mee om hulp te vragen en alleen technische termen en onnodig scherpe kritiek te krijgen. De genoemde verwijzing naar phpmailer was wel opbouwend, dus ga daar eerst mee verder.

Bedankt
 
Obelix Idefix

Obelix Idefix

17/07/2011 21:07:12
Quote Anchor link
Autorijden gaat ook niet vanzelf. Je begint vaak met theorie en met een instructeur naast je begin je voorzichtig (op een afgesloten terrein) met je 1e rijles. Allerlei termen komen voorbij, je moet aan allerlei dingen denken. En zelfs als je je rijbewijs hebt, slaat je de motor nog wel eens af of maak je een inschattingsfout.

PHP is enigszins vergelijkbaar. De 1e keer maak je fouten. Die keren daarna vast ook nog wel, maar aldoende leer je.

Noppes is meestal kort en bondig in zijn opmerkingen, maar neem zijn adviezen wel ter harte. Je kunt er alleen maar beter van worden.

Vragen staat vrij. Post dan aub wel alleen relevante code. 225 regels is wat veel gezien je vraag.
 
Rob Peres

Rob Peres

17/07/2011 21:09:41
Quote Anchor link
Goede raad. Bedankt daarvoor.
Ook Noppes bedankt, ga ermee aan de gang en kom ongetwijfeld nog een keer terug.
 



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.