Avatar billede nickern Nybegynder
03. december 2005 - 11:31 Der er 13 kommentarer og
1 løsning

Scriptet til at sende ud!

Hejsa Folk på eksperten.

Jeg har fået bikset et nyhedsbrevssystem sammen, men den gider ikke at udsende? Nogen som kan hjælpe?

//Kode Start//
<?php
session_start();
require("db.php");

$fra = "nickern@sol.dk";

if ($_GET['mode'] == "admin" || $_POST['mode'] == "admin")
{
    if ($_SESSION['id'] == 1)
    {
        if ($overskrift || $indhold)
        {
            if ($overskrift && $indhold)
            {
                if (sizeof($til) > 0)
                {
                    $antal=0;
                    for ($i=0; $i<sizeof($til);$i++)
                    {                   
                        // -- headers --
                        $headers = 'From: "'.$fra.'" <'.$fra.'>
                        Reply-To: "'.$fra.'" <'.$fra.'>;
                        X-Mailer: PHP/'.phpversion().';
                        Content-Type:text/html; charset="iso-8859-1";';
                        // -- End headers --
                       
                        if (mail($til[$i],$overskrift,$indhold,$headers))
                        {
                            $antal++;
                            $_SESSION['udført'] = "<i>".$antal." Mail(s) blev sendt</i>";
                        }
                    }
                   
                    header("location: $PHP_SELF?mode=admin");
                    exit;
                }
                else
                {
                    $_SESSION['fejl'] = "Du har ikke valgt nogen at sende til";
                }
            }
            else
            {
                $_SESSION['fejl'] = "Alle felter blev ikke udfyldt";
            }
        }
        else
        {
            ?>
            <html>
            <head>
            <title>Nyhedsbrev</title>
<meta name="Generator" content="Stone's WebWriter 4">
            <script>
            var checkflag = "true";
   
            function check(field)
            {
                if (checkflag == "false")
                {
                    for (i = 0; i < field.length; i++)
                    {
                        field[i].checked = true;
                    }
                    checkflag = "true";
                    return "Fjern markeringer";
                }
                else
                {
                    for (i = 0; i < field.length; i++)
                    {
                        field[i].checked = false;
                    }
                    checkflag = "false";
                    return "Markér alt";
                }
            }
            </script>
            </head>
           
            <body bgcolor=#DBE3E6>

            <h2>Her kan du sende nyhedsbrev</h2>
            <?php
            $skriv = $_SESSION['udført'] != "" ? $_SESSION['udført'] : "";
            $_SESSION['udført'] == "";
            echo "<i>".$skriv."</i>";
            ?>
            <form action="<?php echo $PHP_SELF ?>" method="post">
            <input type="hidden" name="mode" value="admin">
           
            Overskrift: <input type="text" name="overskrift" value="<?php echo $overskrift; ?>"><br>
            <br>
            Besked:<br>
            <textarea name='indhold' cols='50' rows='5' wrap='virtual'><?php echo $indhold; ?></textarea><br>
            <br>
            Til:<br>
            <br>
            <?php
            $result = mysql_query("SELECT * FROM nyhedsbrev") or die (mysql_error());
            $antal = mysql_num_rows($result);
           
            if ($antal == 0)
            {
                echo "Der er ingen brugere";
            }
            else
            {
                echo "<table>\n";
               
                while ($myrow = mysql_fetch_array($result))
                {
                    echo "<tr>\n";
                    echo "    <td>\n";
                    echo         $myrow['email']."\n";
                    echo "    </td>\n";
                    echo "    <td>\n";
                    echo "        <input id='til' checked='checked' type='checkbox' name='til[]' value='".$myrow['email']."'>\n";
                    echo "    </td>\n";
                    echo "</tr>\n";
                }
                           
                echo "</table>\n";
            }
            ?>
            <br>
            <input type="button" value="Fjern markeringer" onclick="this.value=check(this.form.til);"> <input type='submit' value='Send'>
            </form>
           
            </body>
            </html>
//Kode Slutt//
Avatar billede nickern Nybegynder
03. december 2005 - 21:08 #1
Ingen som kan se sig ud af det?
Avatar billede jakobdo Ekspert
04. december 2005 - 16:34 #2
Hvor har du alle dine modtagers emails stående henne?
Avatar billede nickern Nybegynder
04. december 2005 - 19:47 #3
<?php
session_start();
require("db.php");

$fra = "nickern@sol.dk";

if ($_GET['mode'] == "admin" || $_POST['mode'] == "admin")
{
    if ($_SESSION['id'] == 1)
    {
        if ($overskrift || $indhold)
        {
            if ($overskrift && $indhold)
            {
                if (sizeof($til) > 0)
                {
                    $antal=0;
                    for ($i=0; $i<sizeof($til);$i++)
                    {                   
                        // -- headers --
                        $headers = 'From: "'.$fra.'" <'.$fra.'>
                        Reply-To: "'.$fra.'" <'.$fra.'>;
                        X-Mailer: PHP/'.phpversion().';
                        Content-Type:text/html; charset="iso-8859-1";';
                        // -- End headers --
                       
                        if (mail($til[$i],$overskrift,$indhold,$headers))
                        {
                            $antal++;
                            $_SESSION['udført'] = "<i>".$antal." Mail(s) blev sendt</i>";
                        }
                    }
                   
                    header("location: $PHP_SELF?mode=admin");
                    exit;
                }
                else
                {
                    $_SESSION['fejl'] = "Du har ikke valgt nogen at sende til";
                }
            }
            else
            {
                $_SESSION['fejl'] = "Alle felter blev ikke udfyldt";
            }
        }
        else
        {
            ?>
            <html>
            <head>
            <title>Nyhedsbrev</title>
<meta name="Generator" content="Stone's WebWriter 4">
            <script>
            var checkflag = "true";
   
            function check(field)
            {
                if (checkflag == "false")
                {
                    for (i = 0; i < field.length; i++)
                    {
                        field[i].checked = true;
                    }
                    checkflag = "true";
                    return "Fjern markeringer";
                }
                else
                {
                    for (i = 0; i < field.length; i++)
                    {
                        field[i].checked = false;
                    }
                    checkflag = "false";
                    return "Markér alt";
                }
            }
            </script>
            </head>
           
            <body bgcolor=#DBE3E6>

            <h2>Her kan du sende nyhedsbrev</h2>
            <?php
            $skriv = $_SESSION['udført'] != "" ? $_SESSION['udført'] : "";
            $_SESSION['udført'] == "";
            echo "<i>".$skriv."</i>";
            ?>
            <form action="<?php echo $PHP_SELF ?>" method="post">
            <input type="hidden" name="mode" value="admin">
           
            Overskrift: <input type="text" name="overskrift" value="<?php echo $overskrift; ?>"><br>
            <br>
            Besked:<br>
            <textarea name='indhold' cols='50' rows='5' wrap='virtual'><?php echo $indhold; ?></textarea><br>
            <br>
            Til:<br>
            <br>
            <?php
            $result = mysql_query("SELECT * FROM nyhedsbrev") or die (mysql_error());
            $antal = mysql_num_rows($result);
           
            if ($antal == 0)
            {
                echo "Der er ingen brugere";
            }
            else
            {
                echo "<table>\n";
               
                while ($myrow = mysql_fetch_array($result))
                {
                    echo "<tr>\n";
                    echo "    <td>\n";
                    echo         $myrow['email']."\n";
                    echo "    </td>\n";
                    echo "    <td>\n";
                    echo "        <input id='til' checked='checked' type='checkbox' name='til[]' value='".$myrow['email']."'>\n";
                    echo "    </td>\n";
                    echo "</tr>\n";
                }
                           
                echo "</table>\n";
            }
            ?>
            <br>
            <input type="button" value="Fjern markeringer" onclick="this.value=check(this.form.til);"> <input type='submit' value='Send'>
            </form>
           
            </body>
            </html>
            <?php
        }
    }
}
else
{
    if(isset($_POST["email"]))
    {
        $add_email = addslashes($_POST['email']);
        $add_IP = addslashes($REMOTE_ADDR);
       
        $sql = "INSERT INTO nyhedsbrev (email,tid,ip) VALUES ('".$add_email."',NOW(),'".$add_IP."')";
        mysql_query($sql) or die (mysql_error());
       
        $_SESSION['udført'] = "Email tilføjet";
        header("location: $PHP_SELF");
        exit;
    }
    ?>
    <html>
   
    <head>
    <title>Nyhedsbrev</title>
    </head>
   
    <body bgcolor=#DBE3E6>
    <script>
    function email_check(){
        if (!document.nyhedsbrev.email.value.match(/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/))
            {
                alert("Indtast korrekt email");       
                document.tjek_email.email.focus ();       
                return false;           
            }
    }
    </script>
    <center>
   
    <?php
    $skriv = $_SESSION['udført'] != "" ? $_SESSION['udført'] : "";
    $_SESSION['udført'] == "";
    echo "<i>".$skriv."</i>";
    ?>
    <form target="<?php echo $PHP_SELF; ?>" method="post" name="nyhedsbrev" onsubmit="return email_check();">
    Skriv din Email <input type="text" name="email">
    <input type="submit" value="Tilmeld">
    </form>
    </center>
    </body>
   
    </html>
    <?php
}
?>
Avatar billede nickern Nybegynder
04. december 2005 - 19:47 #4
det er hele min kode
Avatar billede jakobdo Ekspert
04. december 2005 - 19:50 #5
Jeg spørger lige lidt anderledes, gemmer du email adresser i en database?
Avatar billede nickern Nybegynder
04. december 2005 - 20:57 #6
ja da - self
Avatar billede jakobdo Ekspert
05. december 2005 - 07:57 #7
Du skal ihf overveje at bruge: $_POST['overskrift'] og ikke $overskrift og sådan er det med alle dine felter...

Prøv så i toppen af alle din if()...
At lav evt over eller under dem...
echo "If....";

Så kan du se hvilken if som "virker" og hvilken som ikke gør.
Avatar billede nickern Nybegynder
05. december 2005 - 16:22 #8
forstår desværre ikke helt hvad du mener?
Avatar billede jakobdo Ekspert
05. december 2005 - 20:00 #9
Noget i denne stil:

if ($_GET['mode'] == "admin" || $_POST['mode'] == "admin")
{
    echo "admin mode ok<br>\n";
    if ($_SESSION['id'] == 1)
    {
        echo "session ok<br>\n";
        if ($overskrift || $indhold)
        {
            echo "Overskrift eller Indhold ok<br>\n";
            if ($overskrift && $indhold)
            {
                echo "Overskrift og Indhold ok<br>\n";
                if (sizeof($til) > 0)
                {
                    echo "Sizeof ok<br>\n";
Avatar billede nickern Nybegynder
05. december 2005 - 21:29 #10
jakobdo - sorry... men kan ikke se hvad dette skal bruges til - og hvor det skal sættes ind og hvad som skal efter min if?
Avatar billede jakobdo Ekspert
05. december 2005 - 21:53 #11
Det er for at teste om det går godt så langt...
Avatar billede nickern Nybegynder
09. august 2007 - 11:59 #12
okay - gider du at ligge et svar jakob?
Avatar billede jakobdo Ekspert
09. august 2007 - 12:18 #13
Svar!
Avatar billede jakobdo Ekspert
09. august 2007 - 13:24 #14
Takker for point.
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