Stigi81 Skrevet 10. august 2008 Del Skrevet 10. august 2008 Hei. Finnes det noen gode eksempler / script som gjør det mulig å lage et mail form (gjerne i php), der folk kan sende en melding til administrator sammen med filer (bilder) Jeg skal lage en side, der folk skal kunne legge ut sine egne nyheter, og trenger da en slik funksjon... Lenke til kommentar
Jooakim Skrevet 11. august 2008 Del Skrevet 11. august 2008 (endret) Selve skjemaet kan lages i HTML - om du ikke vet hvordan, er det bare å spørre igjen. Her har du i hvert fall noe som kan brukes som resultat (det som faktisk laster opp/sender): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>XXX</title> </head> <body> <? error_reporting(E_ALL); $dir = 'lo2/'; $fil1 = $dir . basename($_FILES['fil']['navn']); $server = basename($_SERVER['server']); ini_set('max_execution_time',XXX); echo '<br />Filstørrelse:' . $_FILES['fil']['size'] . '<br />'; if ( $_FILES['fil']['size'] < XXX ) { echo '<br />Filstørrelse:' . $_FILES['fil']['size'] . '<br />'; die('Avbrutt: For liten fil'); } if ($_FILES['fil']['navn']) { if (move_uploaded_file($_FILES['fil']['tmp_name'], $dir . $_FILES['fil']['navn'])) { $fil = $_FILES['fil']['navn']; } else { die(''. $_FILES['fil']['navn'] .' feilet.'); } } echo 'XXX'; $header = 'MIME-Version: 1.0\r\n'; $header .= 'Content-type: text/html; charset=iso-8859-1\r\n'; $header .= 'From:'.$_POST['navn1'].' <'.$_POST['epost'].'>\r\n'; $body = '<html>\n'; $body .= '<body>\n'; $body .= 'DET DU VIL SKAL SENDES\n'; $body .= '</body>\n'; $body .= '</html>\n'; mail('dinmail', 'subject', $body, $header); ?> </body> </html> Endret 11. august 2008 av Jooakim Lenke til kommentar
Stigi81 Skrevet 12. august 2008 Forfatter Del Skrevet 12. august 2008 Tenker du på skjemaet / infoen som skal sendes? Jeg har laget et eksempel som ser slik ut i html. Kan jeg flette dette inn i ditt script på et vis? <body> <p> </p> <p> </p> <p><table width="658"> <tr><td width="96">Navn:</td><td width="422"><input name=navn></td></tr> <tr> <td>Overskrift:</td><td><input name=overskrift size="50" maxlength="30"></td></tr> <tr> <td>Tekst:</td><td><input name=tekst size="50"></td></tr> <tr><td>E-post:</td><td><input name=epost></td></tr> <tr> <td>Legg ved bilde :</td><td><input type="file" name="file" id="file" /></td></tr> </table> <input type="submit" value="Send" /> </p> </body> Og må filen hete .php etter punktum da? Lenke til kommentar
Jooakim Skrevet 12. august 2008 Del Skrevet 12. august 2008 Neida, men du må legge alt sammen inn i <form method="post" action="XX.php" enctype="multipart/form-data"></form> Du har forresten glemt et par anførselstegn, i tillegg bør tekstboksen være i <textarea>. Her er en mal du kan bruke: <form method="post" action=""> <p> <label for="name">Name</label> <input id="name" name="name" type="text" size="30" maxlength="40" /><br /> <label for="email">Email</label> <input id="email" name="email" type="text" size="30" maxlength="40" /><br /> <label for="subject">Subject</label> <input id="subject" name="subject" type="text" size="30" maxlength="40" /><br /> <label for="message">Message</label> <textarea id="message" name="msg" cols="50" rows="6"></textarea><br /> <label for="submit"> </label> <input id="submit" class="button" type="submit" name="submit" value="Send" /> </p> </form> Husk at det som står i name="", er navnet på det som skal sendes, for å skrive inn dette i PHP-filen, bruker du $_POST['navnet'];. Når du poster teksten, bør du gjøre slik: nl2br($_POST['tekst']); - slik at alt ikke blir på én linje. Lenke til kommentar
Stigi81 Skrevet 12. august 2008 Forfatter Del Skrevet 12. august 2008 OK. takk for hjelp, men et spørsmål til. Hva fyller jeg inn her? : action="XX.php" Lenke til kommentar
Jooakim Skrevet 12. august 2008 Del Skrevet 12. august 2008 Navnet på PHP-filen du lagrer det første scriptet som. Lenke til kommentar
Stigi81 Skrevet 12. august 2008 Forfatter Del Skrevet 12. august 2008 Navnet på PHP-filen du lagrer det første scriptet som. OK. Men trenger jeg 2 filer? Et script og en "form" fil ? Eller lager jeg alt i en fil? KAn jeg f.eks. bare lagre alt i mail.php slik: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>XXX</title> </head> <body> <form method="post" action="mail.php"> <p> <label for="name">Name</label> <input id="name" name="name" type="text" size="30" maxlength="40" /><br /> <label for="email">Email</label> <input id="email" name="email" type="text" size="30" maxlength="40" /><br /> <label for="subject">Subject</label> <input id="subject" name="subject" type="text" size="30" maxlength="40" /><br /> <label for="message">Message</label> <textarea id="message" name="msg" cols="50" rows="6"></textarea><br /> <label for="submit"> </label> <input id="submit" class="button" type="submit" name="submit" value="Send" /> </p> </form> <? error_reporting(E_ALL); $dir = 'lo2/'; $fil1 = $dir . basename($_FILES['fil']['navn']); $server = basename($_SERVER['server']); ini_set('max_execution_time',XXX); echo '<br />Filstørrelse:' . $_FILES['fil']['size'] . '<br />'; if ( $_FILES['fil']['size'] < XXX ) { echo '<br />Filstørrelse:' . $_FILES['fil']['size'] . '<br />'; die('Avbrutt: For liten fil'); } if ($_FILES['fil']['navn']) { if (move_uploaded_file($_FILES['fil']['tmp_name'], $dir . $_FILES['fil']['navn'])) { $fil = $_FILES['fil']['navn']; } else { die(''. $_FILES['fil']['navn'] .' feilet.'); } } echo 'XXX'; $header = 'MIME-Version: 1.0\r\n'; $header .= 'Content-type: text/html; charset=iso-8859-1\r\n'; $header .= 'From:'.$_POST['navn1'].' <'.$_POST['epost'].'>\r\n'; $body = '<html>\n'; $body .= '<body>\n'; $body .= 'DET DU VIL SKAL SENDES\n'; $body .= '</body>\n'; $body .= '</html>\n'; mail('[email protected]', 'subject', $body, $header); ?> </body> </html> Og trenger jeg denne også, for å kunne finne og laste opp aktuelt bilde? : <tr><td>Legg ved bilde :</td><td><input type="file" name="file" id="file" /></td></tr></table> Eller tar scriptet hånd om dette? Lenke til kommentar
Jooakim Skrevet 13. august 2008 Del Skrevet 13. august 2008 Hvorfor ikke bruke to filer da? ;p Lenke til kommentar
Stigi81 Skrevet 14. august 2008 Forfatter Del Skrevet 14. august 2008 Har prøvd både med 1 og 2 filer, men funker ikke. Ingen som har noen utprøvde eksempler?... Lenke til kommentar
Jooakim Skrevet 14. august 2008 Del Skrevet 14. august 2008 Hva er det som ikke fungerer da? Og kunne du ha limt inn koden du bruker? Lenke til kommentar
Stigi81 Skrevet 5. september 2008 Forfatter Del Skrevet 5. september 2008 Tok litt tid å svare på denne har vært i syden jeg har en fil som jeg kaller mail.php som er som følger: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>XXX</title> </head> <body> <? error_reporting(E_ALL); $dir = 'lo2/'; $fil1 = $dir . basename($_FILES['fil']['navn']); $server = basename($_SERVER['server']); ini_set('max_execution_time',XXX); echo '<br />Filstørrelse:' . $_FILES['fil']['size'] . '<br />'; if ( $_FILES['fil']['size'] < XXX ) { echo '<br />Filstørrelse:' . $_FILES['fil']['size'] . '<br />'; die('Avbrutt: For liten fil'); } if ($_FILES['fil']['navn']) { if (move_uploaded_file($_FILES['fil']['tmp_name'], $dir . $_FILES['fil']['navn'])) { $fil = $_FILES['fil']['navn']; } else { die(''. $_FILES['fil']['navn'] .' feilet.'); } } echo 'XXX'; $header = 'MIME-Version: 1.0\r\n'; $header .= 'Content-type: text/html; charset=iso-8859-1\r\n'; $header .= 'From:'.$_POST['navn1'].' <'.$_POST['epost'].'>\r\n'; $body = '<html>\n'; $body .= '<body>\n'; $body .= 'DET DU VIL SKAL SENDES\n'; $body .= '</body>\n'; $body .= '</html>\n'; mail('**minmail**@yahoo.no', 'subject', $body, $header); ?> </body> </html> Og så har jeg en "hovedfil" som jeg kaller mail.html: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> </head> <body> <form method="post" action="mail.php" enctype="multipart/form-data"></form><p> <label for="name">Name</label> <input id="name" name="name" type="text" size="30" maxlength="40" /><br /> <label for="email">Email</label> <input id="email" name="email" type="text" size="30" maxlength="40" /><br /> <label for="subject">Subject</label> <input id="subject" name="subject" type="text" size="30" maxlength="40" /><br /> <label for="message">Message</label> <textarea id="message" name="msg" cols="50" rows="6"></textarea><br /> <label for="submit"> </label> <input id="submit" class="button" type="submit" name="submit" value="Send" /> </p> </form> </body> </html> Når jeg kjører filen mail.html skjer det ingen ting når jeg trykker på send.. Jeg kjører filen med WAMPSERVER, så har php installert... Takker for alle svar... Lenke til kommentar
Rematusen Skrevet 5. september 2008 Del Skrevet 5. september 2008 (endret) Tok litt tid å svare på denne har vært i syden jeg har en fil som jeg kaller mail.php som er som følger: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>XXX</title> </head> <body> <? error_reporting(E_ALL); $dir = 'lo2/'; $fil1 = $dir . basename($_FILES['fil']['navn']); $server = basename($_SERVER['server']); ini_set('max_execution_time',XXX); echo '<br />Filstørrelse:' . $_FILES['fil']['size'] . '<br />'; if ( $_FILES['fil']['size'] < XXX ) { echo '<br />Filstørrelse:' . $_FILES['fil']['size'] . '<br />'; die('Avbrutt: For liten fil'); } if ($_FILES['fil']['navn']) { if (move_uploaded_file($_FILES['fil']['tmp_name'], $dir . $_FILES['fil']['navn'])) { $fil = $_FILES['fil']['navn']; } else { die(''. $_FILES['fil']['navn'] .' feilet.'); } } echo 'XXX'; $header = 'MIME-Version: 1.0\r\n'; $header .= 'Content-type: text/html; charset=iso-8859-1\r\n'; $header .= 'From:'.$_POST['navn1'].' <'.$_POST['epost'].'>\r\n'; $body = '<html>\n'; $body .= '<body>\n'; $body .= 'DET DU VIL SKAL SENDES\n'; $body .= '</body>\n'; $body .= '</html>\n'; mail('**minmail**@yahoo.no', 'subject', $body, $header); ?> </body> </html> Og så har jeg en "hovedfil" som jeg kaller mail.html: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> </head> <body> <form method="post" action="mail.php" enctype="multipart/form-data"></form><p> <label for="name">Name</label> <input id="name" name="name" type="text" size="30" maxlength="40" /><br /> <label for="email">Email</label> <input id="email" name="email" type="text" size="30" maxlength="40" /><br /> <label for="subject">Subject</label> <input id="subject" name="subject" type="text" size="30" maxlength="40" /><br /> <label for="message">Message</label> <textarea id="message" name="msg" cols="50" rows="6"></textarea><br /> <label for="submit"> </label> <input id="submit" class="button" type="submit" name="submit" value="Send" /> </p> </form> </body> </html> Når jeg kjører filen mail.html skjer det ingen ting når jeg trykker på send.. Jeg kjører filen med WAMPSERVER, så har php installert... Takker for alle svar... Du kan ta alt i en fil! Prøv å trykk submit knappen med denne koden: hoved.php: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> </head> <body> <?php if(isset($_POST['submit'])) { print 'Ta din php koden hit!'; } ?> <form method="post" action="mail.php" enctype="multipart/form-data"></form><p> <label for="name">Name</label> <input id="name" name="name" type="text" size="30" maxlength="40" /><br /> <label for="email">Email</label> <input id="email" name="email" type="text" size="30" maxlength="40" /><br /> <label for="subject">Subject</label> <input id="subject" name="subject" type="text" size="30" maxlength="40" /><br /> <label for="message">Message</label> <textarea id="message" name="msg" cols="50" rows="6"></textarea><br /> <label for="submit"> </label> <input id="submit" class="button" type="submit" name="submit" value="Send" /> </p> </form> </body> </html> Endret 5. september 2008 av Rematusen Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå