contact formulier
Een woord van dank naar m'n maatje Niels :-)
Zonder Niels had ik dit zeker niet gered en zeker ook zijn inmense geduld heb ik menigmaal ernstig op proef gesteld.
Ook heb ik de css toegevoegd maar goed dit kan je ook weglaten of je eigen gebruiken.
Het is meer als leidraad voor diegene die dit nog niet heeft en graag een voorbeeld wil.
Voor het voorbeeld van het formulier heb ik m'n site neergezet en dan bovenaan in het menu kies je mail en voila het formulier.
Verder kan er een hoop veranderd worden of anders of weet ik wat.
Dit is mijn insteek en verwoording van mijn gedachtes en heb je zelf een betere of zie je deze niet zitten dan zet jouw versie hier on-line dan kunnen we die gaan bekijken :-)
Voorbeeld: http://www.lissydesign.info/?id=8
Gesponsorde koppelingen
PHP script bestanden
54 reacties op 'contact formulier'
Gesponsorde koppelingen
- Notice: undefined variable: REMOTE_ADDR in c:\ ...\mail.php on line 22
Ik heb ook twee ini_set's bijgeplaatst ( voor de SMTP server te definiƫren ). De mailtjes komen netjes aan, het enige wat ontbreekt is het subject, hoewel ik in dat veld toch 'reaktie van website' had ingevuld.
Voor de rest werkt het perfect !
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if(isset($_POST['Naam'])) { $Naam = $_POST['Naam']; }
if(isset($_POST['Email'])) { $Email = $_POST['Email']; }
if(isset($_POST['Adres'])) { $Adres = $_POST['Adres']; }
if(isset($_POST['Postcode'])) { $Postcode = $_POST['Postcode']; }
if(isset($_POST['Woonplaats'])) { $Woonplaats = $_POST['Woonplaats']; }
if(isset($_POST['Tel'])) { $Tel = $_POST['Tel']; }
if(isset($_POST['Bericht'])) { $Bericht = $_POST['Bericht']; }
if(isset($_POST['To'])) { $To = $_POST['To']; }
if(isset($_POST['Subject'])) { $Bericht = $_POST['Bericht']; }
//Je kunt het ook zo doen
if(isset($_POST['Naam'])) $Naam = $_POST['Naam'];
if(isset($_POST['Email'])) $Email = $_POST['Email'];
if(isset($_POST['Adres'])) $Adres = $_POST['Adres'];
?>
Is een paar tekens minder :P
stomme vraag he ik heb al van alles geprobeerd dus ik hoop dat jullie mij die laatste duwtje in de rug kunnen geven
Ik heb het script aan de gang, werkt eigenlijk meteen. Bedankt hiervoor!
Ik wil echter nog wat toevoegen, namelijk een onderwerp selectie. De volgende zaken heb ik toegevoegd:
Toegevoegd aan de variabelen set
if(isset($_POST['Onderwerp'])) { $Bericht = $_POST['Onderwerp']; }
Toegevoegd aan de validatie check
// als er niks bij onderwerp is ingevult geef error
if($Onderwerp == "")
{ $strError = "U moet wel een onderwerp selecteren"; }
Het onderwerp van de mail, wil ik hetzelfde hebben als de door de bezoeker geselecteerde onderwerp
<input type = 'hidden' name = '$Onderwerp' value = 'mail van jouw website'>
Onderwerp selectie, eerste is blank, voor de validatie check
<td class="style1">Onderwerp</td>
<td><select name="Onderwerp" type="text" class="style1" value="">
<option VALUE=""></option>
<option VALUE="Onderwerp1">Onderwerp 1</option>
<option VALUE="Onderwerp2">Onderwerp 2</option>
<option VALUE="Onderwerp3">Onderwerp 3</option>
<option VALUE="Onderwerp4">Onderwerp 4</option>
</SELECT>
</td>
Echter, als ik heb script run, krijg ik iedere keer de error melding v.w.b. het invullen van het onderwerp.
Verder krijg ik in de toegezonden e-mail, wanneer ik de validatie uitschakel, wel de regel Onderwerp: te zien, maar het geselecteerde onderwerp niet.
Iemand enig idee? Alvast hartelijk bedankt!
Gr,
JP Berkenhagen
// deze staat hieronder geschreven en kan je wegslashen wanneer je niet wil
include ("include/functions.php");
Zo ja, dan moet je op regel 176 het volgende wijzigen:
<td align="center"><br><br><p class="smallnavigation"></p></td>
in
<td align="center"><br><br><p class="smallnavigation"> </p></td>
Elwin
Dat je geen mail krijgt kan aan veel dingen liggen. Bijvoorbeeld dat je PHP geen toegang heeft tot sendmail of een SMTP-server, dat je je adres toch niet goed ingevuld hebt, of waarschijnlijk veel meer.
Tot hoever gaat het script? Wordt je netjes doorgestuurd naar bedankt.php?
Elwin
Hartelijk bedankt! Het werkt.
Het laatste waar ik nog tegenaanloop is de bedankt pagina, die niet laadt. In plaats daarvan krijg ik mijn formulier weer te zien met als melding:
Warning: Cannot modify header information - headers already sent by (output started at
.../form/form.php:2) in
.../form/form.php on line 99
Ik heb bovenin session_start(); en de beide "include" regels weggeslasht omdat ik die (nog) niet nodig heb.
De locatie van bedankt.php is in dezelfde folder als form.php
Alvast bedankt voor de hulp!
san the: ik heb het veranderd, hij verzend gewoon nog steeds netjes en gaat naar de bedankt pagina alleen die mails komen niet aan bij mij.
Ik heb het volgende gedaan:
ik heb de phpcode en de html gekopierd van hier en opgeslagen onder mail.php
functions heb ik weggeslashed
verbinding.php wederom gekopierd en zo opgeslagen en veranderd
ik heb de localhost zo gelaten mijn gebruikersnaam en de geen password
ik heb bij mysql_select_db de database naam die ik bij mijn instellingen op de site van lycos heb staan daar neergezet
en opmaak ook gewoon opgeslagen.
En nog maals bedankt iedereen
Je script leek mee een aardig begin om eindelijk eens wat meer van Php onder de knie te krijgen, maar er gaat gelijk iets mis. En ik heb dat wel vaker met Php-scripts. Ik zie in mijn browser een deel van de code en in jouw geval betreft het de VALUE's bij naam, adres, etc.. Snap jij -of iemand anders- hoe dat komt?? Ik zie geen onvolkomenheden.
G's
G's
De verandering van de extensie verandert vanalles, maar ik krijg er voorlopig vooral meer ipv minder foutmeldingen door. Zal de boel nog eens stap voor stap doorlopen, maar heb daar de komende dagen geen tijd voor. Het eventuele resultaat zal dus even op zich laten wachten.
G's
Heel veel suc6 ermee!!
Groet, lissy
**************************bedankt.php*********************
<html>
<head>
<title>jouw titel</title>
</head>
<body bgcolor="fffffff">
<div align="center">
2
3
4
5
6
7
8
9
10
include ("../include/db.php");
echo "<table width=\"50%\" align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"tekst\">";
echo "<tr><td align=\"center\"><br><br>Bedankt voor uw eMail bericht ".$_SESSION['Naam']." <br>Indien U dit wenst en hebt aangegeven nemen wij zo snel mogelijk contact met U op.<br><br>Even een opmerking:<br>indien u dit formulier verstuurt, mag u zeker een reactie verwachten.<br>Mocht dit niet zo zijn wilt u dan gewoon even telefoneren (010-jouw nummer),<br>want dat betekent dat de virusscanner uw mail heeft onderschept.</tr></td>";
echo "</table>";
echo '<meta http-equiv="Refresh" content="5; url=home.php">';
?>
</div>
</body>
</html>
ik krijg namelijk deze foutmelding.
Logisch want ik heb daar niets ingevuld, maar hoe moet ik dit regelen?
Warning: mysql_connect(): Access denied for user: 'jouw_accountnaam@10.144.0.124' (Using password: YES) ******************/mail/include/verbinding.php on line 3
Er kan geen verbinding worden gemaakt met de database
Hier dus de juiste gegevens invullen:
Code:
************************verbinding.php**************************
2
3
4
5
6
7
8
9
10
11
12
// Open de database connectie
$link = mysql_connect ("localhost", "jouw_accountnaam", "jouw_wachtwoord")
or die ("Er kan geen verbinding worden gemaakt met de database");
// Selecteer de juiste database
$res = mysql_select_db("jouw_databasenaam", $link);
if (!$res){
// er is een fout opgetreden bij het selecteren
echo "Er is een fout opgetreden bij het openen van de database, probeer het later nog eens";
}
?>
===> jouw_accountnaam // wat je van je provider hebt gekregen vul je hierin
===> jouw_wachtwoord // wat je van je provider hebt gekregen vul je hierin
===> jouw_databasenaam // wat je van je provider hebt gekregen vul je hierin
===> jouw_wachtwoord // wat je van je provider hebt gekregen vul je hierin
===> jouw_databasenaam // wat je van je provider hebt gekregen vul je hierin
Kun je wat voorbeelden geven??
Bijvoorbeeld jouw_accountnaam ----> frans.nl ofzo?
en jou_wachtwoord ----> wachtwoord om in te loggen bij je host
jouw_databasenaam ----> gebruikersnaam van je host
???
Hier een voorbeeld maar is dus fake/nep omdat ik je gegevens niet ken en ook niet moet weten omdat ik/of een ander anders bij de database kan en dit wil je als het goed is niet:
2
3
4
5
6
7
8
9
10
11
12
// Open de database connectie
$link = mysql_connect ("localhost", "frans01", "haVWx12")
or die ("Er kan geen verbinding worden gemaakt met de database");
// Selecteer de juiste database
$res = mysql_select_db("fransdatabse1", $link);
if (!$res){
// er is een fout opgetreden bij het selecteren
echo "Er is een fout opgetreden bij het openen van de database, probeer het later nog eens";
}
?>
Ik krijg de volgende melding.
Warning: Cannot modify header information - headers already sent by (output started at /home/necangel/public_html/contact/include/verbinding.php:13) in /home/necangel/public_html/contact/mail.php on line 92
wat kan ik hier aan doen?
zie link: http://www.necangel.nl/contact/mail.php
Groetjes
Johnny
Ik weet niet of iemand hier nog op gaat reageren maar ik probeer het toch maar even.
Ik ben vrij nieuw in heel het PHP gebeuren en heb dit script gebruikt als contact formulier. Dat werkt verder zonder problemen. Alle mails komen gewoon binnen. Heb ook een database aangemaakt, gebruiker toegevoegd.
Maar hoort dit script ook iets in de database weg te schrijven? dat gebeurd namelijk nog niet. In bedankt.php zie ik ook een include naar db.php. waar is dit voor?
groeten,
Tommy
Om te reageren heb je een account nodig en je moet ingelogd zijn.
- Details
Door:
Lissy Pixel- 8 jaar geleden
- 1.709 x bekeken
- Labels
- Geen tags toegevoegd.
- PHP scripts opties
- PHP algemeen
- Nieuwste PHP scripts
- PHP script toevoegen


PHP hulp
0 seconden vanaf nu