login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Form in html verzenden

Offline Arno1994 - 14/02/2014 10:45 (laatste wijziging 14/02/2014 10:49)
Avatar van Arno1994Nieuw lid hallo,
ik heb wat problemen met men script.. 

mijn script klik hier

wat doet dit script:
hij maakt het juiste invulformulier maar als je op bestellen drukt dan opent hij je mailbox met een nieuw bericht waar je dan nog eens op verzenden moet klikken..

wat zou ik willen:
2 mogelijkheden

1: als je op die knop drukt om te verzenden dat hij automatisch een mail stuurt naar dat e-mailadres en dat hij dan op een pagina springt met dat alles gelukt is of niet gelukt is.

2: het zelfde als 1 maar ipv te verzenden dat hij het opslaat op de server.


ik hoop dat iemand me kan helpen.

3 antwoorden

Gesponsorde links
Offline rredspike1 - 14/02/2014 11:18 (laatste wijziging 14/02/2014 12:09)
Avatar van rredspike1 Lid Hoi Arno1994,

Dat je nogmaals op verzenden moet klikken komt hierdoor.
  1. <form action="mailto:Tickets@theatergroepzomaar.be?subject=formulier">


1. Waarom gebruik je geen functie van PHP, namelijk mail();

2. Wil je die gegevens opslaan in een database o.i.d.?


EDIT *

Heb even iets gemaakt, ik weet niet of het werkt, probeer maar:
  1. <?php
  2. // Verbinding met de database, in het bestand config.php (zelf maar even schrijven)
  3. require('config.php');
  4.  
  5. if(isset($_POST['verzenden']))
  6. {
  7. // Hier zou je nog een betere validatie kunnen doen van de velden
  8.  
  9. $bericht = 'Er is een bericht binnengekomen via het formulier van de website\n';
  10. $bericht .= 'Naam: '.$_POST['voornaam']. ' '.$_POST['achternaam'].'\n';
  11. $bericht .= 'Emailadres: '.$_POST['emailadres'].'\n';
  12. $bericht .= 'Aantal personen: '.$_POST['aantal'].'\n';
  13. $bericht .= 'Gewenste manier van betaling: '.$_POST['betalen'];
  14. $van = $_POST['emailadres'];
  15.  
  16. // Versturen van de mail
  17. mail("Tickets@theatergroepzomaar.be", "Formulier", $bericht, "From: $van\n");
  18. echo 'Bedankt voor het bestellen en we zien u graag op: '.$_POST['opvoering'];
  19.  
  20. /* Opslaan in de database, table emails,
  21.   ** Wel zou ik over deze variabelen een anti-SQL injectie laten gaan.
  22.   ** Namelijk vanwege de privacy van gegevens van mensen. */
  23. mysql_query("INSERT INTO emails (voornaam, achternaam, telefoonnummer, emailadres, opvoering, aantal)
  24. VALUES ('".$_POST['voornaam'."', '".$_POST['achternaam']."', '".$_POST['telefoonnummer']."', '".$_POST['emailadres']."', '".$_POST['opvoering']."', '".$_POST['betalen']."'])") or die (mysql_error());
  25.  
  26. }
  27.  
  28. <form action="'.$_SERVER['PHP_SELF'].'" method="POST" enctype="text/plain">
  29. <p><em>Vul je voornaam in:</em><br>
  30. <input type="text" size="20" maxlength="40" name="voornaam" required></p>
  31.  
  32. <p><em>Vul je achternaam in:</em><br>
  33. <input type="text" size="20" maxlength="40" name="achternaam" required></p>
  34.  
  35. <p><em>Vul je telefoonnummer in:</em><br>
  36. <input type="text" size="20" maxlength="40" name="telefoon" required></p>
  37.  
  38. <p><em>Vul je e-mailadres in:</em><br>
  39. <input type="text" size="20" maxlength="40" name="mail" required></p>
  40.  
  41. <p><em>welke vertoning?</em><br>
  42. <select name="opvoering">
  43. <option>vrijdag 4/04/2014 20u</option>
  44. <option>zaterdag 5/04/2014 20u</option>
  45. <option>zaterdag 12/04/2014 20u</option>
  46. <option>zondag 13/04/2014 15u</option>
  47. </select></p>
  48.  
  49. <p><em>aantal personen:</em><br>
  50. <input type="text" size="20" maxlength="40" name="aantal" required></p>
  51.  
  52. <p><em>Hoe wenst u te betalen</em><br>
  53.  
  54. <select name="betalen" required>
  55. <option value="Contant">Contant (met de opvoering)</option>
  56. <option value="Overschrijving">Overschrijving</option>
  57. </select></p>
  58.  
  59. <p><input type="submit" name="verzenden" value="Bestellen"></p>
  60. </form>';
  61. ?>
Offline Thomas - 14/02/2014 14:49 (laatste wijziging 14/02/2014 14:50)
Avatar van Thomas Moderator @Arno - allereerst welkom 

Wat er in feite aan de hand is is het volgende: HTML alleen is, voor wat jij hiermee wilt doen, niet toereikend - enkel HTML is niet in staat om het formulier (voor jou) te verwerken, hier heb je een serverside scriptingtaal voor nodig. Met andere woorden, code die de formulier-verzending verwerkt. Een van de programmeertalen die deze taak op zich kan nemen is PHP. Maar dan moet de webruimte waarop het formulier staat en waar je de verwerking wilt laten plaatsvinden deze (of een andere) programmeertaal wel ondersteunen.

Als je bestellingen wilt opslaan zul je moeten gaan denken aan een medium waarmee je informatie permanent kunt opslaan, bijvoorbeeld een database. Een van de database-varianten heet MySQL. PHP wordt vaak aangeboden in combinatie met MySQL, dus grote kans dat als jouw website PHP ondersteunt, MySQL-ondersteuning ook aanwezig is.

De eerste stap is uitvinden of je webaccount ondersteuning biedt aan een serverside scriptingtaal (zoals PHP) en/of een database (zoals MySQL). Dan zul je het formulier moeten aanpassen en code moeten (laten) schrijven voor het verwerken van het formulier (controleren van gegevens, eventueel opslaan van gegevens, versturen van e-mail, terugkoppeling naar gebruiker).

Deze functionaliteit betreft min of meer een uitgebreid contactformulier.

@rredspike1: je inspanning wordt gewaardeerd, maar je doet al meteen een aantal aannames over de kennis en kunde van de vragensteller. Dat is misschien in dit geval wat voorbarig. Daarnaast zou je, naar mijn mening, voordat je code plaatst, moeten nadenken over een zinnige database-structuur en hoe je een en ander daarin organiseert. Je database is het fundament van je website(applicatie(s)). Anyway, bovenstaande lap code dient waarschijnlijk prima als eerste opzet, al zit er nog geen validatie/terugkoppeling/extra security in.

EDIT: spelling
Offline rredspike1 - 14/02/2014 14:57
Avatar van rredspike1 Lid I know daarom stond dat ook in `comments` van het script.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.18s