Beste SD'ers,
Ik ben begonnen met een beetje php bij te leren, echter ben ik nu momenteel op een obstakel gekomen.
Momenteel werkt mijn contactformulier naar behoren, echter wanneer het verstuurd is had ik graag de melding gekregen op een nieuwe pagina bv , dat het verzenden gelukt is.
Momenteel is dit mijn code. Echter heb ik nog niet de kennis om dit te verwezenlijken:
Kan iemand me aub helpen ?
Alvast bedanktPHP Code:
<?php
if(isset($_GET['action'])=="submit") {
$fullname = $_POST["fullname"];
$email = $_POST["email"];
$opmerking = $_POST["opmerking"];
if ($fullname==''||$email==''){
echo "Alle velden zijn verplicht!<br /><br />";}else{
$message="Volledige naam: ".$fullname."\n email: ". $email ."\n Opmerking: ". $opmerking;
$message = wordwrap($message, 70);
//echo $message;
mail( "info@energyworld.be", "Contactformulier: Energyworld.be:".$_POST['fullname'] , $message, "From: ".$_POST['email'] );
}}
echo "<form action='".$_SERVER['PHP_SELF']."?action=submit' method='post'>"
?>
Dennis
- Contactforulier redirecten
-
05-12-2011, 14:44 #1
- Berichten
- 911
- Lid sinds
- 18 Jaar
Contactforulier redirecten
-
-
05-12-2011, 14:47 #2
- Berichten
- 1.402
- Lid sinds
- 14 Jaar
Re: Contactforulier redirecten
Gooi een javascript redirect onderaan de script. Java redirect : http://www.tizag.com/javascriptT/javascriptredirect.php
-
05-12-2011, 14:49 #3
- Berichten
- 911
- Lid sinds
- 18 Jaar
Re: Contactforulier redirecten
Gooi een javascript redirect onderaan de script. Java redirect : http://www.tizag.com/javascriptT/javascriptredirect.php
Hier had ik ook al aan gedacht, echter wanneer er dan een fout optreed wordt hij dan toch ook geredirect ?
Het is nl de bedoeling dat dit enkel gebeurt wanneer het succesvol verzonden is.
Dennis
-
05-12-2011, 15:02 #4
- Berichten
- 1.402
- Lid sinds
- 14 Jaar
Re: Contactforulier redirecten
Ik he niet heel je code gelezen, je moet de redirect dan plaatsen na het regeltje dat zegt dat alles succesvol is.
Gebruik anders het volgende :
er is een html en een php bestand voor nodig noem de bestanden : contactform.htm en send_form_email.php
<form name="contactform" method="post" action="send_form_email.php">
<table width="450px">
</tr>
<tr>
<td valign="top">
<label for="first_name">First Name *</label>
</td>
<td valign="top">
<input type="text" name="first_name" maxlength="50" size="30">
</td>
</tr>
<tr>
<td valign="top"">
<label for="last_name">Last Name *</label>
</td>
<td valign="top">
<input type="text" name="last_name" maxlength="50" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="email">Email Address *</label>
</td>
<td valign="top">
<input type="text" name="email" maxlength="80" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="telephone">Telephone Number</label>
</td>
<td valign="top">
<input type="text" name="telephone" maxlength="30" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="comments">Comments *</label>
</td>
<td valign="top">
<textarea name="comments" maxlength="1000" cols="25" rows="6"></textarea>
</td>
</tr>
<tr>
<td colspan="2" style="text-align:center">
<input type="submit" value="Submit"> <a href="jedomein.nl/email_form.php">Email Form</a>
</td>
</tr>
</table>
</form>
en de php :
<?php
if(isset($_POST['email'])) {
// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "you@yourdomain.com";
$email_subject = "Your email subject line";
function died($error) {
// your error code can go here
echo "We are very sorry, but there were error(s) found with the form you submitted. ";
echo "These errors appear below.<br /><br />";
echo $error."<br /><br />";
echo "Please go back and fix these errors.<br /><br />";
die();
}
// validation expected data exists
if(!isset($_POST['first_name']) ||
!isset($_POST['last_name']) ||
!isset($_POST['email']) ||
!isset($_POST['telephone']) ||
!isset($_POST['comments'])) {
died('We are sorry, but there appears to be a problem with the form you submitted.');
}
$first_name = $_POST['first_name']; // required
$last_name = $_POST['last_name']; // required
$email_from = $_POST['email']; // required
$telephone = $_POST['telephone']; // not required
$comments = $_POST['comments']; // required
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
}
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$first_name)) {
$error_message .= 'The First Name you entered does not appear to be valid.<br />';
}
if(!preg_match($string_exp,$last_name)) {
$error_message .= 'The Last Name you entered does not appear to be valid.<br />';
}
if(strlen($comments) < 2) {
$error_message .= 'The Comments you entered do not appear to be valid.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Form details below.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "First Name: ".clean_string($first_name)."\n";
$email_message .= "Last Name: ".clean_string($last_name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Telephone: ".clean_string($telephone)."\n";
$email_message .= "Comments: ".clean_string($comments)."\n";
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
<!-- include your own success html here -->
hier java redirect.
<?php
}
?>Laatst aangepast door Mahyar Tavafi : 05-12-2011 om 15:09 Reden: Automatisch samengevoegd.
-
06-12-2011, 03:57 #5
- Berichten
- 8
- Lid sinds
- 14 Jaar
Re: Contactforulier redirecten
gebruik de php header() functie om 301 en 302 redirect te kunnen doen.
-
06-12-2011, 08:29 #6
- Berichten
- 756
- Lid sinds
- 16 Jaar
Re: Contactforulier redirecten
PHP Code:<?php
mail( "info@energy..." );
die(header("Location: http://www.energy..."));
?>
-
06-12-2011, 08:56 #7
- Berichten
- 115
- Lid sinds
- 13 Jaar
Re: Contactforulier redirecten
PHP Code:<?php
if(isset($_GET['action'])=="submit") {
$fullname = $_POST["fullname"];
$email = $_POST["email"];
$opmerking = $_POST["opmerking"];
if ($fullname==''||$email==''){
echo "Alle velden zijn verplicht!<br /><br />";}else{
$message="Volledige naam: ".$fullname."\n email: ". $email ."\n Opmerking: ". $opmerking;
$message = wordwrap($message, 70);
//echo $message;
$send = mail( "info@energyworld.be", "Contactformulier: Energyworld.be:".$_POST['fullname'] , $message, "From: ".$_POST['email'] );
}}
if ($send)
{
//normaal gebruik je een header location, maaromdat je wellicht al iets hebt geoutput kan je dit "omzeilen"
//door gebruik te maken van een meta refresh
echo "<meta http-equiv=\"refresh\" content=\"0; url=http://example.com/\">";
}
else
{
echo "het verzenden van het bericht is mislukt";
}
echo "<form action='".$_SERVER['PHP_SELF']."?action=submit' method='post'>"
?>
-
07-12-2011, 16:46 #8
- Berichten
- 750
- Lid sinds
- 16 Jaar
Re: Contactforulier redirecten
De mail functie van php is sowieso niet een betrouwbare manier om te checken of een email correct verzonden is.
Je zou dan iets een het smtp protocol moeten implementeren zodat je ook daadwerkelijk kan zien of een email ook daadwerkelijk op een email server bestaat tevens zou je dan ook kunnen achterhalen of de mailbox niet vol is.
Dit geeft wel een betrouwbare check dan de mail functie van php.
100% waterdicht is het ook nog niet aangezien je email dan als nog er uit gefilterd kan worden door een anti spam programma of eventeule filter regels welke de gebruiker in email client heeft ingesteld
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic