Goedenavond,

Allereerst dank voor diegene die mij op weg wil helpen. Ik ben bezig met een website en een formulier. Dit formulier roept (correct me if i'm wrong) een JS aan waarin de post staat naar een .php file. Nu had ik al een send.php file en deze aangepast maar krijg 'm niet goed. Of mail geeft geen afzender, of het bericht is niet compleet etc.

HTML
											<div 	<!-- Appointment Form -->
	<div class="modal fade" id="appointmentForm">
		<div class="modal-dialog container">
			<div class="modal-content">
				<div class="modal-header"><a href="#" class="appointment" data-toggle="modal" data-target="#appointmentForm"><i class="icon-shape icon"></i><span>Afspraak</span></a>
					<button type="button" class="close" data-dismiss="modal" aria-label="Close"><i class="icon-close-cross"></i></button>
				</div>
				<div class="modal-body">
					<div class="container-fluid">
						<h2>Plan <span class="color">onderhoud of reparatie</span></h2>
						<p>Om een afpraak te plannen bij * of vul onderstaand formulier. Wij nemen dan contact met uw op om uw afspraak te bevestigen. </p>
						<div class="divider"></div>
						<form id="appointment-form" class="contact-form form-horizontal" name="contactform" method="post">
							<div id="successAppointment" class="successform">
								<p>Uw bericht is succesvol verzonden</p>
							</div>
							<div id="errorAppointment" class="errorform">
								<p>Something went wrong, try refreshing and submitting the form again.</p>
							</div>
							<h5>Contact information</h5>
							<div class="form-inline">
								<div>
									<input type="text" name="name" class="form-control input-custom" value="" placeholder="First name">
								</div>
								<div>
									<input type="text" name="lastname" class="form-control input-custom" value="" placeholder="Last name">
								</div>
							</div>
							<div class="form-inline">
								<div>
									<input type="text" name="phone" class="form-control input-custom" value="" placeholder="Phone number">
								</div>
								<div>
									<input type="text" name="email" class="form-control input-custom" value="" placeholder="Your E-mail">
								</div>
							</div>
							<div class="divider"></div>
							<h5>Appointment details</h5>
							<div class="form-inline">
								<div class="datetimepicker-wrap">
									<input type="text" name="date" class="form-control input-custom datetimepicker" placeholder="">
								</div>
								<div class="timepicker-wrap">
									<input type="text" name="time" class="form-control input-custom timepicker" placeholder="">
								</div>
							</div>
							<div class="form-inline">
								<div>
									<input name="autoinfo" type="text" class="form-control input-custom" value="" placeholder="Vehicle Year, Make and Model">
								</div>
								<div class="form-inline">
									<div class="select-wrapper">
										<select name="select1" class="input-custom">
											<option value="2000">2000</option>
											<option value="2001">2001</option>
											<option value="2002">2002</option>
											<option value="2003">2003</option>
											<option value="2004">2004</option>
											<option value="2005">2005</option>
											<option value="2006">2006</option>
											<option value="2007">2007</option>
											<option value="2008">2008</option>
											<option value="2009">2009</option>
											<option value="2010">2010</option>
										</select>
									</div>
									<div>
										<input name="kilometers" type="text" class="form-control input-custom" value="" placeholder="Current Kilometers">
									</div>
								</div>
							</div>
							<div class="form-inline">
								<textarea name="message" class="form-control textarea-custom" placeholder="Service Required"></textarea>
							</div>
							<div class="divider"></div>
							<div class="row">
								<div class="col-sm-4 col-md-3 bootstrap-datetimepicker-widget">
									<button type="submit" id="submit" class="btn btn-lg"><span>SUBMIT</span></button>
								</div>
								<div class="divider visible-xs"></div>
								<div class="col-sm-8 col-md-9">
									<p><i>Please note that the date and time you requested may not be available. We will contact you to confirm your actual appointment details.</i></p>
								</div>
							</div>
						</form>
					</div>
				</div>
			</div>
		</div>
	</div>
									</div>


JS
		// appointment form
		if (forms.appointmentForm.length) {
			var $appointmentForm = forms.appointmentForm;
			$appointmentForm.validate({
				rules: {
					name: {
						required: true,
						minlength: 2
					},
					phone: {
						required: true,
						minlength: 10
					},
					message: {
						required: true,
						minlength: 20
					},
					email: {
						required: true,
						email: true
					}

				},
				messages: {
					name: {
						required: "Please enter your name",
						minlength: "Your name must consist of at least 2 characters"
					},
					phone: {
						required: "Please enter your number",
						minlength: "Your name must have 10 characters"
					},
					message: {
						required: "Please enter message",
						minlength: "Your message must consist of at least 20 characters"
					},
					email: {
						required: "Please enter your email"
					}
				},
				submitHandler: function (form) {
					$(form).ajaxSubmit({
						type: "POST",
						data: $(form).serialize(),
						url: "process-appointment1.php",
						success: function () {
							$('#successAppointment').fadeIn();
							$('#appointment-form').each(function () {
								this.reset();
							});
						},
						error: function () {
							$('#appointment-form').fadeTo("slow", 0, function () {
								$('#errorAppointment').fadeIn();
							});
						}
					});
				}
			});
		}



PHP
<?php
	if($_POST){
		$to = '[email protected]';/*Put Your Email Adress Here*/
		$subject = $_POST['subject'];
		$from_name = $_POST['name'];
		$from_email = $_POST['email'];
		$phone = $_POST['phone'];
		$date = $_POST['date'];
		$autoinfo = $_POST['autoinfo'];
		$select1 = $_POST['select1'];
		$kilometers = $_POST['kilometers'];
		$message = $_POST['message'];
		$header = "From: $from_name <$from_email>";
		mail($to, $subject, $message, $header);
					
				
			
	}
?>
Jan R op 28/02/2021 10:52:49

familie A (bestaat echt :)) slechts 1 letter.
Jan

[offtopic]
Oh, da's wel balen. Dan ben je altijd als eerste aan de beurt.

Zo leerlingen, wie wil deze lastige opdracht mondeling even uitleggen. Niemand? Nee? Zeker weten? Oké, dan maar op alfabetische volgorde: "Jan A ... leg jij het maar eens even uit".
[/offtopic]
- Ariën - op 28/02/2021 11:10:00

En dan gaat het om de POST-data die er wordt meegestuurd. Moet je even zoeken.

Je moet dit uiteraard wel via de normale weg doen die een gebruiker bewandelt. Want nu roep je dit volgens mij direct op je script aan, omdat ik GET als methode zie.


Ja Ariën, dit zeg jij tegen een leek. Hier houdt het voor mij op voor wat betreft PHP.
Wil jij mij op weg helpen?

Open je network-tab van je browser, ga naar je formulier toe, en vul deze in en verstuur deze.
Als het goed is zie je process-appointment1.php staan.

Klik daarop en je ziet alle data die er van/naar dit script verzonden wordt. Bij 'Preview' o.i.d. moet je de data van je formulier zien staan.

Het is inderdaad wat lastig te onderzoeken, maar dat heb je met asynchrone requests. Gelukkig mogen we blij zijn dat browsers een hoop leuke tooltjes aan boord hebben om zulke zaken te onderzoeken :-P
Dat is de directe link. Dus daar kan ik niks mee...
Voer je het wel uit via het formulier?
Nu via de pagina waar het formulier staat en daar staat helemaal niets bij network

[size=xsmall]Toevoeging op 28/02/2021 19:21:36:[/size]

Dit nu gevonden, of het juist is....

/* API Response */ _xdc_._j0q3oq && _xdc_._j0q3oq([{id: "tuwtvtuwtuvvuv", base: [345734144, 832899072], zrange: [14, 14], layer: "m@543269534",…},…])
0: {id: "tuwtvtuwtuvvuv", base: [345734144, 832899072], zrange: [14, 14], layer: "m@543269534",…}
1: {id: "tuwtvtuwtuvvwt", base: [345886720, 832879616], zrange: [14, 14], layer: "m@543269534",…}
Geef even de URL van het formulier.
Ik heb het idee dat dit van een heel anders script is?
Contact-pagina bedoel je?
Die werkt hier niet, omdat dat formulier niet bestaat (Not found)
Op 'Afspraak' klikken en dan komt het formulier er overheen (JS) toch?
Of zeg ik nu iets doms?
Kon jij natuurlijk niet weten...... Sorry

Reageren