Avatar billede mrbs Nybegynder
29. december 2004 - 13:33 Der er 6 kommentarer og
1 løsning

Mailsender med betingelser.

Jeg har en form, som bliver sendt som email vha et PHP-script.

Jeg kunne godt tænke mig at få sat nogle betingelser på, så den f.eks. ikke bliver sendt hvis visse felter er tomme. Desuden må den gerne komme med en bekræftelse på at beskeden er sendt.

Jeg ved at det er noget med if, else, og sidst echo - med en masse {'er og lige så mange }'er. Så er det vidst også noget med nogle !'er, men hvordan de skal sættes sammen og hvordan det skal gøres, ved jeg ikke.

Koden ser sådan ud:

<?php
@extract($_POST);
$efternavn = stripslashes($efternavn);
$fornavn = stripslashes($fornavn);
$email = stripslashes($email);
$emne = stripslashes($emne);
$onske1 = stripslashes($onske1);
$onske2 = stripslashes($onske2);
$onske3 = stripslashes($onske3);
$kodeord = stripslashes($kodeord);
mail("min@mail.dk","Emne: " . $emne,"Efternavn: " . $efternavn . "\r\nFornavn: " . $fornavn . "\r\nØnske1 : " . $onske1 . "\r\nØnske2: " . $onske2 . "\r\nØnske3: " . $onske3 . "\r\nKodeord: " . $kodeord ,"From:" . $email);
header("location:log.php");
?>

Nogen der kan hjælpe?
Avatar billede horizon Nybegynder
29. december 2004 - 13:52 #1
jeg har lavet noget lignende. det er til et logon script, men skulle gerne virke alligevel:

if ($variabelX == "" OR $VariabelY == "" OR $VariabelZ == "") {
    print("    <script language='javascript'>
        location.href='log.php';
        </script>");
}

else

{
blah blah blah
}

Hvis det ikke virker med OR, så lav en:

if ($variabelX == "") {
    print("    <script language='javascript'>
        location.href='log.php';
        </script>");
}

elseif ($variabelY == "") {
    print("    <script language='javascript'>
        location.href='log.php';
        </script>");
}

else
{
blah blah blah
}

du kan altid tilføje flere elseif()ere

Håber du kan bruge det til noget ;)
Avatar billede mrbs Nybegynder
29. december 2004 - 13:57 #2
Prøver lige lidt...
Avatar billede jakoba Nybegynder
29. december 2004 - 14:02 #3
<?php
@extract($_POST);
$efternavn = stripslashes($efternavn);
$fornavn = stripslashes($fornavn);
$email = stripslashes($email);
$emne = stripslashes($emne);
$onske1 = stripslashes($onske1);
$onske2 = stripslashes($onske2);
$onske3 = stripslashes($onske3);
$kodeord = stripslashes($kodeord);
if (  ! empty( $onske1 )        // ! empty( $variabel )    giver sand hvis
                                          // variabelen findes og indeholder noget
      && ! empty( $kodeord )      // &&  giver sand hvis både betingelse før og efter er sand
      && ! empty( $email )
    )
{    // denne kodeklump udføres hvis  $onske1, $kodeord og $email alle har en værdi
    mail(  "min@mail.dk"
            ,"Emne: " . $emne
            ,"Efternavn: " . $efternavn . "\r\nFornavn: " . $fornavn
              . "\r\nØnske1 : " . $onske1 . "\r\nØnske2: " . $onske2
              . "\r\nØnske3: " . $onske3 . "\r\nKodeord: " . $kodeord
            ,"From:" . $email
          );
} else
{    // denne kodeklump udføres hvis en af dem ikke har en værdi
    //...
}
header("location:log.php");
?>
Avatar billede horizon Nybegynder
29. december 2004 - 14:04 #4
hov... glemte lige den sidste med bekræftigelsen...

det er bare efter din:
mail("min@mail.dk","Emne: " . $emne,"Efternavn: " . $efternavn . "\r\nFornavn: " . $fornavn . "\r\nØnske1 : " . $onske1 . "\r\nØnske2: " . $onske2 . "\r\nØnske3: " . $onske3 . "\r\nKodeord: " . $kodeord ,"From:" . $email);
header("location:log.php");
echo 'Mailen er sendt!';


Så hvis vi lige laver en opsumering i hvordan din side evt skal se ud så er mit forslag:

<?php
@extract($_POST);
$efternavn = stripslashes($efternavn);
$fornavn = stripslashes($fornavn);
$email = stripslashes($email);
$emne = stripslashes($emne);
$onske1 = stripslashes($onske1);
$onske2 = stripslashes($onske2);
$onske3 = stripslashes($onske3);
$kodeord = stripslashes($kodeord);

if ($efternavn == "" OR $fornavn == "" OR $email == "" OR $emne == "" OR $onske1 == "" OR $onske2 == "" OR $onske3 == "" OR $kode == "") {
    print("    <script language='javascript'>
        location.href='log.php';
        </script>");
}

else

{
Avatar billede horizon Nybegynder
29. december 2004 - 14:05 #5
hov... der var en send knap :P

fortsættelse:

mail("min@mail.dk","Emne: " . $emne,"Efternavn: " . $efternavn . "\r\nFornavn: " . $fornavn . "\r\nØnske1 : " . $onske1 . "\r\nØnske2: " . $onske2 . "\r\nØnske3: " . $onske3 . "\r\nKodeord: " . $kodeord ,"From:" . $email);
header("location:log.php");
echo 'Mailen er sendt';
}
?>
Avatar billede mrbs Nybegynder
29. december 2004 - 14:05 #6
Yes! Tak skal du have! Jeg kan godt få det til at virke nu!
Bare læg et svar!
Tak skal du have!
Avatar billede horizon Nybegynder
29. december 2004 - 14:07 #7
det var da så lidt :D
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