Hallo allemaal,

Ik heb via een article in joomla een contact form gemaakt met een php mail script. Nu mijn vraag? Ik wil graag dat als ik op versturen druk dat de echo melding van bijvoorbeeld "Bedankt voor u bericht" op dezelfde pagina verschijnt, ik heb hem werkend maar nu krijg ik een aparte pagina met links boven in de echo melding. Ik wil het graag onder het forum hebben zo dat het forum dan weer leeg is of dat het form weggaat en dan het bericht komt, en misschien na een aantal seconden het form weer verschijnt.

Als ik het bericht maar op dezelfde pagina kan krijgen.
Ik heb er ook een ip melding in gestopt maar die werkt niet.
Hier volgt de code.

<p>
Tijdens onze live uitzendingen kunt u een verzoekje aanvragen of een reactie doen,<br />
dat kan via het onderstaande verzoek formulier.</p>

<form action="/mail.php" method="POST">
<p>
<strong>Naam:</strong></p>
<input name="name" size="25" type="text" />
<p>
<strong>Bericht:</strong></p>
<textarea cols="50" name="message" rows="20"></textarea><br />
<br />
<input type="submit" value="Versturen" />&nbsp;</form>



en hier onder de mail.php >

<?php $name = $_POST['name'];
$message = $_POST['message'];
$ip = $_SERVER['HTTP_CLIENT_IP'];
$formcontent = "Naam: $name \n
Bericht: $message \n
\n
IP adres van de luisteraar: $ip";
$recipient = "[email protected]";
$subject = "Verzoekje Radio Regenboog";
$mailheader = "From: $recipient \r\n";
mail($recipient, $subject, $formcontent, $mailheader, $ip) or die("Error!");
echo "Thank You!";
?>
Van dit:
<form action="/mail.php" method="POST">

naar:
<form action="" method="POST">
En mijn mail.php dan? Er is dan geen verwijzing meer, werkt die dan nog wel ?
Als de hele afhandeling in één bestand bestaat, dan kan je die action gewoon leeg laten.
Als het formulier en de afhandeling gescheiden zijn, in twee bestanden, dan moet je die action wel invullen.
Kun je mij helpen hoe ik dat in een bestand maak? Ik wil graag of een melding onder het form of na een paar seconden het form weer, en dat die dag leeg is.

Alvast bedankt

Dan moet je alles samenvoegen in één bestand.

<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
	// hier je afhandeling
} else {
?>
Hier je formulier
<?php
}
?>


In de afhandelingen kan je de meldingen die je krijgt (mail niet verzonden, mail wel verzonden, gegevens niet goed ingevuld) opslaan in een vaste variabele, welke je in je formulier kan echo'en. Let hierbij wel op dat je isset() gebruikt om te kijken of de variabele bestaat.

Dus geen echo's meer in je losse mail.php
Welke vaste variabelen bedoel je ?

Toevoeging op 18/10/2015 20:00:58:

"; $subject = "Verzoekje Radio Regenboog"; $mailheader = "From: $recipient \r\n"; mail($recipient, $subject, $formcontent, $mailheader, $ip) or die("Error!"); echo "Thank You!"; } else { ?-->



???????????
Een nieuwe, die je voor het gemak $melding kan noemen.
Ik heb in joomla 3 een nieuw article aangemaakt.
De volgende code ingevoegd --->

<!--?php
$action=$_REQUEST['action'];
if ($action=="") /* display the contact form */
{
?---->
<form action="" enctype="multipart/form-data" method="POST">
<p>
<strong>Naam:</strong></p>

<p>
<input name="name" size="30" type="text" value="" /></p>

<p>
<strong><span style="line-height: 1.6;">Bericht:</span></strong></p>

<p>
<textarea cols="50" name="message" rows="14"></textarea></p>

<p>
<input type="submit" value="Verstuur" />&nbsp;</p>
</form>
<!--?php
}
else /* send the submitted data */
{
$name=$_POST['name'];
$message=$_POST['message'];
if (($name=="")||($email=="")||($message==""))
else{
$from="From: $name";
$subject="Verzoekje Radio Regenboog";
mail("[email protected]", $subject, $message, $from);
echo "U verzoekje is verstuurt en wordt zo snel mogelijk bij de live dj gedraait";
}
}
<?php
}
?>-->

Nu krijg ik onder het form steeds dit te zien --->

", $subject, $message, $from); echo "Bedankt voor u bericht!"; } } -->
Ik vrees dat je PHP-code niet zomaar in Joomla werkend kan invoegen.

Ik ga er even na kijken.
Dankje

Reageren