30. marts 2009 - 18:07Der er
10 kommentarer og 1 løsning
Ekstra felter i php mailform?
Godaften. Jeg har fundet en god mailform, med mlighed for at vedhæfte filer, men jeg vil gerne have tre ekstra felter: "adresse" "postnummer" og "telefonnummer". Jeg kan ikke lige helt overskue hvordan jeg sætter det ind ind PHP-koden, så den sender det med. Her er koden:
<?php if ($_SERVER['REQUEST_METHOD']=="POST"){
// we'll begin by assigning the To address and message subject $to="cozey@sol.dk"; $subject="E-mail with attachment";
// get the sender's name and email address // we'll just plug them a variable to be used later $from = stripslashes($_POST['fromname'])."<".stripslashes($_POST['fromemail']).">";
// generate a random string to be used as the boundary marker $mime_boundary="==Multipart_Boundary_x".md5(mt_rand())."x";
// now we'll build the message headers $headers = "From: $from\r\n" . "MIME-Version: 1.0\r\n" . "Content-Type: multipart/mixed;\r\n" . " boundary=\"{$mime_boundary}\"";
// here, we'll start the message body. // this is the text that will be displayed // in the e-mail $message="This is an example";
// next, we'll build the invisible portion of the message body // note that we insert two dashes in front of the MIME boundary // when we use it $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n";
// now we'll process our uploaded files foreach($_FILES as $userfile){ // store the file information to variables for easier access $tmp_name = $userfile['tmp_name']; $type = $userfile['type']; $name = $userfile['name']; $size = $userfile['size'];
// if the upload succeded, the file will exist if (file_exists($tmp_name)){
// check to make sure that it is an uploaded file and not a system file if(is_uploaded_file($tmp_name)){
// open the file for a binary read $file = fopen($tmp_name,'rb');
// read the file content into a variable $data = fread($file,filesize($tmp_name));
// close the file fclose($file);
// now we encode it and split it into acceptable length lines $data = chunk_split(base64_encode($data)); }
// now we'll insert a boundary to indicate we're starting the attachment // we have to specify the content type, file name, and disposition as // an attachment, then add the file content. // NOTE: we don't set another boundary to indicate that the end of the // file has been reached here. we only want one boundary between each file // we'll add the final one after the loop finishes. $message .= "--{$mime_boundary}\n" . "Content-Type: {$type};\n" . " name=\"{$name}\"\n" . "Content-Disposition: attachment;\n" . " filename=\"{$fileatt_name}\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; } } // here's our closing mime boundary that indicates the last of the message $message.="--{$mime_boundary}--\n"; // now we just send the message if (@mail($to, $subject, $message, $headers)) echo "Message Sent"; else echo "Failed to send"; } else { ?> <p>Send an e-mail with an attachment:</p> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" name="form1"> <p>From name: <input type="text" name="fromname"></p> <p>From e-mail: <input type="text" name="fromemail"></p> <p>File: <input type="file" name="file1"></p> <p>File: <input type="file" name="file2"></p> <p><input type="submit" name="Submit" value="Submit"></p> </form> <?php } ?>
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Det kan evt. være fordi jeg har sat det ind på en anden måde end det der er skrevet tidligere. Her er min kode:
<?php if ($_SERVER['REQUEST_METHOD']=="POST"){
// we'll begin by assigning the To address and message subject $to="vindue@proinmotion.dk"; $subject="Tilmelding af vindue";
// get the sender's name and email address // we'll just plug them a variable to be used later $from = stripslashes($_POST['fromname'])."<".stripslashes($_POST['fromemail']).">";
// generate a random string to be used as the boundary marker $mime_boundary="==Multipart_Boundary_x".md5(mt_rand())."x";
// now we'll build the message headers $headers = "From: $from\r\n" . "MIME-Version: 1.0\r\n" . "Content-Type: multipart/mixed;\r\n" . " boundary=\"{$mime_boundary}\"";
// here, we'll start the message body. // this is the text that will be displayed // in the e-mail $adress = stripslashes($_POST['adress']); $postnum = stripslashes($_POST['postnum']); $city = stripslashes($_POST['city']); $tele = stripslashes($_POST['tele']); $message="Navn: ".$from." \n\nadresse: ".$adress." \n\npostnummer: ".$postnum." \n\ntelefon: ".$tele." \n\nBy: ".$city."";
// next, we'll build the invisible portion of the message body // note that we insert two dashes in front of the MIME boundary // when we use it $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n";
// now we'll process our uploaded files foreach($_FILES as $userfile){ // store the file information to variables for easier access $tmp_name = $userfile['tmp_name']; $type = $userfile['type']; $name = $userfile['name']; $size = $userfile['size'];
// if the upload succeded, the file will exist if (file_exists($tmp_name)){
// check to make sure that it is an uploaded file and not a system file if(is_uploaded_file($tmp_name)){
// open the file for a binary read $file = fopen($tmp_name,'rb');
// read the file content into a variable $data = fread($file,filesize($tmp_name));
// close the file fclose($file);
// now we encode it and split it into acceptable length lines $data = chunk_split(base64_encode($data)); }
// now we'll insert a boundary to indicate we're starting the attachment // we have to specify the content type, file name, and disposition as // an attachment, then add the file content. // NOTE: we don't set another boundary to indicate that the end of the // file has been reached here. we only want one boundary between each file // we'll add the final one after the loop finishes. $message .= "--{$mime_boundary}\n" . "Content-Type: {$type};\n" . " name=\"{$name}\"\n" . "Content-Disposition: attachment;\n" . " filename=\"{$fileatt_name}\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; } } // here's our closing mime boundary that indicates the last of the message $message.="--{$mime_boundary}--\n"; // now we just send the message if (@mail($to, $subject, $message, $headers)) echo "Vinduet blev tilmeldt. Du vil blive kontaktet snarest muligt!"; else echo "Der opstod en fejl"; } else { ?> <FONT face="tahoma" size="2"> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" name="form1"> <p>Navn: <input type="text" name="fromname"></p> <p>E-mail: <input type="text" name="fromemail"></p> <p>Adresse: <input type="text" name="adress"></p> <p>Postnr.: <input type="text" name="postnum"></p> <p>By: <input type="text" name="city"></p> <p>Telefon: <input type="text" name="tele"></p> <p>Billede 1: <input type="file" name="file1"></p> <p>Billede 2: <input type="file" name="file2"></p> <p>Ja tak, jeg vil gerne modtage nyhedsbrevet<input type="checkbox" name="fromcheckbox" checked> <p><input type="submit" name="Submit" value="Tilmeld"></p> </form> </font> <?php } ?>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.