Hallo,
Ik ben nieuw op het forum en ben net begonnen met het schrijven van een formulier script voor mijn website.
Voor velen van jullie zal dit een eenvoudig scrip zijn.
Dit script moet een aantal gegevens versturen waaronder een bericht.
Het onderstaande script werkt, ook het bericht wordt verstuurd.

<tr> 
      <td align="left" valign="top">Bericht:</td> 
      <td><textarea name="Bericht" rows="15" cols="40"></textarea></td> 
</tr> 


Ik wil echter in het bericht 15 kolommen maken, en dat lukt mij niet.
In deze kolommen moet een tekst ingevuld kunnen worden.
Ik hoop dat iemand mij verder kan helpen.

<!DOCTYPE HTML> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<title>Contact</title> 
<link rel="stylesheet" href="addStyle.css">
  <script src="p_specific.js"></script>
  <script src="p_general.js"></script>
</head> 
<body> 

<center>.
<h1>Inschrijfformulier</h1> 

<font color="#0404B4" size="5"><b>Le Franciscus Tour 2018</b></font>


<?php 


	
if (empty($_POST)) { 
    //formulier niet verzonden, geef formulier weer 
    ?> 
    <form action="Inschrijfformulier.php" method="post"> 
     
    
   <table border="0"> 
        <tr> 
            <td width="76">Vooraam:</td> 
            <td width="268"><input type="text" name="Voornaam"></td>
      </tr> 
         <tr> 
            <td>Achternaam:</td> 
            <td><input type="text" name="Achternaam"></td>
        </tr> 
        <tr> 
            <td>Email:</td> 
            <td><input type="text" name="Email"></td>
        </tr> 
        <tr> 
            <td>Telefoon:</td> 
            <td><input type="text" name="Telefoon"></td> 
        </tr> 
        <tr> 
            <td>Afdeling:</td> 
            <td><input type="text" name="Afdeling"></td>
        </tr> 
        <tr> 
            <td>Teamnaam:</td> 
            <td><input type="text" name="Teamnaam"></td>
        </tr> 
       <tr> 
            <td align="left" valign="top">Bericht:</td> 
         <td><textarea name="Bericht" rows="15" cols="40"></textarea></td> 
        </tr> 

        <tr> 
            <td>&nbsp;</td> 
            <td><input type="submit" value="Verzenden"></td> 
        </tr> 
    </table> 
     
    </form> 
    <?php 
} 
else { 
    //formulier wel verzonden, verzend bericht 
    //definieer verzendopties 
    $ontvanger = '[email protected]'; 
    $onderwerp = 'Inschrijving tdf spel 2018'; 
     
    //stel bericht op 
    $bericht = 'Voornaam: '.$_POST['Voornaam'].' 
	Achternaam: '.$_POST['Achternaam'].'
	Email: '.$_POST['Email'].'
	Telefoon: '.$_POST['Telefoon'].'
	Afdeling: '.$_POST['Afdeling'].'
    Teamnaam: '.$_POST['Teamnaam'].' 
     
    Bericht: '.$_POST['Bericht']; 
     
    //stel verzend-header op 
     $verzender = 'From: '.$_POST['Voornaam'].' '.$_POST['Achternaam'].' <'.$_POST['Email'].'>'; 
     
    //verzend bericht 
    if (mail($ontvanger, $onderwerp, $bericht, $verzender)) { 
        //succesmelding als correct verzonden 
        echo '<p>Bericht is succesvol verzonden.</p>'; 
		
    } 
    else { 
        //foutmelding als niet verzonden 
        echo '<p>Er is een fout opgetreden bij het verzenden van het bericht. Probeer het later nogmaals.</p>'; 
    } 
} 
?> 
</center>.
</body> 
</html>
Zou je jouw script tussen code-tags kunnen plaatsen? Dan is het beter leesbaarder. Zie ook de Veel Gestelde Vragen.

Bedoel je kolommen of rijen? Want 15 kolommen naast elkaar lijkt mij onoverzichtelijk en niet de bedoeling.
Laat anders eens een schets zien.
Hallo Ariën,

Ik ben echt een leek en ben al heel blij met wat ik bereikt heb met dit script.
Wat bedoel je tussen code-tags plaatsen.
Ik kan het niet vinden bij de veel gestelde vragen.

Ik heb hieronder gekopieerd waar het denk ik om gaat.

Ik wil graag 15 rijen (die gescheiden zijn) waar een tekst in geplaats kan worden.
__________________
Tekst 1
__________________
Tekst 2
__________________
Tekst 3
__________________


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

<table border="0"> 
<tr> 
   <td width="76">Vooraam:</td> 
   <td width="268"><input type="text" name="Voornaam"></td>
</tr> 
<tr> 
	<td>Achternaam:</td> 
	<td><input type="text" name="Achternaam"></td>
</tr> 
<tr> 
	<td>Email:</td> 
	<td><input type="text" name="Email"></td>
</tr> 
<tr> 
	<td>Telefoon:</td> 
	<td><input type="text" name="Telefoon"></td> 
</tr> 
<tr> 
	<td>Afdeling:</td> 
	<td><input type="text" name="Afdeling"></td>
</tr> 
<tr> 
	<td>Teamnaam:</td> 
	<td><input type="text" name="Teamnaam"></td>
</tr> 
<tr> 
	<td align="left" valign="top">Bericht:</td> 
	<td><textarea name="Bericht" rows="15" cols="40"></textarea></td> 
</tr> 

<tr> 
	<td>&nbsp;</td> 
	<td><input type="submit" value="Verzenden"></td> 
 </tr> 
</table> 
    
</form> 
[code] en [/code] tags dus. Staat gewoon bijde BB-codes vermeld ;-)
Ik heb het voor je aangepast.

verder kan je de velden toch kopiëren, waarbij je name uniek maakt.
Uiteraard doe je dat hetzelfde ook in de mail zelf.
Oke, is duidelijk.

Het is gelukt.

Bedankt voor het meedenken
Fijn dat het gelukt is.

Wel wil ik je erop wijzen dat je mailformuier behoorlijk vatbaar is voor 'header-injection', en spammers kunnen er misbruik van maken door mails naar jan-en-alleman te sturen.

Ik raad aan om met filter_var() te controleren op de ingevoerde mailadressen.
Hoi, daarnaast voer je ook beter een htmlescape uit.

Mag ik er trouwens op wijzen dat dit fomulier niet echt lekker loopt in eht algemeen?

Heel even een heel klein voorbeeldje van een contact formulier dat je een idee kan geven van hoe het beter zou kunnen zijn:


<!DOCTYPE html>
<html lang="nl">
<!-- Dit vervangt je hele content-header -->
<meta charset="utf-8">
<!-- dit is om je site op verschillende toestellen (telefoon, laptop, desktop, tablet, ...) bruikbaar te maken -->
<meta name="viewport" content="
<title>Contact</title>
</head>
<body>
<!-- dit voeg ik altijd toe, maar is neit verplicht. Het wordt vooral met CSS frameworks gebruikt -->
<div id="container">
<h1>Contact opnemen</h1>
<!-- Het volgende kijkt of het formulier verstuurd ik met de knop. Zo niet, dan toont hij het formulier, anders gaat hij valideren en versturen. -->
<?php if(isset($_POST['submit'])) { ?>
<form action="post">
<!-- het label wordt aan de id van het corresponderende element gekoppeld -->
<label for="nam">Naam: (verplicht)</label>
<!-- De place holder is een tip wat er in het veld moet komen. De required toont aan dat het veld verplicht is -->
<inpt type="text" name="naam" id="naam" placeholder="Uw naam" required>
<label for="emailadres">E-mailadres: (verplicht)</label>
<!-- Dit type laat de browser controlleren of de ingevulde waarde wel effectief een emailadres is -->
<input type="email" name="emailadres" id="emailadres" placeholder="[email protected]" required>
<label for="bericht">Bericht: (verplicht)</label>
<textarea name="bericht" id="bericht" cols="76" rows="30" required></textarea>
<!-- verstuur het bericht -->
<input type="submit" name="submit" id="submit" value="Versturen">
</form>
<?php
} else {
  // zet een array met ingevoerde waarden
  // De waarden worden gefilterd, zodat html weggehaald wordt
  $waarde = array(
    'naam' => htmlspecialchars($_POST['naam'], ENT_QUOTES), // ENT_QUOTES vervangt quotes ook
    'email' => htmlspecialchars($_POST['emailadres'], ENT_QUOTES),
    'bericht' => htmlspecialchars(wordwrap($_POST['bericht'], ENT_QUOTES, 70, '\r\n'), ENT_QUOTES),
    // de wordwrap hierboven laat maar 70 tekens per lijn toe
    'naar' => '[email protected]'
  );

  // Probeer het formulier te versturen
  // Let wel op: de gegevens moeten vervangen worden
  $email = mail($waarde['naar'], 'Bericht van website', $waarde['bericht'], 'From: '.$waarde['email']);
  if(!$email) {
    echo "<p>Er is een probleem opgetreden bij het versturen van het bericht. Probeer het a.u.b. later 
    nogmaals.</p>";
  } else }
    echo "<p>Uw bericht is met succes verzonden. U krijgt spoedig een antwoord.</p>";
  }
}
?>
</div>
</body>
</html>


Het is een erg basis voorbeeld, dat geef ik toe, maar het is veiliger dan dat van jou, het voegt wat toegankelijkheid voor blinden en slechtzienden toe en het toont wat andere best practices, zoals woordafbreking.

Als je specifieke vragen hebt over het script, hoor ik het graag. Verder ben ik blij dat je vraag beantwoord is.

Reageren