Avatar billede slinky Nybegynder
26. februar 2006 - 14:50 Der er 11 kommentarer

problemer med php+sql

hej

smider lige en stump kode først:

<?php

// set time limit to 15 minutes (900/60)

set_time_limit(900);

include("connect.php");

    $id = preg_replace("/'\/<>\"/","",$_GET['id']);

    if (empty($id))

    die("Invalid ID");

    $link = "SELECT * FROM newsletters WHERE id='$id'";

    $res = mysql_query($link) or die(mysql_error());

    $r = mysql_fetch_assoc($res);

    $subject = $r['name'];

    $message = $r['content'];

    $headers  = 'MIME-Version: 1.0' . "\r\n";

    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

    $headers .= 'From: newsletter@' . $_SERVER['SERVER_NAME'] . "\r\n" .

    'Reply-To: newsletter@' . $_SERVER['SERVER_NAME'] . "\r\n" .

    'X-Mailer: PHP/' . phpversion();     

    $link = "SELECT * FROM users WHERE status='subscribed'";

    $res = mysql_query($link) or die(mysql_error());

    while ($r = mysql_fetch_row($res))

    {

        $email = $r['email'];
        echo "$email";

        $mail = mail($email, $subject, $message, $headers);

    }

   

    if ($mail)

    {

    echo "Email sent to " . $email . '<br>';

    die;

    }

    else

    {

    echo "Error in mailing " . $email . '<br>';

    die;

    }


der er problemer - jeg har kogt problemet ned til at i while løkken næste nederst får $email ingen værdi selvom der i tablen users ligger en bruger  - nogen der har en ide til hvorfor det ikke sker??
Avatar billede Slettet bruger
26. februar 2006 - 14:53 #1
Prøv at fjerne

WHERE status='subscribed'

Fra din query.
Avatar billede slinky Nybegynder
26. februar 2006 - 14:54 #2
status er 'subscribed' på brugeren, så det burde ikke gøre noget... men prøver lige
Avatar billede Slettet bruger
26. februar 2006 - 14:54 #3
Hvis den kommer med der, er løsningen naturligvis, at rækken ikke har status='subscribed' :)
Avatar billede erikjacobsen Ekspert
26. februar 2006 - 14:56 #4
Brug mysql_fetch_array eller mysql_fetch_assoc
Avatar billede slinky Nybegynder
26. februar 2006 - 14:56 #5
og det hjalp ikke at fjerne betingelsen
Avatar billede slinky Nybegynder
26. februar 2006 - 15:07 #6
erikjacobsen, vil du ligge et svar (og måske forklare mig hvorfor man ikke kan bruge fetch_row):)

det virkede
Avatar billede erikjacobsen Ekspert
26. februar 2006 - 15:12 #7
Men http://php.net/mysql_fetch_row skal du finde felterne ud fra nummer, og ikke navn. Derfor.
Jeg samler slet ikke på point, tak.
Avatar billede slinky Nybegynder
26. februar 2006 - 15:17 #8
hmm.. med flere brugere kommer mailen kun frem til den først oprettede bruger - den med id=1
Avatar billede slinky Nybegynder
26. februar 2006 - 15:22 #9
nej, den kmomer sq frem... glem det sidste spørgsmål
Avatar billede erikjacobsen Ekspert
26. februar 2006 - 15:23 #10
Du får kun skrevet "sent" og "error" skrevet ud for een af dine mail-adresser, da din udskrift ikke ligge i while-løkken.
Avatar billede slinky Nybegynder
26. februar 2006 - 15:40 #11
jaja, men har addet 3 kontoer, jeg har i samme mail klient. Den ene af mail serverne var nede, og den anden langsom;)
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

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