Toon posts:

[Php] Formulier met foto

Pagina: 1
Acties:
  • 40 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik wil een contact formulier maken die naar mijn e-mail adres wordt opgestuurd doormiddel van een contact.php.
Ik heb 5 velden; Naam, Mail, Onderwerp, Opmerkingen en Foto.


Deze code heb ik al:
code:
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
<?
/*
   

*/

// ------------- CONFIGURABLE SECTION ------------------------

// $mailto - set to the email address you want the form
// sent to, eg
//$mailto       = "youremailaddress@example.com" ;

$mailto = 'blablabla@hotmail.com' ;

// $subject - set to the Subject line of the email, eg
//$subject  = "Feedback Form" ;

$subject = "Contact" ;

// the pages to be displayed, eg
//$formurl      = "http://www.example.com/feedback.html" ;
//$errorurl     = "http://www.example.com/error.html" ;
//$thankyouurl  = "http://www.example.com/thankyou.html" ;

$formurl = "http://arhcpictures.nl/contact.htm" ;
$errorurl = "http://www.arhcpictures.nl/mislukt.htm" ;
$thankyouurl = "http://www.arhcpictures.nl/bedankt.htm" ;

// -------------------- END OF CONFIGURABLE SECTION ---------------

$Naam = $_POST['Naam'] ;
$Mail = $_POST['Mail'] ;
$Onderwerp = $_POST['Onderwerp'] ;
$Opmerkingen = $_POST['Opmerkingen'] ;
$Foto = $_POST['Foto'] ;
$http_referrer = getenv( "HTTP_REFERER" );

if (!isset($_POST['Mail'])) {
    header( "Location: $formurl" );
    exit ;
}
if (empty($Naam) || empty($Mail) || empty($Onderwerp)) {
   header( "Location: $errorurl" );
   exit ;
}

$messageproper =

    "This message was sent from:\n" .
    "$http_referrer\n" .
    "------------------------- Opmerkingen -------------------------\n\n" .
    $Opmerkingen .
    
    "\n\n------------------------------------------------------------\n" ;


    

mail($mailto, $subject, $messageproper, "From: \"$Naam\" 
<$Mail>\nReply-To: \"$Naam\" <$Mail>\nX-Mailer: chfeedback.php 2.01" );
header( "Location: $thankyouurl" );
exit ;

?>



Het script werkt opzich goed, maar ik krijg alleen in het mailtje de Opmerkingen te zien. Hoe zorg ik ervoor dat ik alle velden te zien krijg (het lieft gescheiden door een alinea)?
Als ik er $Foto gewoon bijzet (tussen de lijnen bij $messageproper) dan krijg ik in het mailtje alleen de locatie van de foto te zien, en dus niet de foto zelf.

Weet iemand de oplossing?

[ Voor 9% gewijzigd door Verwijderd op 22-04-2004 19:08 ]


Verwijderd

Hoe ziet je form-tag eruit in je html?

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Als jij in $messageproper alleen de header en opmerkingen-vars zet, dan komen die anderen echt niet automagisch zoals jij 't nu hebt..

Verder is getenv() ook overbodig, aangezien de referer-var gewoon in $_SERVER["HTTP_REFERER"] zit..

Ook denk ik dat je voor je foto een normale text-input hebt gebruikt. Dit moet een file-input zijn waarna vervolgens de foto in $_FILE (of iets dergelijks) zit..

Gebruik anders voor de gein de phpinfo()-functie eens, dan gaat er een wereld voor je open aan server-variabelen :)

Verwijderd

Topicstarter
Ik ben niet echt thuis in php, dus snap ik niet echt helmaal wat je bedoelt en hoe ik dit dus op moet lossen 8)7
Wel bedankt voor je reactie _/-\o_

[ Voor 95% gewijzigd door Verwijderd op 22-04-2004 20:59 ]


Verwijderd

Topicstarter
Zo ziet mijn form eruit in de html:

code:
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="contact.php" name="contact">
<p>&nbsp;</p>
<table border="1" width="100%" id="table1">
<tr>
<td width="108"><font face="Tahoma" size="2">Naam</font></td>
<td><input type="text" name="Naam" size="20"></td>
</tr>
<tr>
<td width="108"><font face="Tahoma" size="2">E-mail</font></td>
<td><input type="text" name="Mail" size="20"></td>
</tr>
<tr>
<td width="108"><font face="Tahoma" size="2">
Onderwerp</font></td>
<td><input type="text" name="Onderwerp" size="20"></td>
</tr>
<tr>
<td width="108"><font face="Tahoma" size="2">
Opmerkingen</font></td>
<td><textarea rows="5" name="Opmerkingen" cols="30"></textarea></td>
</tr>
<tr>
<td width="108"><font face="Tahoma" size="2">Foto</font></td>
<td><input type="file" name="Foto" size="20"></td>
</tr>
</table>
<p><input type="submit" value="Verzenden" name="B1">
<input type="reset" value="Invoer wissen" name="B2">
<INPUT TYPE ="HIDDEN" NAME="OK_PAGE" VALUE="/bedankt.htm">
</p>
</form>

[ Voor 86% gewijzigd door Verwijderd op 22-04-2004 21:00 ]


Verwijderd

je mist sowieso in je <form> tag het juiste enctype attribuut, daarnaast moet je je foto als attachment mee sturen en moet je ook de juiste headers met je mail versturen. Zoals Osiris als zei: het bestand wat wordt geupload om per mail te versturen zal je moeten benaderen via $_FILE... genoeg om weer aan het werk te gaan ;)

Verwijderd

Topicstarter
Welke enctype moet ik dan doen?
En kan iemand me dan uitleggen hoe ik het moet doen met $File... _/-\o_

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Verwijderd schreef op 22 april 2004 @ 21:11:
Welke enctype moet ik dan doen?
En kan iemand me dan uitleggen hoe ik het moet doen met $File... _/-\o_
Mjah dit wordt wel erg hard een potje handjenemen, op www.php.net staat basiscursus forms bouwen en op www.phpfreakz.nl en related sites is ook genoeg tutorialwerk te vinden over file uploads.

Professionele website nodig?

Pagina: 1

Dit topic is gesloten.