Submit knop met meerdere functies

  • Onderwerp starter Onderwerp starter Risk
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Risk

Gebruiker
Lid geworden
5 jul 2010
Berichten
275
Forum,

Ik heb een werkend contactformulier in mijn website. Nu wil ik het formulier is ingevuld met de gegevens deze wordt verstuurd hetgeen al prima werkt incl. een bedankje, als de gegevens naar mijn e-mailbox zijn verstuurd er wordt doorgelinkt naar een downloadpagina.
Ik wil dus van diegene die een download op mijn website genereren ook de gegevens ontvangen voor een followup.

Kan iemand mij op weg helpen.

<form method="post" action="">

<td style="height: 34px"><input type="submit" value="Verstuur" name="verstuur">

Ik heb bij action de htm pagina ingevoegd. Dat werkt,maar dan wordt er dus geen email informatie naar mijn e-mailadres gestuurd. Wat ik ook probeer, of het bericht komt binnen of ik ga naar het downloadgedeelte van de website.

Ergo, 2 functies onder 1 knop. Wie weet de oplossing.

Met dank,

Risk
 
het form stuur je met de action naar een PHP bestand.
Deze vangt de $_POST variabele op.

Deze verwerk je eerst in een mail, en daaronder zet je een redirect naar een bedankpagina.
Als je ons de code van de pagina's kunt geven is het wat makkelijker werken :)
 
Grumbkow,

Dank voor je reactie. Excuus dat mijn code niet netjes staat, geen idee meer hoe ik dat moet doen. De submitknop moet dus het e-mailformulier versturen en dan doorgaan naar de pagina "download.htm" Als ik download.htm bij action ingeef, gaat e.e.a. wel naar die pagina, maar komt het bericht niet binnen. Ik dacht slim te zijn door er een link naast te zetten. Helaas dat werkte ook niet. Snap er even niets meer van.

Dank voor je hulp bij deze.

Risk



Code:

<?php
$emailadres = 'info@ontvanger.nl';
$onderwerp = 'ontvanger.nl - Contactformulier';
$afzendernaam = 'Van de website ontvanger.nl';

$bericht_bij_verstuurd = 'Uw bericht is succesvol verstuurd naar onze e-mailbox. Wij nemen zo spoedig mogelijk contact met u op.';

if($_POST['verstuur']){
if(empty($_POST['naam'])){
echo "U bent vergeten uw naam in te vullen";
$terug = true;
}
elseif(empty($_POST['mailadres'])){
echo "U bent vergeten uw mailadres in te vullen";
$terug = true;
}
elseif(empty($_POST['telefoonnummer'])){
echo "U bent vergeten uw telefoonnumer in te vullen";
$terug = true;
}


elseif(empty($_POST['bericht'])){
echo "U bent vergeten een bericht in te vullen";
$terug = true;
}
if($terug){
echo "<br><br><a href='javascript:history.go(-1)'>Terug</a>";
}
else {
$header = "From: ".$afzendernaam." <".$emailadres.">\r\n";
$header .= "Reply-To: ".$_POST['mailadres']."\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html; charset=iso-8859-1\r\n";
$header .= "X-Priority: 3\r\n";
$header .= "X-MSMail-Priority: Normal\r\n";
$header .= "X-Mailer: PHP / ".phpversion()."\r\n";

$post_bericht = nl2br($_POST['bericht']);

$bericht = "Het contactforumulier is ingevuld met het volgende bericht:<br /><br />
<table>
<tr>
<td width=150>
<b>Naam:</b>
</td>

<td>
".$_POST['naam']."
</td>
</tr>

<tr>
<td>
<b>Mailadres:</b>
</td>

<td>
<a href='mailto:".$_POST['mailadres']."'>".$_POST['mailadres']."</a>
</td>
</tr>
<tr>
<td>
<b>Telefoonnummer:</b>
</td>

<td>
".$_POST['telefoonnummer']."
</td>
</tr>

<tr>
<td>
<b>Website url:</b>
</td>

<td>
<a target='_blank' href='".$_POST['website']."'>".$_POST['website']."</a>
</td>
</tr>

<tr>
<td valign=top>
<b>Bericht:</b>
</td>

<td>
".$post_bericht."
</td>
</tr>
</table>";
$stuur = @mail($emailadres,$onderwerp,$bericht,$header);
if($stuur){
echo $bericht_bij_verstuurd;
}
else {
echo "Uw bericht kon niet worden verzonden";
}
}
}
else {
?>
<form method="post" action="">
<table class="style43">
<tr>
<td width="150" class="style42">
Naam:
</td>

<td>
<input type="text" name="naam" size="30" />
</td>
</tr>

<tr>
<td class="style41">
<span class="style40">E-mailadres</span><span class="style45">: </span>
</td>

<td>
<input type="text" name="mailadres" size="30" />
</td>
</tr>

<tr>
<td class="style41">
<span class="style40">Telefoonnummer</span><span class="style45">: </span>
</td>

<td>
<input type="text" name="telefoonnummer" size="30" />
</td>
</tr>

<tr>
<td class="style42">
Website url:
</td>

<td>
<input type="text" name="website" size="30" value="http://" >
</td>
</tr>

<tr>
<td valign="top" class="style41">
<span class="style40">Uw bericht:</span>
</td>

<td>
<textarea name="bericht" rows="8" cols="40" ></textarea>
</td>
</tr>


<tr>
<td style="height: 34px"><input name="reset" type="reset" value="Herstel" > </td>

<td style="height: 34px"><input type="submit" value="Verstuur" name="verstuur" >



</tr>
</table>
</form>
<?php
}
?>
 
Code kan tussen
Code:
tags en PHP kan tussen
PHP:

Het eerste wat me opvalt is dat je het naar een .htm bestand stuurt.
Op deze manier wordt de PHP niet uitgevoerd, daarvoor moet het een .php bestand zijn en moet hij worden geopend vanaf een webserver of een lokale server met PHP ondersteuning.
Al die tabellen waren nergens voor nodig geweest, maar dat is andere zorg.

Wat ik zelf zou doen.. is die mail() functie niet in een variabele gooien.
maar gewon direct uitvoeren.

PHP:
mail($emailadres,$onderwerp,$bericht,$header);
echo $bericht_bij_verstuurd;
 
Grumbkow,

Het formulier heb ik via diverse websites zo gemaakt. Kan beter ben ik van overtuigd. Ik voegde je code toe, maar die werkt niet bij mij.

Ik denk dat mijn vraag nog niet is beantwoord: Hoe verstuur ik het formulier naar mijn e-mailbox en leidt de submitknop diegene die het formulier heeft ingevuld naar de downloadpagina.


Risk

p.s.:
Mocht je een betere en strakkere code voor een formulier hebben dan denk ik dat mede forum leden er blij mee zijn. Ikin ieder geval, ben een leek.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan