Het gebruik van een databank en PHP voor het automatiseren van webinhouden, wordt pas echt zinvol als je op een gebruiksvriendelijke manier inhoud kan toevoegen aan de databank.

In deze les maken we een HTML-formulier waarin de eindgebruiker de benodigde informatie kan invoeren. Het formulier bevat een "verzendknop". Wanneer de gebruiker daarop klikt, stuurt hij/zij de inhoud van het formulier naar een PHP-bestand op de server. Dat bestand zal de verzonden informatie uitlezen en invoegen in de juiste kolommen in de tabel (articles) in de databank.

INSERT INTO persons (first_name, last_name, email) VALUES ('$first_name', '$last_name', '$email')";

Bewaar de waarde in een php variabele via de method POST

$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email = $_POST['email'];

INSERT INTO persons (first_name, last_name, email) VALUES ('$first_name', '$last_name', '$email')";
	

head

Voeg onderstaande code toe aan je detail.php in je head-tag.

<?php
include "connect.php"; 
$id = $_GET['id'];

//Selecteer je tabelnaam"; 
$sql = "SELECT * FROM Webshop_Bo WHERE id='$id'"; 
$result = mysqli_query($conn, $sql) or die(mysqli_error($conn)); 
$num_results = mysqli_num_rows($result);
$row = mysqli_fetch_assoc($result);	
		
// controleer of de knop send is aangeklikt, zo ja verzend de items naar de database
   if(isset($_POST['submit'])){
        
  // Formulier items bewaren
	$id_artikel = $_POST['id'];
	$datum = $_POST['datum'];
	$titel_product = $_POST['titel'];
	$prijs = $_POST['prijs'];
	$aantal = 1;
	$foto = $_POST['foto'];
	
//Selecteer je tabelnaam"; 
$sql2 = "INSERT INTO Order_Bo (id_artikel, naam, adres, gemeente, email, datum, aantal, titel_product, prijs, foto) VALUES ('$id_artikel', '', '', '', '', '$datum', '$aantal', '$titel_product', '$prijs', '$foto')"; 		

  if (!mysqli_query($conn, $sql2)) {
         die('An error occurred when submitting your review.');
      } 
} 
?>

In je HTML-code voeg je een knop order toe

	
<form action="detail.php?id=<?php echo $id?>" method="POST" enctype="multipart/form-data">
	
	<input type="hidden" value="<?php echo date('Y-m-d h:i:s')?>" name="datum">
	<input type="hidden" value="<?php echo $row['id']; ?>" name="id">
	<input type="hidden" value="<?php echo $row['titel']; ?>" name="titel">
	<input type="hidden" value="<?php echo $row['prijs']; ?>" name="prijs">
	<input type="hidden" value="<?php echo $row['foto']; ?>" name="foto">

	<input type="submit" value="order" name="submit">

</form>

De volledige HTML-structuur errond ziet zo uit:

	 <div class="products">

 		<img src="Files/Producten/<?php echo $row['foto'];?>" width="200" style="margin-right:20px">

    <div id="kolomRechts"> 
        
			<span class="price">€ <?php echo $row["prijs"];?> </span> <br/>
		 	<span class="name"> <?php echo $row["omschrijving"];?> </span>
			
			// formulier code zoals hierboven vermeld
			<form> ... </form>

   </div> <!---sluit kolomRechts -->
		
</div> <!---sluit .products -->	
	

Tabel

Als alles goed verloopt komt het terecht in de tabel 'order'.

MAIL functie

Maak eerst een standaardformulier op. Geef standaard het formulier weer als er nog niet geklikt is, als er geklikt is op de verzendknop verschijnt er een echo met een bedankingsboodschap.

<?php
	// als er nog niet gepost is
  if(!isset($_POST['submit'] )){ ?>
		<form action="" method="POST" enctype=“multipart/form-data">
			// hier komen je formuliervelden …
 			<input type="submit" value="bestel" name=“submit">
		</form>
 <?php 
 	} 
	// als er wel al gepost is
      else {
   			echo " <h3>Bedankt! </h3> <p> Tot binnenkort! </p>";
				echo " <p>Voornaam: “.$voornaamUitgenodigde." <br/>";
				
				//wijzig onderstaande lijn naar je eigen e-mailadres
        $email_to = "info@mail.be";
        $email_subject = "Your email subject line";
				$email_message = "Boodschap: ".clean_string($boodschap)."\n";
				
				// create email headers
        $headers = 'From: '.$email."\r\n".'Reply-To: '.$email."\r\n" .'X-Mailer: PHP/' . phpversion();
       	@mail($email_to, $email_subject, $email_message, $headers);  
                                         
}            
?>