PHP Formulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dyon Kemper

Dyon Kemper

13/07/2010 14:53:52
Quote Anchor link
Hallo iedereen,

Ik zou me even kort voorstellen ik ben Dyon en ik ben al een tijd bezig met webdesign.
Ik heb het CSS en HTML al aardig onder de knie maar nu wil ik een formulier maken met PHP, op internet zijn er genoeg scripts te vinden dus die heb ik ook gevonden.
Zie hier mijn gevonden script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
if (isset($_POST['address']) && isset($_POST['subject']) && isset($_POST['body'])) {
if ($_POST['address'] == "" || $_POST['body'] == "") {
print_error();
print_form();
}
else {
mail("[email protected]", $_POST['subject'], $_POST['body'] . "\n" . $_POST['address']);
print_sent();
}
}
else {
print_form();
}

function
print_form() {
?>

<table width=100% height=100%>
<form action="http://www.jedomein.nl/plaats/ditbestand.php" method="POST">
<table>
<tr>
<td>Uw e-mail Address:</td>
<td><input type="text" name="address"></td></tr>
<tr>
<td>Uw naam</td>
<td><input type="text" name="subject"></td></tr>
<tr><td colspan=2><textarea cols=80 rows=12 name="body" class="text">Typ hier uw commentaar</textarea></td></tr>
<tr><td>&nbsp;</td><td><input type="submit" value="Zend de email"></td></tr>
</form>
</table>
<?
}

function
print_error() {
?>

<table width=100%>
<tr><td>Je hebt iets overgeslagen!</td></tr>
</table>
<?
}

function
print_sent() {
?>

<table width=100%>
<tr><td>Bericht verzonden!</td></tr>
</table>
<?
}
?>


Als ik formulier invul en laat verzenden naar mijn eigen email adress dan kom ik op deze pagina "http://www.jedomein.nl/plaats/ditbestand.php" en dat is ook logisch want dat staat in het script, maar ik ontvang helemaal geen email dus ik denk dat het met de form action gedeelte te maken heeft.
Wie zou mij kunnen uitleggen hoe ik dit script aan het werken krijg?
Ik blijf actief op dit forum en hoop hier nog veel te leren.

Met vriendelijke groeten,

Dyon

Gebruik in het vervolg voor stukken code, code tags. Dit leest voor iedereen een stuk fijner![/modedit]
Gewijzigd op 15/07/2010 10:59:48 door Bas IJzelendoorn
 
PHP hulp

PHP hulp

29/03/2024 16:23:39
 
Wesley Overdijk

wesley Overdijk

13/07/2010 14:57:34
Quote Anchor link
als dat hetzelfde script is, haal dan de action weg in je form en kijk in spam. Ook, probeer een beter, veiliger script te vinden. of gebruik phpmailer oid.
 
Dyon Kemper

Dyon Kemper

15/07/2010 09:59:40
Quote Anchor link
Hey bedankt voor je reactie Wesley, helaas heb ik het nog steeds niet aan de praat gekregen. Wel heb ik een beter script gevonden(naar mijn gevoel).
Ook deze krijg ik niet aan de praat, ik zou blij wezen als een van jullie er even wil naar kijken.

Hier de HTML:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<form method="post" action="contactp.php">
            Naam:*<br />
            <label>
            <input name="naam" type="text" id="naam" />
            </label>
                    <br />
          Achternaam:<br />
          <label>
          <input name="achternaam" type="text" id="achternaam" />
          </label>
          <br />
          E-Mail adres:*<br />
          <label>
          <input name="EmailFrom" type="text" id="EmailFrom" />
          </label>
          <br />
          Onderwerp:*<br />
          <label>
          <input name="onderwerp" type="text" id="onderwerp" />
          </label>
          <br />
          Bericht:*<br />
          <label>
          <textarea name="bericht" cols="55" rows="6" id="bericht"></textarea>
          </label>
          <br />
          <label>
          <input type="submit" name="Submit" value="Verzenden" />
          </label>
          <br />
          </form>


En hier de PHP script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
//gemaakt door Alexander de Jong, LexSoftware
//www.lexsoftware.nl
//voorbeeld www.lexsoftware.nl/contact.htm

// Verander de gegevens $EmailTo en $Subject

$EmailFrom = Trim(stripslashes($_POST['EmailFrom']));
$EmailTo = "[email protected]";
$Subject = "contact van website";
$naam = Trim(stripslashes($_POST['naam']));
$achternaam = Trim(stripslashes($_POST['achternaam']));
$onderwerp = Trim(stripslashes($_POST['onderwerp']));
$email = Trim(stripslashes($_POST['email']));
$bericht = Trim(stripslashes($_POST['bericht']));

// !!!NIET AAN KLOOTEN!!! Valideert de gegevens
$validationOK=true;
if (Trim($EmailFrom)=="") $validationOK=false; // als dit niet werkt ("@"".") even verwijderen.
if (Trim($naam)=="") $validationOK=false;
if (Trim($onderwerp)=="") $validationOK=false;
if (Trim($bericht)=="") $validationOK=false;
if (!$validationOK) {
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
  exit;
}


// Dit is de mail die naar jou verzonden wordt
$Body = "";
$Body .= "naam: ";
$Body .= $naam; // zo moet jou veld naam heten
$Body .= "\n";
$Body .= "achternaam: ";
$Body .= $achternaam; // zo moet jou veld naam heten
$Body .= "\n";
$Body .= "onderwerp: ";
$Body .= $onderwerp; //zo moet jou veld naam heten
$Body .= "\n";
$Body .= "email: ";
$Body .= $EmailFrom; //zo moet jou veld naam heten
$Body .= "\n";
$Body .= "bericht: ";
$Body .= $bericht; //zo moet jou text box heten
$Body .= "\n";

// verzend de email naar jou
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");

// verzend meteen door naar 1 van de pagina's
if ($success){
  print "<meta http-equiv=\"refresh\" content=\"0;URL=ok.htm\">"; // dit is de pagina voor het goedkeuren
}
else{
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; // dit is de error pagina
}
?>


Als ik dan op verzenden druk krijg ik dit te zien in mijn browser:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
"; exit; } // Dit is de mail die naar jou verzonden wordt $Body = ""; $Body .= "naam: "; $Body .= $naam; // zo moet jou veld naam heten $Body .= "\n"; $Body .= "achternaam: "; $Body .= $achternaam; // zo moet jou veld naam heten $Body .= "\n"; $Body .= "onderwerp: "; $Body .= $onderwerp; //zo moet jou veld naam heten $Body .= "\n"; $Body .= "email: "; $Body .= $EmailFrom; //zo moet jou veld naam heten $Body .= "\n"; $Body .= "bericht: "; $Body .= $bericht; //zo moet jou text box heten $Body .= "\n"; // verzend de email naar jou $success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>"); // verzend meteen door naar 1 van de pagina's if ($success){ print ""; // dit is de pagina voor het goedkeuren } else{ print ""; // dit is de error pagina } ?>



Zit er een fout in het script of ligt het aan mij?
De ID's zijn allemaal hetzelfde gebleven, body,achternaam,onderwerp etc.
Ik heb het boek van Peter Kassenaar bestelt Basiscursus PHP 5, en ik hoop dat ik hier wat meer kennis mee op doe.

Dyon

Gebruik in het vervolg voor stukken code, code tags. Dit leest voor iedereen een stuk fijner![/modedit]
Gewijzigd op 15/07/2010 11:06:17 door Bas IJzelendoorn
 
John D

John D

15/07/2010 10:17:17
Quote Anchor link
Waar voer je deze php uit ? Het lijkt erop alsof de php code niet uitgevoerd wordt maar gewoon getoond in je browser. Heb je dit ge-upload en voer je dit uit bij je hosting provider ?
Gewijzigd op 15/07/2010 10:19:16 door John D
 
Dyon Kemper

Dyon Kemper

15/07/2010 11:07:50
Quote Anchor link
Ik heb mijn eigen stukje domein gekocht bij een datacenter die gebruikt maakt van DirectAdmin. De PHP code heb ik opgeslagen op een aparte pagina genaamd contactp.php
Dus als ik op verzenden klik wordt ik naar deze pagina toe gelinkt.
Ik hoop dat jullie hier wat meer aan hebben zo niet laat het even weten.

Dyon
 
Wout van der Burg

Wout van der Burg

15/07/2010 11:25:32
Quote Anchor link
Houd de rersultaten van de voorwaarden van de if-lus tussen brackets ( { en } )

Spreek tevens de trimfunctie aan met trim(); en niet met Trim();
Gewijzigd op 15/07/2010 12:27:20 door Wout van der Burg
 
Wesley Overdijk

wesley Overdijk

15/07/2010 12:52:53
Quote Anchor link
Ik herken dit probleem, probeer het eens opnieuw te schrijven in een nieuw document. Volgens mij ligt het aan je document type.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.