Avatar billede torstein Novice
03. maj 2003 - 12:59 Der er 8 kommentarer og
1 løsning

checkbox og mail

Udklip fra flg. script kan ikke overføre variablen i min checkbox, for at finde ud af om der skal vedhæftes fil eller ej.
Kan I hjælpe??

<form method="POST">
<input type="checkbox" name="add" value="add">Sæt flueben her, hvis der skal vedhæftes en fil.<br>  <p><select name="gruppe" size="1" onChange="this.form.submit();">
    <option selected>vælg gruppe</option>
    <option value="alle">alle</option>
    <option value="senior">JC Senior</option>
    <option value="junior">JC Junior</option>
      </select></p>
</form>
<?
}
if ($gruppe){
include ("sql.php");
    if ($mode == "send") {
   
    if ($action == "on") {
   
    if ($gruppe =="alle") {
    $result = mysql_query("SELECT brugernavn,fornavn,efternavn,email FROM jc_medlemmer WHERE email!='' AND  brugernavn ='trk'");
    $receiver=="alle i JC Birkerød";
    }
    elseif ($gruppe =="senior") {
    $result = mysql_query("SELECT brugernavn,fornavn,efternavn,email FROM jc_medlemmer WHERE email!='' AND  brugernavn ='trk' AND medlemstype!='senior'");
$receiver=="Seniormedlemmer";
    }
        elseif    ($gruppe =="junior") {
    $result = mysql_query("SELECT brugernavn,fornavn,efternavn,email FROM jc_medlemmer WHERE email!='' AND  brugernavn ='trk' AND medlemstype!='junior'");
$receiver=="Juniormedlemmer";
}
$besked1="<br>** Denne mail er sendt til ".$receiver." via de interne sider på www.jc-birkeroed.dk **";
        $besked = nl2br($besked);
        while ($row = mysql_fetch_array($result)) {
        $besked = eregi_replace('<br[[:space:]]*/?[[:space:]]*>',"\n", $besked);
        $besked1 = eregi_replace('<br[[:space:]]*/?[[:space:]]*>',"\n", $besked1);
        if ($add){
            $boundary = uniqid("");
    if ($filen_type) {
        $mimeType = $filen_type;
    } else {
        $mimeType =  "application/unknown";
    }
    $fil_var = fread(fopen($filen, "r"), filesize($filen));
    $fil_var = base64_encode($fil_var);
    $fil_var = chunk_split($fil_var);
    $body  = "\n--$boundary\n";
    $body .= "Content-type: text/plain; charset=iso-8859-1\n";
    $body .= "Content-transfer-encoding: 8bit\n\n";
    $body .= $besked.$besked1."\n\n";
    $body .= "--$boundary\n";
    $body .= "Content-type: $mimeType; name=$filen_name\n";
    $body .= "Content-disposition: attachment; filename=$filen_name\n";
    $body .= "Content-transfer-encoding: base64\n\n";
    $body .= $fil_var."\n\n";
    $body .= "--$boundary--";
    $headers  = "From: \"$_SESSION[husk_fornavn] $_SESSION[husk_efternavn]\" <$_SESSION[husk_email]>\r\nX-Mailer: PHP/";
    $headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"";
    $modtager =$row[email];
//        mail($modtager,$emne,$besked.$besked1,"From: \"$_SESSION[husk_fornavn] $_SESSION[husk_efternavn]\" <$_SESSION[husk_email]>\r\nX-Mailer: PHP/".phpversion());
echo "Sender med vedhæftning<BR>".$modtager,$emne,$body,$headers;}
if (!$add){
$modtager =$row[email];
//        mail($modtager,$emne,$besked.$besked1,"From: \"$_SESSION[husk_fornavn] $_SESSION[husk_efternavn]\" <$_SESSION[husk_email]>\r\nX-Mailer: PHP/".phpversion());
echo "Sender uden vedhæftning<BR>".$modtager,$emne,$besked.$besked1;}
}}
include ("mail_sendt.php");
}}
if ($gruppe){
if (!$mode){
if ($add){
echo  "<form action='".basename($PHP_SELF)."?send=1' enctype='multipart/form-data' method='post'>\n";}?>
<form action="?list=mail_jc.php&mode=send&action=on" method="post">
    <input type=hidden name=gruppe value=<? echo $gruppe; ?>>
Emne:<br>
<input type="text" name="emne" size="30">
<br>
Besked:<br>
<textarea cols="45" rows="10" name="besked" type="text"></textarea>
<br><input type="submit" value="SEND"></form>
Avatar billede schaefner Juniormester
03. maj 2003 - 13:16 #1
if($_POST['add']) {
  // Krydset af
}
Avatar billede torstein Novice
03. maj 2003 - 13:39 #2
Det hjalp lidt, men der kommer stadig ikke nogen box frem, hvor man kan vælge filen, hvis der er krydset af.

Jeg tror problemet ligger i at siden køres uden frames og med includes i stedet hvor alle filer hentes via en $list=blabla.php.

Så det går galt i denne linie:

echo  "<form action='".basename($PHP_SELF)."?send=1' enctype='multipart/form-data' method='post'>\n";}?>

hvor siden så bare hopper til forsiden, da den ikke kan finde den.

kan du knække den, jeg sætter gerne flere point af.
Avatar billede tipsen Nybegynder
03. maj 2003 - 13:58 #3
Hvilken html-kode giver følgende anledning til?

echo  "<form action='".basename($PHP_SELF)."?send=1' enctype='multipart/form-data' method='post'>\n";}?>
Avatar billede torstein Novice
03. maj 2003 - 14:13 #4
Ved det ikke, jeg har taget denne stump kode fra et andet script, som udelukkende sender mails med vedhæftning. Derfor er det sat ind i {} ved $_POST['add']

Men koden giver en 'gennemse' knap, hvor man kan vælge hvilken fil, som skal vedhæftes.
Avatar billede tipsen Nybegynder
03. maj 2003 - 15:30 #5
Kender du "Vis koder" i din browser? (Så bare se html-koden dér!)
Avatar billede torstein Novice
03. maj 2003 - 15:37 #6
Den kommer frem med flg.:

<form action='mail_jc.php' enctype='multipart/form-data' method='post'>
<form action="?list=mail_jc.php&mode=send&action=on" method="post">
Avatar billede torstein Novice
03. maj 2003 - 15:47 #7
Smart, blev lidt klogere. Har rettet det til flg. men lige lidt hjælper det:

<form method="POST">
<input type="checkbox" name="add" value="add">Sæt flueben her, hvis der skal vedhæftes en fil.<br>  <p><select name="gruppe" size="1" onChange="this.form.submit();">
    <option selected>vælg gruppe</option>
    <option value="alle">alle</option>
    <option value="senior">JC Senior</option>
    <option value="junior">JC Junior</option>
      </select></p>
</form>
<?
}
if ($gruppe){
include ("sql.php");
    if ($mode == "send") {
   
    if ($action == "on") {
   
    if ($gruppe =="alle") {
    $result = mysql_query("SELECT brugernavn,fornavn,efternavn,email FROM jc_medlemmer WHERE email!='' AND  brugernavn ='trk'");
    $receiver=="alle i JC Birkerød";
    }
    elseif ($gruppe =="senior") {
    $result = mysql_query("SELECT brugernavn,fornavn,efternavn,email FROM jc_medlemmer WHERE email!='' AND  brugernavn ='trk' AND medlemstype!='senior'");
$receiver=="Seniormedlemmer";
    }
        elseif    ($gruppe =="junior") {
    $result = mysql_query("SELECT brugernavn,fornavn,efternavn,email FROM jc_medlemmer WHERE email!='' AND  brugernavn ='trk' AND medlemstype!='junior'");
$receiver=="Juniormedlemmer";
}
$besked1="<br>** Denne mail er sendt til ".$receiver." via de interne sider på www.jc-birkeroed.dk **";
        $besked = nl2br($besked);
        while ($row = mysql_fetch_array($result)) {
        $besked = eregi_replace('<br[[:space:]]*/?[[:space:]]*>',"\n", $besked);
        $besked1 = eregi_replace('<br[[:space:]]*/?[[:space:]]*>',"\n", $besked1);
        if ($_POST['add']) {
            $boundary = uniqid("");
    if ($filen_type) {
        $mimeType = $filen_type;
    } else {
        $mimeType =  "application/unknown";
    }
    $fil_var = fread(fopen($filen, "r"), filesize($filen));
    $fil_var = base64_encode($fil_var);
    $fil_var = chunk_split($fil_var);
    $body  = "\n--$boundary\n";
    $body .= "Content-type: text/plain; charset=iso-8859-1\n";
    $body .= "Content-transfer-encoding: 8bit\n\n";
    $body .= $besked.$besked1."\n\n";
    $body .= "--$boundary\n";
    $body .= "Content-type: $mimeType; name=$filen_name\n";
    $body .= "Content-disposition: attachment; filename=$filen_name\n";
    $body .= "Content-transfer-encoding: base64\n\n";
    $body .= $fil_var."\n\n";
    $body .= "--$boundary--";
    $headers  = "From: \"$_SESSION[husk_fornavn] $_SESSION[husk_efternavn]\" <$_SESSION[husk_email]>\r\nX-Mailer: PHP/";
    $headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"";
    $modtager =$row[email];
//        mail($modtager,$emne,$body,$headers);
echo "Sender med vedhæftning<BR>".$modtager,$emne,$body,$headers;}
if (!$_POST['add']) {
$modtager =$row[email];
//        mail($modtager,$emne,$besked.$besked1,"From: \"$_SESSION[husk_fornavn] $_SESSION[husk_efternavn]\" <$_SESSION[husk_email]>\r\nX-Mailer: PHP/".phpversion());
echo "Sender uden vedhæftning<BR>".$modtager,$emne,$besked.$besked1;}
}}
include ("mail_sendt.php");
}}
if ($gruppe){
if (!$mode){
if ($_POST['add']) {?>
<form action=?list=mail_jc.php&mode=send&action=on enctype=multipart/form-data method=post>
    <input type=hidden name=gruppe value=<? echo $gruppe; ?>>
Emne:<br>
<input type="text" name="emne" size="30">
<br>
Besked:<br>
<textarea cols="45" rows="10" name="besked" type="text"></textarea>
<br><input type="submit" value="SEND"></form><?} else {?>

<form action="?list=mail_jc.php&mode=send&action=on" method="post">
    <input type=hidden name=gruppe value=<? echo $gruppe; ?>>
Emne:<br>
<input type="text" name="emne" size="30">
<br>
Besked:<br>
<textarea cols="45" rows="10" name="besked" type="text"></textarea>
<br><input type="submit" value="SEND"></form><?}?>
Avatar billede torstein Novice
04. maj 2003 - 15:40 #8
Lukkes, jeg er kommet lidt videre, nyt prb. opstået, nyt spg. oprettes.
Avatar billede tipsen Nybegynder
04. maj 2003 - 16:49 #9
Start med at lave formularer der opfylder kravene til standard-html - når du har lært det, så fortsæt med php.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester