formulier werkt niet!

Status
Niet open voor verdere reacties.

adisa

Gebruiker
Lid geworden
15 aug 2007
Berichten
14
Beste mensen,

het is voor mij al enige tijd geleden dat ik een contact form heb gemaakt.
Nu dacht ik dat het heel simpel zou gaan. Ik vraag alleen om 't invoeren van 'n emailadres, het ev. aanklikken van een checkbox, send en da's alles!

Heb volgens mijn oude notities de html gemaakt en een simple oude mail-a-form.php gebruikt. Daarnaast heb ik de send knop, input van het emailadres en de checkboxes zelf gestyled. Heb ook een thank.you html aangemaakt voor na het klikken van de send knop.

Maar niks werkt! (Bedankt/thank.you html wordt niet opgeroepen, gegevens worden niet verwerkt en naar desbetreffende emailadres verstuurd)
Ik heb van alles uitgeprobeerd, sites doorzocht, etcetc. Maar op de een of andere manier lukt het me niet eruit te komen!

Ben nu van voor af aan begonnen zonder eigen styling, en dit is wat ik tot nu toe heb.
Kan je aub met me meekijken en me vertellen wat ik fout doe/anders moet doen?

Alvast bedankt,
Adisa
----------------------------------------html-------------------------------------------------------------
HTML:
<form method="post" action="mail-a-form.php">
<!--Het email adres waar het bericht naar toe verstuurd moet worden-->
	<input type="hidden" name="to" value="adiskocan@gmail.com" />
<!--Verplichte velden-->
	<input type="hidden" name="fields" value="mailadres,bericht" />

<!--Bevestigings pagina-->
	<input type="hidden" name="nextpage" value="thank_you.html" />
          
          <input id="mail" name="mailaddress"/>     
  
        <input type="checkbox"  id="hard" name="subscription" />  
 <input type="checkbox" id="pdf" name="subscription" />
 
          <input id="send" type="send" value=""/>
<input name="submit" id="send"  type="button" value=""/>

    
	 </form>
------------------------------------------mail-a-form---------------------------------------------------------
PHP:
<?

/*------------------------------------------------------------------
Mail a form, mailing script
	
------------------------------------------------------------------*/
if(!$_POST) {
	
	die("[Error] Dit script moet worden aangeroepen via een formulier verzending.");
}
else {

/*------------------------------------------------------------------
Emailbody en emailheader variabelen
------------------------------------------------------------------*/
$s_emailbody = "De volgende gegevens zijn verstuurd\n\n";

/*------------------------------------------------------------------
Als de verplichte velden vergeten zijn, of leeg zijn laten we een 
error zien.
------------------------------------------------------------------*/
if(!isset($_POST["nextpage"])) {
	die("[Error]  bevestigings pagina opnemen");
}
if(!isset($_POST["to"]) || $_POST["to"] == false) {
	die("[Error]  veld 'to' invullen (value) [email]uwnaam@domein.nl[/email]");
}
if(!isset($_POST["subject"])) {
	$subject = "mailadres";
}
	
if ($_POST['fields']) {
	$verplicht = explode(",", $_POST['fields']);
	for ($nr=0; $nr < count($verplicht); $nr++) {
		if (!$_POST[$verplicht[$nr]]) {
			die("[Error]  veld ".$verplicht[$nr]."verplicht");
		}
	}
}
/*------------------------------------------------------------------
Elke veldnaam en waarde toevoegen aan $s_emailbody
------------------------------------------------------------------*/
	for ($i=0;$i<sizeof($_POST);$i++){
		
		if(key($_POST) != "nextpage" && key($_POST) != "to" && key($_POST) != "subject" && key($_POST) != "fields" && key($_POST) != "from") {
			
			$s_emailbody .= key($_POST).":\t\t";
			$s_emailbody .= current($_POST)."\n";
		}

		next($_POST);		
	}

if(!@mail($_POST["to"], $subject, $s_emailbody, "From: $from")) {
	
	
	
	
	die("There has been an error, please try again");
}
else {
		
	header("Location: ".$_POST["nextpage"]);
}

}

?>
 
Laatst bewerkt door een moderator:
Tsja, waarom makkelijk doen als het ook moeilijjk kan ?
Ik snap geen Jota van jouw code, veel te ingewikkeld. :eek:

Probeer dit eens:
contact.php

Code:
<?php
$submit=$_POST['submit'];
if ($submit=='')
{
?>

 <center> 
<form  action="contact.php" method="post" > 

<table border="0">
<tr><td ><font color="#0000CC">Naam:&nbsp;&nbsp;</font></td>
<td ><input type="text" name="naam" size="54" value="" /></td>
</tr><tr>
<td ><font color="#0000CC">Emailadres:&nbsp;&nbsp;</font></td>
<td><input type="text" name="emailadres" size="54"  value="" /></td>
</tr>

<tr>
<td ><font color="#0000CC">Onderwerp:&nbsp;&nbsp;</font></td>
<td><input type="text" name="onderwerp" size="54"  value="" /></td>
</tr>
<tr><td height="40"></td><td></td></tr>
<tr>
<td colspan="2">
 <font color="#0000CC">Bericht:</font><br />
<textarea class="bericht" name="bericht" cols="70" rows="7"  ></textarea><br /><br />
 <input type="submit" name="submit" value="Verzend het bericht" /></td></tr>
</table></form></center>
<?php
}
else {

$c = $_SERVER['REMOTE_ADDR']; /* ipadres van degene waar de website op het scherm verschijnt */
$naam=$_POST['naam'];         
$emailadres=$_POST['emailadres'];  
$onderwerp=$_POST['onderwerp']; 
$bericht=$_POST['bericht']; 


if ($naam==''||$emailadres==''||$onderwerp==''||$bericht==''){echo 'U heeft niet alles ingevuld';
?>
 <center> 
<form action="contact.php" method="post"> 

<table border="0">
<tr><td ><font color="#0000CC">Naam:</font></td>
<td >
<input type="text" name="naam" value="<?php echo $naam;  ?>" />
</td>
</tr>

<tr>
<td ><font color="#0000CC">Emailadres:</font></td>
<td>
<input type="text" name="emailadres" value="<?php echo $emailadres;  ?>" />
</td>
</tr>

<tr>
<td ><font color="#0000CC">Onderwerp:</font></td>
<td>
<input type="text" name="onderwerp" value="<?php echo $onderwerp;  ?>" />
</td>
</tr>
<tr>
<td colspan="2">

 <font color="#0000CC">Bericht:</font><br />
<textarea class="bericht" name="bericht" cols="50" rows="5"  ><?php echo $bericht;  ?></textarea><br /><br />
 <input type="submit" name= "submit" value="Verzend het bericht"  /></td>
</tr>

</table>
</form>
</center>

 <?php
} 
elseif (ereg("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+",$emailadres)) 


$msg='ipadres:' .$c.' - naam: '.$naam.' - emailadres: '.$emailadres.' -  onderwerp: '.$onderwerp.' -  bericht: '.$bericht;

$recipient="VUL HIER JE EIGEN EMAILADRES IN  !!!!!!";	  
$subject.='Bericht van de website ';

$mailheaders .= "From: Website \n";
$mailheaders .= "Reply-To: ".$emailadres;
 //send the mail
 mail($recipient, $subject, $msg, $mailheaders);
 
 echo '<br /><br /><center><font size="5" color="blue"> Bericht is verzonden</font></center>';
 echo'<meta HTTP-EQUIV="REFRESH" content="3; url=HIER JE WEBISTE/BEDANKPAGINA">';
}
else
{
?>
<br /><center><font size="5" color="red"> Emailadres is niet goed</font></center><br /><br />
 <center> 
<form action="contact.php" method="post"> 

<table border=0>
<tr><td ><font color="#0000CC">Naam:</font></td>
<td >
<input type="text" name="naam" value="<?php echo $naam;  ?>" />
</td>
</tr>

<tr>
<td ><font color="#0000CC">Emailadres:</font></td>
<td>
<input type="text" name="emailadres" value="<?php echo $emailadres;  ?>" />
</td>
</tr>

<tr>
<td ><font color="#0000CC">Onderwerp:</font></td>
<td>
<input type="text" name="onderwerp" value="<?php echo $onderwerp;  ?>" />
</td>
</tr>
<tr>
<td colspan="2">

 <font color="#0000CC">Bericht:</font><br />
<textarea class="bericht" name="bericht"  cols="50" rows="5"  ><?php echo $bericht;  ?></textarea><br /><br />
 <input type="submit" name= "submit" value="Verzend het bericht" /></td>
</tr>

</table>
</form>
</center>

 <?php
 }
}
?>
 
Beste Jedi,

ik snap niks van php, dus ik snap ook niet veel van het script wat je me hebt toegestuurd.

Ik zou graag een externe php willen die ik in mijn html kan oproepen.
Bovendien heb ik een script nodig die alleen de gegevens voor het invoeren van een emailadres, het aanvinken van een checkbox, en een send button/image verwerkt.
Textareas, etc is dus overbodig. Labels zij ook overbodig omdat ik background images ga gebruiken.

Ik ga er na het eten nogmaals naar kijken in de hoop dat ik er uitkom.
In ieder geval bedankt voor je bijdrage!

Smakelijk eten,

Adisa
 
een php file kun je net zo aanroepen als een html file.

Ik ben ook geen kei in php, dus ik doe het met de meest eenvoudige commando's bouwen, daarom dacht ik dus ook dat het misschien wat leesbaarder was dan jouw code. :o

dat een script het eerst deed en nu niet meer kan als oorzaak hebben dat je hoster wat wijzigingen op z'n server heeft gedaan.

Zo gebruikte ik vroeger sendmail.pl, totdat het niet meer ondersteunt werd.

Als jouw hoster php ondersteunt dan kun je in ieder geval kijken hoe mijn script er in je browser er uit ziet. :thumb:
 
Jedi,
bedankt voor je bijdrage.
Helaas werkte dit script niet voor mij.
Als ik een script heb gevonden die werkt en vooral ook aansluit op mijn wensen laat ik het weten.

Groetjes,

Adisa
 
Bedankt Frats.
Ben er mee in de weer geweest. Maar heb inmiddels via via een voor mij duidelijke en bewerkbare contactformulier binnen en alles werkt zoald het moet.

In ieder geval bedabkt voor de moeite!

Groetjes,
Adisa
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan