Contact formulier

Status
Niet open voor verdere reacties.
ik vul aan ; op de lijnen 22 , 29 , 35
elke lijn stop met een ; ook als je maar één lijn plaatst
Naam: <input type="text" name="naam" value="<?php echo $_POST["name"]; ?>"> <br>
 
Sorry hoor mensen maar ik begrijp gewoon niet wat ik aan het fout doen ben. Nu krijg ik op line 40 van de code die ik gisteren heb gepost dat de variableren niet kunnen worden gevonden. de in bericht 20 en 21 genoemde ; heb ik aangepast:

Notice: Undefined variable: name in /public/sites//mailform3.php on line 40

Notice: Undefined variable: mail in /public/sites//mailform3.php on line 40

Notice: Undefined variable: reactie in /public/sites//mailform3.php on line 40
Error!
 
$_POST["name"] = Bestaat niet, heet: naam
$_POST["mail"] = bestaat niet, heet mailadres

Kijk maar eens naar je name-attributes van je formuliervelden.
 
sorry hoor als ik je niet goed heb begrepen maar volgens mij zijn die wel goed? zie:

PHP:
<html>
<head>
<title> Mailformulier </title>
</head>
<body>
<?php
ini_set("SMTP", "mail.mijndomein,nl");
ini_set("smtp_port", 26);
ini_set ("sendmail_from", "info@rubensky.com");
if($_SERVER['REQUEST_METHOD']=="POST") {
$name = $_POST['name'];
$mail = $_POST['mail'];
$reactie = $_POST['reactie'];
?>
<form action="mailform3.php" method= "post">
<?php
if (trim($_POST['name'])=="") {

		echo "<font color=\"red\"> Vul hier uw naam in!</font><br>";
}
?>
Naam: <input type="text" name="naam" value="<?php echo $_POST["name"];
?>"> <br>
<?php
if (trim($_POST['mail'])=="") {
echo "<font color=\"red\"> Vul hier uw mailadres in!</font><br>";
}
?>
E-mail: <input type="text" name="mailadres" value="<?php echo $_POST["mail"]; ?>"><br>
<?php
if (trim($_POST['reactie'])=="") {
	echo "<font color=\"red\"> Vul hier uw reactie in!</font><br>";
}
?>
Uw reactie <textarea cols="30"rows="4" name="reactie"><?php echo $_POST["reactie"];	?></textarea>
<input type="submit" value="verzenden" name="verzendbutton">
</form>
<?php
} else { 
mail($name, $mail, $reactie) or die("Error!");
echo "Thank You!" . " -" . "<a href='form.html' style='text-decoration:none;color:#ff0099;'> Return Home</a>";
}
?>
</body>
</html>
 
Waar komt $_POST["mail"] dan volgens jouw vandaan? Begrijp je wel waar die $_POST-variabelen vandaan komen?
Zo nee, lees mijn vorige post nog eens.
 
Laatst bewerkt:
op regel 12 wordt de $mail aangemaakt op regel 25 staat de controle en op 29 wordt het input vak aangemaakt dus die is er dan toch?
 
Daar wordt $mail aangemaakt, die de waarde van $_POST["mail"] krijgt. Niet echt zinnig, want in $_POST["mail"] heb je het mailadres al.
Dus regel 11 t/m 13 kan je schrappen.

Als je dan even netjes in je script $_POST["name"] en $_POST["mail"] gebruikt (zoals ik al vroeg) dan moet het werken.
 
Echt ik weet dat het aan mij ligt! Maar hij geeft gewoon nog dat de variableren niet gevonden kunnen worden ook al gebruik ik nu echt naam en E-mail ook de PHP code checker geeft No issues found.

PHP:
<html>
<head>
<title> Mailformulier </title>
</head>
<body>
<?php
ini_set("SMTP", "mail.mijndomein,nl");
ini_set("smtp_port", 26);
ini_set ("sendmail_from", "info@rubensky.com");
if($_SERVER['REQUEST_METHOD']=="POST") {
?>
<form action="mailform3.php" method= "post">
<?php
if (trim($_POST["name"])=="") {

		echo "<font color=\"red\"> Vul hier uw naam in!</font><br>";
}
?>
Naam: <input type="text" name="naam" value="<?php echo $_POST["name"];
?>"> <br>
<?php
if (trim($_POST["mail"])=="") {
echo "<font color=\"red\"> Vul hier uw mailadres in!</font><br>";
}
?>
E-mail: <input type="text" name="mailadres" value="<?php echo $_POST["mail"]; ?>"><br>
<?php
if (trim($_POST["reactie"])=="") {
	echo "<font color=\"red\"> Vul hier uw reactie in!</font><br>";
}
?>
Uw reactie <textarea cols="30"rows="4" name="reactie"><?php echo $_POST["reactie"];	?></textarea>
<input type="submit" value="verzenden" name="verzendbutton">
</form>
<?php
} else { 
mail($name, $mail, $reactie) or die("Error!");
echo "Thank You!" . " -" . "<a href='form.html' style='text-decoration:none;color:#ff0099;'> Return Home</a>";
}
?>
</body>
</html>
 
'name' is niet hetzelfde als 'naam'
'mailadres' is niet hetzelfde als 'mail'

Zorg dat de waarde in je $_POST overeenkomt met je formulier-name-attribuut

Verder wordt je formulier alleen getoond als hij verstuurd word, en dat kan natuurlijk niet ;).
 
Laatst bewerkt:
Allereerst wil ik mijn dank uitspreken voor het geduld wat je met mij hebt! Logisch dat het formulier wel ingevuld en verzonden moet kunnen worden wonder boven wonder heb ik dit wel zelf in elkaar kunnen zetten. alleen krijg ik nog de fout dat mijn variabelen niet gevonden kunnen worden. ik heb het nu als volgt aangepast:

PHP:
<html>
<head>
<title> Mailformulier </title>
</head>
<body>
Naam: <input type="text" name="name"> <br> </br>
Email: <input type="text" name="mail"> <br> </br>
Recatie: <textarea cols="30" rows="4" name="reactie"> </textarea> <br> </br>
<input type="submit" value="Send"><input type="reset" value="Clear"> <br> </br>
<?php
ini_set("SMTP", "mail.mijndomein,nl");
ini_set("smtp_port", 26);
ini_set ("sendmail_from", "info@rubensky.com");
if($_SERVER['REQUEST_METHOD']=="POST") {
?>
<form action="mailform3.php" method= "post">
<?php
if (trim($_POST["name"])=="") {

		echo "<font color=\"red\"> Vul hier uw naam in!</font><br>";
}
?>
Naam: <input type="text" name="name" value="<?php echo $_POST["name"];
?>"> <br>
<?php
if (trim($_POST["mail"])=="") {
echo "<font color=\"red\"> Vul hier uw mailadres in!</font><br>";
}
?>
E-mail: <input type="text" name="mail" value="<?php echo $_POST["mail"]; ?>"><br>
<?php
if (trim($_POST["reactie"])=="") {
	echo "<font color=\"red\"> Vul hier uw reactie in!</font><br>";
}
?>
Uw reactie <textarea cols="30"rows="4" name="reactie"><?php echo $_POST["reactie"];	?></textarea>
<input type="submit" value="verzenden" name="verzendbutton">
</form>
<?php
} else { 
mail($name, $mail, $reactie) or die("Error!");
echo "Thank You!" . " -" . "<a href='form.html' style='text-decoration:none;color:#ff0099;'> Return Home</a>";
}
?>
</form>
</body>
</html>
 
Ik vind je formulier vreemd in elkaar zitten:

- Na je <body> staan wat invoervelden, maar hier mist een <form> tag omheen.
- Daarna kijk je op regel 14 of je formulier verstuurd is, en dan toon je wederom weer het formulier?!? Dat lijkt me niet geheel juist.

Pas deze opbouw eens toe, en lees goed de comments.
PHP:
<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
// je formulier is verstuurd. Zorg hier eerst voor de validatie van de velden, en als die juist zijn verstuur je de mail.
} else {
// er is niks verstuurd, dus toon je hier het formulier.
}
?>
 
Bedankt voor je hulp hoor maar ik snap er met dit formulier echt geen fluit meer van.

Weet je misschien een goede handleiding waarmee ik zo'n formulier kan maken en vervolgens de velden kan controleren? Dat zou fijn zijn dan kan ik daarmee aan de gang.
 
Begin gewoon eens opnieuw vanaf 0, en gebruik mijn basis. De comments zijn naar mijn idee wel duidelijk.
 
Ik ga je misschien iets heel onbeleefd vragen maar zou je voor mij een klein formulier in elkaar kunnen zetten met een paar velden? Dan is het iets gemakkelijker dan alles wat ik op internet tegenkom. de controle hoeft van mij dan nog niet eens.

Dan kan ik er daarna verder mee aan de slag wat betreft het oefenen met uitbreidingen e.d.

Als je het niet wilt doen geef het dan gewoon eerlijk aan dan ga ik er zelf mee verder.
 
Probeer eerst eens zelf, daar leer je wat van... ;)
nou, vooruit.... een klein stukje verder dan:

PHP:
<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
   if (trim($_POST["name"])=="") {
     // name is leeg
   } elseif(trim($_POST["mail"])=="") {
    // mail is leeg
   } elseif (trim($_POST["reactie"])=="") {
    // reactie is leeg
   } else {
    // Alles is ingevuld, verstuur hier de mail.
   }

} else {
   // er is niks verstuurd, dus toon je hier het formulier.
}
?>
 
Laatst bewerkt:
Heel hartelijk bedankt inderdaad zou ik zelf moeten proberen dat begrijp ik!

Waar het mij nu eigenlijk even om gaat en waarom ik een opzet vroeg was niet de controle maar juist het geen daarvoor met de $to en het commando mail. ik zie wel veel formulieren alleen wil ik juist die eens even in een simpele opzet.

Kan je nog 1 keer helpen?
 
Mailen met de mail() functie in PHP is geen rocketscience. Op http://php.net/manual/en/function.mail.php staat duidelijk uitgelegd hoe je de functie aan kan roepen. Tevens staan er een paar voorbeelden.

Het nadeel van de mail-functie in PHP is dat deze moeilijk te debuggen is bij fouten. Daarom verkies ik liever PHPmailer als mailafhandeling in PHP.
 
Ben volgens mij nu een aardig eind op weg alleen krijg ik nu wel weer foutmeldingen:

Notice: Undefined index: name in line 2

Notice: Undefined index: email line3

Notice: Undefined index: message in

Hieronder de code kan je het mij uitleggen?

PHP:
    <?php 
    $name= ($_POST['name']); 
    $email= ($_POST['email']); 
    $message= ($_POST['message']); 
           
        $from="From: $name<$email>\r\nReturn-path: $email"; 
        $subject="Bericht verzonden vanaf de website"; 
        mail("info@rubensky.com", $subject, $message, $from); 
       
         

?>
<html>
<head>
<title> test formulier> </title>
</head>
<body> 
    <form  action="contact.php" method="POST"> 
    
	Uw naam: <input type="text" name ="name"> <br> 
    
    Uw E-mail: <input type ="text" name="email"> <br> 
    
    <br> 
    <textarea name="message" rows="7" cols="30"></textarea><br> 
    <input type="submit" value="verzenden"/> 
    </form> 
</body>
</html>
 
Laatst bewerkt:
Ik zie dat je niks met mijn codeopbouw doet? Waarom ga je nou een eigen (verkeerde) weg op?
Dit geeft mij niet echt motivatie om verder te gaan, als ik toch genegeerd word..... :(

Die foutmeldingen heb ik al eerder uitgelegd..... Dat ga ik niet nogmaals doen.
 
Laatst bewerkt:
Oke vervelend maar ik wil werken zonder de PHP mailer want dat vind ik vervelend. Ik wil gaan proberen uit te vinden waar je de foutmelding al eerder heb uitgelegd want ik snap het niet. de varablen zijn er de namen zijn correct en de mail functie is naar ik meen ook goed.

Zeg het maar eerlijk als je geen zin meer hebt dan ga ik ermee stoppen aangezien ik me echt in zet.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan