shagg0r Skrevet 14. oktober 2004 Del Skrevet 14. oktober 2004 (endret) Har et mailscript som skal kunne sende ut den samme mailen til en gruppe. Jeg gruperer alle brukere i bransjer og hver bransje har sitt faste bransjenr. Når jeg da skal sende trenger jeg bare å definere hvilken bransje jeg skal sende mailen til så henter spørringen ut hvilke kunder som har det aktuelle bransjenret. Det var bakgrunnen for dette scriptet, men problemet er at jeg ikke får det til å virke. Tipper at jeg har kløna det til med foreach: <?php //kople til database include ('../genius_oppkopling_mysql.php'); session_start(); if ($_POST["bransjenr"] && $_POST["emne"] && $_POST["melding"] && $_POST["passord"]) { $kryptertpassord = md5($_POST["passord"]); if ($_SESSION['passord'] == $kryptertpassord) { //Send mail til kunde og print ut confirmation $bransjenr = $_POST['bransjenr']; $emne = $_POST['emne']; $melding = $_POST['melding']; $sp_epost = mysql_query("SELECT firmanavn, epost FROM kunder WHERE bransjenr ='$bransjenr'"); $res_epost = mysql_fetch_array($sp_epost); include('mail/mail5.php'); foreach ($res_epost['epost']) { mail($res_epost['epost'], $emne5, $melding5, $headers5); } //Bekreftelse på at mail ble sendt $antall = mysql_num_rows($sp_epost); //Lagrer mailen i databasen $lagremail = mysql_query ("INSERT INTO mail VALUES (NULL, '$bransjenr', now(), '$emne', '$melding', '$antall');"); print "Mailen ble sendt til $antall kunder med bransjenr $bransjenr, en kopi ble lagret i databasen."; //Kopler fra databasen mysql_close($connection); } else { print "Passordet var feil"; } } ?> feilmeldinga jeg får når jeg kjører scriptet er: Parse error: unexpected '(' in /hsphere/local/home/arbeidsr/admin.arbeidsrett.org/mailbransje.php on line 195 dette er samme linja som foreach begynner på. Noen som kan se hva som er galt? Endret 14. oktober 2004 av shagg0r Lenke til kommentar
Gilbert Skrevet 14. oktober 2004 Del Skrevet 14. oktober 2004 (endret) Er ingen foreach-guru, men leste i manualen. foreach (array_expression as $value) statement foreach (array_expression as $key => $value) statement Burde hjelpe litt på vei? Endret 14. oktober 2004 av fjartan Lenke til kommentar
shagg0r Skrevet 14. oktober 2004 Forfatter Del Skrevet 14. oktober 2004 hmm nei jeg forstår ikke den helt:D Lenke til kommentar
shagg0r Skrevet 14. oktober 2004 Forfatter Del Skrevet 14. oktober 2004 nå har jeg endret den til foreach ($res_epost['epost'] as $epost) { mail($epost, $emne5, $melding5, $headers5); } men virker ikke ut som mailen blir sent.. for ikke noe feilmelding heller da men:( Lenke til kommentar
Gilbert Skrevet 14. oktober 2004 Del Skrevet 14. oktober 2004 Tror denne løsningen er like god: $sp_epost = mysql_query("SELECT firmanavn, epost FROM kunder WHERE bransjenr ='".$bransjenr."'"); include('mail/mail5.php'); $ok = "0"; $error = "0"; while($epost = mysql_fetch_array($sp_epost)) { $mail = mail($epost[1], $emne5, $melding5, $headers5); if ($mail) { $ok++; } else { $error++; } } // slutt på while-løkke echo "Antall sendt: $ok<br>\n"; echo "Ikke sendt: $error"; Lenke til kommentar
shagg0r Skrevet 14. oktober 2004 Forfatter Del Skrevet 14. oktober 2004 ok takk, skal prøve det ut, men hvorfor endret du spørringen min til: $sp_epost = mysql_query("SELECT firmanavn, epost FROM kunder WHERE bransjenr ='".$bransjenr."'"); ? må jeg endre spørringen til det for at det skal fungere? Lenke til kommentar
Gilbert Skrevet 14. oktober 2004 Del Skrevet 14. oktober 2004 Nei du må ikke endre spørringen, men det er "renere" mysql-kode Lenke til kommentar
shagg0r Skrevet 14. oktober 2004 Forfatter Del Skrevet 14. oktober 2004 renere? jeg synts min var mye finere å lettere å se på Lenke til kommentar
shagg0r Skrevet 14. oktober 2004 Forfatter Del Skrevet 14. oktober 2004 fjartan: løsningen din funket heller ikke mailen kom værtfall ikke frem.. Ingen feilmeldinger denne gangen heller. Lenke til kommentar
Gilbert Skrevet 14. oktober 2004 Del Skrevet 14. oktober 2004 Får du noen svar på spørringen din da? $sp_epost = mysql_query("SELECT firmanavn, epost FROM kunder WHERE bransjenr ='".$bransjenr."'"); echo mysql_numrows($sp_epost); Får du noe svar her? Lenke til kommentar
shagg0r Skrevet 14. oktober 2004 Forfatter Del Skrevet 14. oktober 2004 jada spørringen fungerer utmerket Lenke til kommentar
Gilbert Skrevet 14. oktober 2004 Del Skrevet 14. oktober 2004 Jeg ser ikke helt hva som kan være feilen da, så det eneste rådet jeg kan gi er å sette opp et enkelt script hvor du tester alle funksjonene en for en. Først undersøker du hva alle variabler inneholder, deretter ser du etter om mailfunksjonen fungerer osv. 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å