Toon posts:

[php/html] output mailform in een tabel *simpel dus*

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

Verwijderd

Topicstarter
Ik heb een form gemaakt voor mijn site mbv van een html form en een php script.

Nu wil ik de output van dit formulier in een tabel 'gieten', zo nodig met html.
Hoe kan ik dit het beste aanpakken?

form:

HTML:
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
<html>
<head>
<title>Aanmeldformulier</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="stylesheet.css" rel="stylesheet" type="text/css">
</head>

<body class="algemeen">
<form name="formmail" action="mail.php" method="post" >
  <table class="algemeen" width="50%" border="0">
    <tr> 
      <td colspan="2"><B>Aanmeldformulier</b></td>
    </tr>
    <tr> 
      <td height="20" colspan="2">&nbsp;</td>
    </tr>
    <tr> 
      <td width="30%"><b>Bedrijfsnaam* : </b></td>
      <td width="46%"><input type="text" name="name"></td>
    </tr>
    <tr> 
      <td><b>Adres : </b></td>
      <td><input type="text" name="adress"></td>
    </tr>
    <tr> 
      <td><b>Postcode : </b></td>
      <td><input type="text" name="zip"></td>
    </tr>
    <tr> 
      <td><b>Plaats* : </b></td>
      <td><input type="text" name="city"></td>
    </tr>
    <tr> 
      <td><b>E-mail* :</b></td>
      <td><input type="text" name="email"></td>
    </tr>
    <tr> 
      <td><b>Tel* : </b></td>
      <td><input type="text" name="tel"></td>
    </tr>
    <tr> 
      <td><b>Fax : </b></td>
      <td><input type="text" name="fax"></td>
    </tr>
    <tr> 
      <td height="200"><B>Diensten:</B></td>
      <td> 
        <BR>
        Abonnementen:
        <BR><BR> 
        <input type="radio" name="abo" value="Basic (€/mnd)">Basic: €/maand<BR> 
        <input type="radio" name="abo" value="Advanced (€/mnd)">Advanced: €/maand<BR> 
        <input type="radio" name="abo" value="Premium (€/mnd)">Premium: €/maand
        <BR><BR><BR>
        
        Banners:
        <BR><BR> 
        <input type="radio" name="banner" value="geen banner">Geen banner<BR> 
        <input type="radio" name="banner" value="gemeente banner (€/mnd)">Gemeente banner: €/maand<BR> 
        <input type="radio" name="banner" value="hoofd banner (€/mnd)">Hoofd banner: €/maand</td><BR>
    </tr>
    <tr> 
      <td height="20" colspan="2">&nbsp;</td>
    </tr>
    <tr> 
      <td height="86"><b>Opmerkingen:</b></td>
      <td><textarea name="comments" rows="10"></textarea></td>
    </tr>
    <tr> 
      <td height="20" colspan="2"></td>
    </tr>
    <tr> 
      <td colspan="2"><i>* = verplichte velden</i> </td>
    </tr>
    <tr> 
      <td height="20" colspan="2">&nbsp;</td>
    </tr>
    <tr> 
      <td colspan="2"> <center>
          <input type="submit" name="Submit" value="Verstuur">
          <input type="reset" name="reset" value="Wis Velden">
        </center></td>
    </tr>
  </table>

</form>
</body>
</html>



en mail.php:

PHP:
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
<?

$to = "info@test.nl";
$name = $name;
$adress = $adress;
$zip = $zip;
$city = $city;
$tel = $tel;
$fax = $fax;
$email = $email;
$comments = $comments;
$abo = $_POST['abo'];
$banner = $_POST['banner'];

$today = date ("l, F jS Y");

//>----------------------------------------------------------------------------<
//> Script opties                                                                          <
//>----------------------------------------------------------------------------<

$denyall = "1";
$siteurl = "www.test.nl";
$callingurl = getenv("HTTP_REFERER");

$autoresponse = "1";
$confsubject = "Aanmelding test.NL ontvangen";
$automessage = "Bedankt voor het aanmelden op test.NL, uw aanvraag wordt zo spoedig mogelijk behandeld";

//>----------------------------------------------------------------------------<
//> Controleren of het script vanaf de juiste site is geopend      <
//>----------------------------------------------------------------------------<

if ($denyall == "1") {
        $siteurllen = strlen($siteurl);
        $striphttp = ereg_replace ("http://", "", $callingurl);
        $urltochk = substr($striphttp, 0, $siteurllen);
        if ($siteurl != $urltochk) {
                readfile("outside.html");
                exit;
        } else {
        }
}

//>----------------------------------------------------------------------------<
//> Controleren of alle velden ingevuld zijn                                 <
//>----------------------------------------------------------------------------<

if (($name == "") || ($email == "") || ($city == "") || ($tel == "")) {
        readfile("blankfields.html");
        exit;
        } else {
        }


//>----------------------------------------------------------------------------<
//> Controleren of het email adres geldig is                                <
//>----------------------------------------------------------------------------<

if (($email != "")) {
        $locationofat = strpos($email, '@');
        $locationofdot = strrpos($email, '.');
        if (($locationofat == "0") || ($locationofdot < $locationofat) || $locationofdot == "0") {
                readfile("bademail.html");
                exit;
                } else {
                }
}

//>----------------------------------------------------------------------------<
//> Verwijder lege velden                                                            <
//>----------------------------------------------------------------------------<

if ($adress == "Blank") {
    $adress = "";
    }
if ($zip == "Blank") {
    $zip = "";
    }
if ($fax == "Blank") {
    $fax = "";
    }
if ($comments == "Blank") {
    $comments = "";
    }

//>----------------------------------------------------------------------------<
//> Alles is OK, email verzenden                                                  <
//>----------------------------------------------------------------------------<
//> Eerst message body opstellen.                                             <
//>                                                                                               <
//>----------------------------------------------------------------------------<

$msg .= "Het volgende bedrijf heeft zich aangemeld op test.NL:\n\n";

$msg .= "Bedrijfsnaam: $name\n";
if ($adress != "") {
     $msg .= "Adres: $adress\n";
     }
if ($zip != "") {
     $msg .= "Postcode: $zip\n";
     }
$msg .= "Plaats: $city\n";
$msg .= "Tel: $tel\n";

if ($fax != "") {
     $msg .= "Fax: $fax\n";
     }
$msg .= "E-mail: $email\n";

$msg .= "Abonnement: $abo\n";

$msg .= "Banner: $banner\n\n";

if ($comments != "") {
     $msg .= "Opmerkingen: $comments\n\n\n";
     }


$msg .= "Verzonden op: $today\n";

//>----------------------------------------------------------------------------<
//> Verzend email                                                                        <
//>----------------------------------------------------------------------------<

$mailheaders = "From: $email\n";
$mailheaders .= "Reply-To: $email\n\n";

mail($to, "Aanmelding tets.NL", $msg, $mailheaders);

//>----------------------------------------------------------------------------<
//> Autoresponse email                                                               <
//>----------------------------------------------------------------------------<

if ($autoresponse == "1") {
        $to1 = $email;
        $email = $to;
        $to = $to1;
        $subject = $confsubject;

        $msg = "$automessage\n\n";
        
        $msg .= "De volgende gegevens zijn verzonden:\n\n";
        
        
        $msg .= "Bedrijfsnaam: $name\n";
        
        if ($adress != "") {
        $msg .= "Adres: $adress\n";
         }
        
        if ($zip != "") {
        $msg .= "Postcode: $zip\n";
             }
        
        $msg .= "Plaats: $city\n";
        
        $msg .= "Tel: $tel\n";

        if ($fax != "") {
        $msg .= "Fax: $fax\n";
          }
        
        $msg .= "E-mail: $to1\n";
        
        $msg .= "Abonnement: $abo\n";

        $msg .= "Banner: $banner\n\n";

        if ($comments != "") {
        $msg .= "Opmerkingen: $comments\n";
         }
        
        
        
        $mailheaders = "From: $email\n";
        $mailheaders .= "Reply-To: $email\n\n";

        mail($to, $subject, $msg, $mailheaders);

        readfile("autothankyou.html");

        } else {
        readfile("thankyou.html");
        }

exit;


Is het bijvoorbeeld ook mogelijk om heel de email body in een apart bestand te zetten. Zodat ik die eventuele HTML code niet tussen de PHP heb staan.

Heeft iemand hier een simpele en duidelijke oplossing voor?


PS ja ik heb al veel tutorials gelezen en al heel wat dagen gegoogled maar er ik heb er nog steeds geen eenduidig antwoord op gevonden.

PS2 als er nog opmerkingen zijn over mijn PHP gebruik, laat het weten. Doe ik het helemaal fout?? Let me know!

Verwijderd

Ik begrijp niet helemaal wat je nou precies wilt, wil je de mail versturen en dan een overzicht van het gestuurde mailtje of wil je het mailtje opslaan om later terug te kijken?

Heb je een database?

Laat het even weten

Verwijderd

Topicstarter
Verwijderd schreef op 07 oktober 2004 @ 11:45:
Ik begrijp niet helemaal wat je nou precies wilt, wil je de mail versturen en dan een overzicht van het gestuurde mailtje of wil je het mailtje opslaan om later terug te kijken?

Heb je een database?

Laat het even weten
excuses voor de onduidelijkheid.

de gegevens van dit formulier worden naar mijn mail verstuurd.
de layout van deze mail wil ik graag veranderen.
ik wil graag dat deze in een tabel geplaatst worden. (opmaak van een tabel)
ik maak (nog) geen gebruik van een database, maar misschien pas ik dit later wel toe.
ik wil het eerst zo eens werkend krijgen.
waarom ik het in een tabel wil? Als het al in een tabel staat kan ik het makkelijk overplaatsen naar een database(je) op mijn pc (dus niet online).

Verwijderd

Zie net dat je wat anders bedoeld,

van een tabel naar een databaseje??? je bedoeld toch een html tabel? dit heeft niks te maken met een database.

Je zou wel de variabelen op kunnen slaan in een tekst bestand die je later weer kan includen met php.

\$var="email content"; etc etc

Of is dit het ook niet

[ Voor 69% gewijzigd door Verwijderd op 07-10-2004 12:16 ]


Verwijderd

Topicstarter
Ik denk dat het veel simpeler is dan jij denkt.

Zoals het formullier nu werkt, komt de ingevulde informatie (van het contactformulier) in een rijtje onder elkaar binnen.

Ik wil dit graag een andere layout geven: bijvoorbeeld in een tabel (nix met databases te maken: puur layout).

Heel simpel waarschijnlijk, maar ik weet het gewoon niet.

Misschien moet ik het anders stellen:

de ingevulde velden van dit mailformulier komen nu in mijn mail binnen, ik wil graag deze mail met een HTML code aanpassen zodat hij een gunstige layout voor mij heeft.
Hoe doe ik dit? Plaats ik de html code gewoon in de PHP of is het mogelijk om een apart bestand bijv. email.html te creeeren waarin ik dan de verzonden mail naar mijn email kan bewerken. En aangeef hoe alle informatie in de email geplaatst wordt.

[ Voor 40% gewijzigd door Verwijderd op 07-10-2004 12:49 ]


Verwijderd

Ik hadd ik het toch goed voordat ik de edit deed. 8)7

Nou komt ti. van de zend site. en idd simpel

PHP:
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
<?php
/* recipients */
$to  = "mary@example.com" . ", " ; // note the comma
$to .= "kelly@example.com";

/* subject */
$subject = "Birthday Reminders for August";

/* message */
$message = '
<html>
<head>
 <title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
 <tr>
  <th>Person</th><th>Day</th><th>Month</th><th>Year</th>
 </tr>
 <tr>
  <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
 </tr>
 <tr>
  <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
 </tr>
</table>
</body>
</html>
';

/* To send HTML mail, you can set the Content-type header. */
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* additional headers */
$headers .= "To: Mary <mary@example.com>, Kelly <kelly@example.com>\r\n";
$headers .= "From: Birthday Reminder <birthday@example.com>\r\n";
$headers .= "Cc: birthdayarchive@example.com\r\n";
$headers .= "Bcc: birthdaycheck@example.com\r\n";

/* and now mail it */
mail($to, $subject, $message, $headers);
?>

Verwijderd

Topicstarter
thnx!

1 vraagje dan nog, in het voorbeeld dat je me gegeven had heb je dus inderdaad een HTML ingepast in de php, maar hoe kun je de variabelen die ze ingevoerd hebben nu terug laten komen in die html?

dus om jouw voorbeeld aan te houden:

Sally heeft bijvoorbeeld ingevuld dat ze op 17 Augustus 1973 is geboren, hoe kun je ervoor zorgen dat dit automatisch terug komt in de message body.

Want zoals ik het nu zie is de messsage body nu gewoon HTML en staan er geen variabelen in die uit het formulier wordt gehaald. Of zie ik het fout!?

zoiets dus:

PHP:
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
<?php 
/* recipients */ 
$to  = "mary@example.com" . ", " ; // note the comma 
$to .= "kelly@example.com"; 

/* subject */ 
$subject = "Birthday Reminders for August"; 

/* message */ 
$message = ' 
<html> 
<head> 
<title>Aanmeldingen</title> 
</head> 
<body> 
<p>De gegevens die zijn ingevoerd!</p> 
<table> 
<tr> 
  <th>Naam</th><th>Email</th><th>Plaats</th><th>Opmerkingen</th> 
</tr> 
<tr> 
  <td>**hier moet de ingevulde naam komen**</td><td>**ingevulde email**</td><td>**ingevulde plaats**</td><td>**ingevulde opmerkingen**</td> 
</table> 
</body> 
</html> 
';


/* To send HTML mail, you can set the Content-type header. */ 
$headers  = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; 

/* additional headers */ 
$headers .= "To: Mary <mary@example.com>, Kelly <kelly@example.com>\r\n"; 
$headers .= "From: Birthday Reminder <birthday@example.com>\r\n"; 
$headers .= "Cc: birthdayarchive@example.com\r\n"; 
$headers .= "Bcc: birthdaycheck@example.com\r\n"; 

/* and now mail it */ 
mail($to, $subject, $message, $headers); 
?>

[ Voor 126% gewijzigd door Verwijderd op 07-10-2004 13:46 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16:31

Janoz

Moderator Devschuur®

!litemod

Sorry, maar hiervoor is Programming & Webscripting niet bedoeld. Dit lijkt meer op een scriptrequest. Als De basisconcepten van variabelen gebruik je nog niet geheel duidelijk zijn, dan is het misschine handiger om dit project opzij te leggen en eens naar wat simpelers te gaan kijken.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1

Dit topic is gesloten.