html formulier met php script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Nick van den Berg

Nick van den Berg

13/10/2010 11:31:09
Quote Anchor link
Hallo mensen. Ik heb problemen met het onderstaande script werkend te krijgen zodat de echo van php op dezelfde html pagina wordt weergegeven. Niet in een nieuwe pagina. Kan iemand kijken wat ik fout doe?

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<HTML>
<HEAD>

<TITLE>
Titel
</TITLE>

</HEAD>

<P STYLE="margin: 0pt 12pt">
<FONT FACE="verdana" SIZE="2">
Wilt u direct geheel vrijblijvend een offerte aanvragen? Vul dan het onderstaande formulier zo volledig mogelijk in.<P>

<?php  
if (!empty($_POST['naam']) || !empty($_POST['email']) || !empty($_POST['bericht'])) {  
echo 'U heeft niet alle velden ingevuld!';  
exit;  
}
  

$naam = htmlspecialchars($_POST['naam']);  
$email = htmlspecialchars($_POST['email']);  
$bericht = htmlspecialchars($_POST['bericht']);  
 
$tijd = time();  
$datum = strftime('%d/%m/%y %H:%M', $tijd);  
$ip = getenv('REMOTE_ADDR');  
$message = $naam.' met het e-mailadres '.$email.' stuurde op '.$datum.' het volgende bericht:  
____________________________________  
'
.$bericht.'  
------------------------------------'
;  
  
mail('[email protected]', 'Bericht van http://www.mijnsite.nl/', $bericht, 'From: '.$email);  

echo "Uw bericht is verzonden. U krijgt zo snel mogelijk antwoord.";

?>


<TABLE BORDER="O">

<FORM action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

<TR>
<TD>
<FONT FACE="verdana" SIZE="2">
Naam:
</TD>
<TD>
<input type=''text'' name=''naam'' style=''width: 280px;'' value="<?php echo {GET_POST['naam']} ?>" />
</TD>
</TR>

<TR>
<TD>
<FONT FACE="verdana" SIZE="2">
E-mail:
</TD>
<TD>
<input type=''text'' name=''email'' style=''width: 280px;'' value="<?php echo {GET_POST['email']} ?>" />
</TD>
</TR>

<TR>
<TD>
<FONT FACE="verdana" SIZE="2">
Omschrijving:
</TD>
<TD>
<TEXTAREA NAME=''bericht'' ROWS=''3'' style=''width: 280px;'' value="></TEXTAREA>

</TD>
</TR>

<TR>
<TR>
<TD>
<FONT FACE="verdana" SIZE="2">
</TD>
<TD>
<INPUT TYPE="submit" NAME="Submit" VALUE="Verzenden">
</TD>
</TR>
</FROM>
</TABLE>
</DIV>

</BODY>
</HTML>
Gewijzigd op 13/10/2010 11:46:35 door Nick van den Berg
 
PHP hulp

PHP hulp

24/05/2024 09:02:37
 

13/10/2010 11:34:37
Quote Anchor link
Gebruik hier op het forum [code] en [/code] tags.
Doe je html 4?
Gebruik geen tabellen om je formulieren in te stoppen.
Wat doet die lege p-tag daar op het end?

Nieuwe pagina? Je zult altijd een pagina naar de server moeten sturen. Of je moet met ajax gaan werken. Maar dan zou ik eerst html gaan leren
Verder:
- controleren of een form gepost is met if($_SERVER['REQUEST_METHOD'] == 'POST')
- zie $_SERVER.
- zie echo
- mail injections mogelijk
- php_self is gevaarlijk.
Gewijzigd op 13/10/2010 11:39:30 door
 
- SanThe -

- SanThe -

13/10/2010 11:35:19
Quote Anchor link
Kijk eens onder code-tags in http://www.phphulp.nl/veel-gestelde-vragen/#bbcode

Toevoeging op 13/10/2010 11:36:17:

Een textarea heeft geen value="..".

Toevoeging op 13/10/2010 11:38:25:

$_SERVER['HTML_SELF'] bestaat niet

Toevoeging op 13/10/2010 11:39:23:

Zet dit bovenin.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

// rest
?>
 
- Dave -

- Dave -

13/10/2010 11:43:38
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo {GET_POST['bericht']}
?>


Hoort ook niet zo.
http://www.w3schools.com/php/php_post.asp
Gewijzigd op 13/10/2010 11:44:28 door - Dave -
 
Nick van den Berg

Nick van den Berg

13/10/2010 11:45:23
Quote Anchor link
Wat ik bedoel Karl Karl:

Eerst had ik een best voorbeeld.html.
Hierin stond de html code van het formulier.
Bij form action stond eerst voorbeeld.php.

Zo werkte het wel, alleen kwam de echo op een 'lege' pagina te staan.
Wat ik dus werkend wil krijgen is dat de echo op dezelfde voorbeeld.html pagina komt te staan. Ik had een beetje rondgekeken en dacht dat
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2

<FORM action="<?php echo $_SERVER['HTML_SELF']; ?>" method="post">


de oplossing was maar als ik hem nu opload naar de server en ik verzend een formulier dan krijg ik een foutmelding: pagina niet gevonden met dan die bovenstaande php code erachter.

Hopelijk kan je me helpen.
Mvg,
Nick
 
- Dave -

- Dave -

13/10/2010 11:46:36
Quote Anchor link
Als je nou eerst het bovenstaande oplost.
 
Nick van den Berg

Nick van den Berg

13/10/2010 11:49:23
Quote Anchor link
Ik heb al die stomme foutjes er nu uitgehaald. (was van het proberen)
Mijn code ziet er nu zo uit:

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<HTML>
<HEAD>

<TITLE>
Title
</TITLE>

</HEAD>

<P STYLE="margin: 0pt 12pt">
<FONT FACE="verdana" SIZE="2">
Wilt u direct geheel vrijblijvend een offerte aanvragen? Vul dan het onderstaande formulier zo volledig mogelijk in.<P>

<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

if (!empty($_POST['naam']) || !empty($_POST['email']) || !empty($_POST['bericht'])) {  
echo 'U heeft niet alle velden ingevuld!';  
exit;  
}
  

$naam = htmlspecialchars($_POST['naam']);  
$email = htmlspecialchars($_POST['email']);  
$bericht = htmlspecialchars($_POST['bericht']);  
 
$tijd = time();  
$datum = strftime('%d/%m/%y %H:%M', $tijd);  
$ip = getenv('REMOTE_ADDR');  
$message = $naam.' met het e-mailadres '.$email.' stuurde op '.$datum.' het volgende bericht:  
____________________________________  
'
.$bericht.'  
------------------------------------'
;  
  
mail('[email protected]', 'Bericht van http://www.mijnsite.nl/', $bericht, 'From: '.$email);  

echo "Uw bericht is verzonden. U krijgt zo snel mogelijk antwoord.";

?>


<TABLE BORDER="O">

<FORM action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

<TR>
<TD>
<FONT FACE="verdana" SIZE="2">
Naam:
</TD>
<TD>
<input type=''text'' name=''naam'' style=''width: 280px;'' value="<?php echo {GET_POST['naam']} ?>">
</TD>
</TR>

<TR>
<TD>
<FONT FACE="verdana" SIZE="2">
E-mail:
</TD>
<TD>
<input type=''text'' name=''email'' style=''width: 280px;'' value="<?php echo {GET_POST['email']} ?>">
</TD>
</TR>

<TR>
<TD>
<FONT FACE="verdana" SIZE="2">
Omschrijving:
</TD>
<TD>
<TEXTAREA NAME=''bericht'' ROWS=''3'' style=''width: 280px;''></TEXTAREA>

</TD>
</TR>

<TR>
<TR>
<TD>
<FONT FACE="verdana" SIZE="2">
</TD>
<TD>
<INPUT TYPE="submit" NAME="Submit" VALUE="Verzenden">
</TD>
</TR>
</FROM>
</TABLE>

</DIV>

</BODY>
</HTML>
Gewijzigd op 13/10/2010 11:50:18 door Nick van den Berg
 



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.