Script probleem

Status
Niet open voor verdere reacties.

RobJS

Gebruiker
Lid geworden
19 apr 2013
Berichten
11
Ik heb verschillende domeinnamen met een contactformulier en zag ineens (misschien is het er dus al langer, ik kijk niet elke dag op deze pagina) aan het begin van de week, zonder iets aan het script of de pagina veranderd te hebben de foutmeldingen op de genoemde pagina. Op één van mijn sites heb ik een nieuw, ander script geprobeerd maar ook daar krijg ik foutmeldingen.
Mijn provider heeft recentelijk een update gedaan naar PHP 5.4, waarschijnlijk ligt daar het probleem.
Wellicht zal het script 'ergens' aangepast moeten worden maar dat gaat boven mijn pet.
De voornaamste melding is: "Notice: Undefined index: name in /public/sites/www.........nl/includes/mailform.inc.php on line 61."

Ik weet niet of ik hier de domeinnamen mag vermelden of dat dat als spam wordt aangemerkt?
Als iemand mij denkt te kunnen helpen dan kan ik de namen en/of script eventueel wel in een pb sturen.
 
Bij deze, sorry.
Dit is het 'nieuwe' script.
Dit zijn de regels waar de foutmelding naar verwijst

<section class="body">
<form method="post" action="index.php">

<label>Naam</label>
<input name="name" type="text" placeholder="Geef hier uw naam in.">

<label>Email</label>
<input name="email" type="email" placeholder="Geef hier uw email in.">

<label>Bericht</label>
<textarea name="message" class="invoerveld" placeholder="Geef hier uw bericht in."></textarea>

<label>*Hoeveel is 2+3? (Anti-spam)</label>
<input name="human" placeholder="Cijfer">

<input id="submit" name="submit" type="submit" value="Verzend">

</form>
<br>
</section>

<footer class="body">
</footer>

<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];

$from = 'From: Luxe kinderwagens';
$to = 'info@luxekinderwagens.nl';
$subject = 'Bericht van de website';
$human = $_POST['human'];

$body = "From: $name\n E-Mail: $email\n Message: $message\n";

if ($_POST['submit'] && $human == '5') {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Uw bericht is verzonden</p>';
} else {
echo '<p>Er ging iets fout, probeer aub nogmaals!</p>';
}
} else if ($_POST['submit'] && $human != '5') {
echo '<p>Verkeerd antwoord</p>';
}
?>
 
Laatst bewerkt:
Hallo RobJS,

Die foutmelding krijg je omdat index "name" niet bestaat wanneer het formulier niet is verzonden.
Om dit te verhelpen gebruik je "isset"

Op deze manier:

PHP:
<?php

$from = 'From: Luxe kinderwagens'; 
$to = 'info@luxekinderwagens.nl'; 
$subject = 'Bericht van de website';


if (isset($_POST['submit'])) {	

	$name = $_POST['name'];
	$email = $_POST['email'];
	$message = $_POST['message'];
	$human = $_POST['human'];
	$body = "From: $name\n E-Mail: $email\n Message: $message\n";
	
	if($human == '5'){
		if (mail ($to, $subject, $body, $from)) { 
			echo '<p>Uw bericht is verzonden</p>';
		} else { 
			echo '<p>Er ging iets fout, probeer aub nogmaals!</p>'; 
		} 
	}else{
		echo '<p>Verkeerd antwoord</p>';
	}

}

?>
 
Laatst bewerkt:
Zou het misschien kunnen dat jou action niet "index.php" moet zijn maar "contact"?

<form method="post" action="contact">
 
Laatst bewerkt:
Tja, als je hulp vraagt (en krijgt) wil niet zeggen dat je dan zelf helemaal niet meer mag nadenken :eek:
Ik zal eens kijken of ik mijn oude script ook aan de praat krijg want dit script doet (nog?) niet helemaal wat ik zou willen.
Zo blijft het formulier zichtbaar na verzenden waardoor de melding verzonden of fout moeilijk zichtbaar is.

Voor zover alvast bedankt.
 
De reden dat het script welke op die website staat niet werkt is waarschijnlijk omdat het al bijna 5 jaar oud is.
 
Mijn 'andere' script is waarschijnlijk nog ouder en dat heeft tot de laatste update van mijn provider, perfect gefunctioneerd.
Ben (zoals inmiddels wellicht duidelijk is) geen held in scripts, dus moet het hebben van beschikbare scripts en ik vond geen recentere (gratis).
Dus tips over scripts die wel werken, simpel en gratis/goedkoop zijn, zijn zeer welkom.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan