Hallo allemaal, ik ben net nieuw hier en kamp volgend probleempje:
Ik heb voor mijn dochter onlangs een fotovote script geinstalleerd maar er is 1 ding wat niet werkt. Je kan met dit script iemand een prive bericht sturen maar de ontvanger en verzender zijn hetzelfde. kortom als je als lid bent ingelogd en je wil een privebericht naar een ander lid sturen komt het weer bij je zelf in de mailbox terecht.

Ik heb de file hierbij gedaan en misschien dat iemand van jullie kan ontdekken wat hier niet goed staat waardoor een privebericht weer bij jezel terecht komt en niet bij een ander lid.

<?php


require( "./inc/functies.php" );

global $db, $gebruiker, $gebruikersnaam, $conf;

if( !checkUser() ) header( "Location: ./geen-toegang.php" );
else
{
$result = mysql_query( "SELECT * FROM niv_members WHERE m_gebruikersnaam='$gebruikersnaam'" ) or error( mysql_error() );
$gebruiker = mysql_fetch_array( $result );
}

if($gebruikersnaam !='') newActivity($gebruikersnaam);

list($member)=$db->select("SELECT * FROM niv_members WHERE m_gebruikersnaam='$pn'");

$ontvanger=$member['m_gebruikersnaam'];
$ontvanger_id=$member['m_id'];
$ontvanger_mail=$member['m_mail'];
$ontvanger=$gebruiker['m_gebruikersnaam'];
$sender_id=$gebruiker['m_id'];

$time = time();

if($action=='send')
{

if($_POST['ontvanger'] != $gebruiker['m_gebruikersnaam']) error ("U bent niet ingelogd");
if($_POST['ontvanger1'] =='') error ("Er is geen ontvanger voorhanden");


if($_POST['psubject'] =='') poperror ("Het onderwerp ontbreekt");
if($_POST['pmessage'] =='') poperror ("Het bericht ontbreekt");
$_POST['pmessage'] = strip_tags( $_POST['pmessage'],'<a><b><i><img><p><br>' );
$_POST['psubject'] = strip_tags( $_POST['psubject'],'' );
$_POST['psubject'] = textFilter( $_POST['psubject'] );

mysql_query("INSERT INTO niv_privaat set pm_touser ='".$_POST['ontvanger1']."', pm_fromuser='".$_POST['ontvanger']."', pm_subject='".$_POST['psubject']."', pm_message='".$_POST['pmessage']."', pm_date='$time'")or error( mysql_error() );

function MailNewMess($result)
{
global $db, $conf,$ontvanger1, $ontvanger, $psubject;


$result=preg_replace("/~ontvanger~/","$ontvanger",$result);
$result=preg_replace("/~ontvanger~/","$ontvanger1",$result);
$result=preg_replace("/~title~/","$psubject",$result);
$result=preg_replace("/~link~/","$conf[SiteURL]",$result);
$result=preg_replace("/~home~/","$conf[SiteName]",$result);

return $result;
}


$mailtext = MailNewMess($mailtemp['TemplateNewMess']);

$message = "$mailtext \n\n";
//$message .= "$conf[MailAdvertText]";

list($thismail)=$db->select("SELECT m_mail FROM niv_members WHERE m_gebruikersnaam='$ontvanger1'");


outMails( "$conf[SiteName]<$conf[SiteMail]>",$thismail['m_mail'], "$mailtemp[SubjectNewMess]", $message );



header( "Location: bericht-verstuurd.php?ontvanger1=$ontvanger1" );
}

if(!isset ( $action ))
{

$result=mysql_query("SELECT * FROM niv_zwartlijst WHERE bl_username='$pn' AND bl_banname='$gebruiker[m_gebruikersnaam]'");
$counter=mysql_num_rows( $result );

if($counter == 0)
{
include("./templates/verstuur-bericht.htm");
}

else
{
include("./templates/banlid.htm");
}


}


?>

Ik ga er vanuit dat in deze file iets niet goed staat, mocht dit niet voldoende zijn dan hoor ik het graag.

Ik hoop dat iemand me hier even mee wil helpen.

Groeten,

Ronald
ik zie zo de fout even niet, stuurt ie echt alleen maar naar jezelf of krijgt de ander ook een bericht?
Hoi,
Allereerst bedankt voor je reactie.
Hij stuurt alleen het bericht naar jezelf het lid waar het naar toe moet ontvangt niets.


$ontvanger=$member['m_gebruikersnaam'];

$ontvanger=$gebruiker['m_gebruikersnaam'];

Deze twee regels staan vlak na elkaar. Hierdoor wordt $ontvanger gewoon overschreven. Misschien dat hier een oorzaak in kan zitten.
Hallo SanThe,

Hoe zou ik dat moeten aanpassen dan volgens jou
Moet dat niet zo zijn dan?
<?php
$ontvanger = $member['m_gebruikersnaam'];

$ontvanger .= $gebruiker['m_gebruikersnaam'];
?>
Zoals SanThe al zei:
Je declareert eerst een variabel met waarde 'bla' en dan declareer je hem wéér maar dan met een andere waarde 'ble'. Als je nu de variabel echoot, dan is het logisch dat je 'ble' krijgt.
In jouw geval:

<?php
    $ontvanger=$member['m_gebruikersnaam']; // 1ste keer de variabel declareren
    $ontvanger_id=$member['m_id'];
    $ontvanger_mail=$member['m_mail'];
    $ontvanger=$gebruiker['m_gebruikersnaam']; // 2de keer de variabel declareren, maar je hebt er nog NIETS mee gedaan.
    $sender_id=$gebruiker['m_id'];
?>

Oplossing: Geef de variabel, die je dus de 2de keer declareert, een uniek iets, dus:
$ontvangere. Dan is hij al weer anders.

Misschien zit ik ram fout, maar denk dat het hier mee verholpen kan zijn.
roderik schreef op 24.04.2007 15:48
ik weet niet

Ja dus..............................?
Daar heeft hij toch niks aan?
Wil je voor de volgende keer een duidelijke topictitel kiezen? En deze even aanpassen?
hoi GaMer13,

Ik heb het geprobeert wat je zei maar het heeft helaas niets uitgehaald.

Reageren