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

<?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>
<?
  }
?> 
Dat kan heel makkelijk met deze functie Link

Gewoon een Mail() functie toevoegen dus.
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
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
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

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.


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.

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.

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.

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
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.
Goede raad. Bedankt daarvoor.
Ook Noppes bedankt, ga ermee aan de gang en kom ongetwijfeld nog een keer terug.

Reageren