Beste phphulp,

Ik ben bezig met een mailing script voor mijn forum zodat mensen een mailtje krijgen als er bijv een reactie is op hun forumbericht. Nu heeft een andere gozer een beginnetje gemaakt maar ik krijg hem niet meer te pakken. Dus nu is mijn vraag aan jullie hoe maak ik dit script af ???????

------------------


<?

if (isset($_POST['reactie']) AND is_numeric($_GET[id]))//dit GET id zit in je url en geeft aan op welk topic gereageerd wordt.
{
$tijd = date("YmdHis");

$_POST[reactie] = strip_tags($_POST[reactie]);
$_POST[reactie] = ucfirst($_POST[reactie]);
$_POST[reactie] = addslashes($_POST[reactie]);
$_POST[reactie] = trim($_POST[reactie]);
$_POST[reactie] = nl2br($_POST[reactie]);

if (isset($_POST['mailing']))//opvragen met checkbox die je mailing noemt
{
$mailing = 1;
}
else
{
$mailing = 0;
}

$sql= "INSERT INTO reacties_forum (id,afzender,tijd,bericht,email,mailing)//mailing is een check of iemand gemaild wil worden of niet
VALUES('$_GET[id]','$_POST[naam]',$tijd,'$_POST[reactie]','$_POST[email]','$mailing')";
$query = mysql_query($sql)or die(mysql_error());

//Nu het deel van de mailing


$sql = "SELECT emailadres FROM prikbord WHERE id = $_GET[id]";//emailadres ophalen van TS
$result = mysql_query($sql) or die(mysql_error());

while ($row = mysql_fetch_array($result))
{
//moet je ff opzoeken hoe de mailfunctie ook alweer zit die weet ik niet meer uit mijn hoofd emailadrs zit in $row[veldnaam]
}


}

?>
er is geen foutmelding , hij zet netjes alles in de database alleen hij stuurt geen mailtjes.
Yup anders moeten wjij 1 uur lang jou gemaakte code doorlezen als het misschien aan een "of ; of ' ligt... Dus wat is de foutmeling...
zet helemaal bovenaan je document (wel onder < ?)
error_reporting(E_ALL);

En zeg dan wat voor melding hij geeft...
Als hij dan nog geen melding geeft voert hij het mailscript of: niet uit, of: je hebt gewoon verkeerd emailadres opgegeven
dit zijn de errors (2)

Notice: Undefined index: Submit in

op deze lijn verwijst i dan ------

if ($_POST['Submit']) {
$bericht=htmlspecialchars($_POST['bericht'],ENT_QUOTES);


en de 2 de error is

Notice: Undefined index: Submit in

op deze lijn ---

} if (!$_POST['Submit']) {



ik zou die 2e
<?
} if (!$_POST['Submit']) {?>
veranderen door: } else {
Anders staat het zo raar:
<?
if ($_POST['Submit']) {
//blaat
} if (!$_POST['Submit']) {
//blaat
}
?>
Dit staat veel mooier:
<?
if ($_POST['Submit']) {
//blaat
} else {
//blaat
}

maar nog ff iets, jij zegt dat hij op deze lijn staat:
<?
if ($_POST['Submit']) {
$bericht=htmlspecialchars($_POST['bericht'],ENT_QUOTES);
?>
dat zijn bij mijn 2 lijnen, Dus op welke lijn zit het, en wat betekend ENT-QOUTES (kenk niet)


//edit
Ik vind jou opbouw ook niet echt logisch..
op de bovenste lijn
je hebt ook 2 dingen die je Submiters zijn, misschien ligt het daaraan...
Geen fout over de mailfunctie... Dus word mail niet verzonden...
Zet om mail() een if lus:

<?

if(mail($aan,$subject,$bericht))
{
echo "Bericht verzonden";
}
else
{
echo "Bericht niet verzonden";
}
?>

Dan weet je in ieder geval of hij aan de mailfunctie toekomt...

Edit: Hij staat in een whilelus vanuit database... Misschien klopt query niet ofzo... zet eens na de echo "Bericht niet verzonden";
<? echo "<br>".mysql_error(); ?>

En POST die error hier.. (als er een error volgt tenminste)
ik heb dit er van gemaakt is dat goed ????


--------------


<?
error_reporting(E_ALL);
include ("test.php");

$sql = "SELECT email FROM dvdreacties WHERE id = '".$_GET['forumid']."' AND mailing = 1";

if ($row = mysql_fetch_array($result)){
$email = $row['email'];
$bericht = "Er is gereageert op uw bericht op het forum...";
$subject = "Reactie op uw bericht op forum";
mail($email,$subject,$bericht);
if(mail($aan,$subject,$bericht))
{
echo "Bericht verzonden";
}
else
{
echo "Bericht niet verzonden";
echo "<br>".mysql_error();
}
}
}
?>
nee, je verstuurd hem dan 2 keer...
mail($email,$subject,$bericht);
die moet je helemaal weghalen.

Reageren