Acid hat geschrieben:Na woran hapert´s denn? Du willst, sobald man sich bei der 18er verifiziert hat, eine Seite mit ´ner Meldung und Link kommt... der Link schickt dann nach Betätigung eine PN an dich!?

Code: Alles auswählen
// Zugang gewährt
$Okay = "Danke, es funzt. Du bist 18, oder älter";
Code: Alles auswählen
$verified = 'Text, der erscheinen soll, wenn Link betätigt wurde.';
$pm_subject = 'Titel der PN';
$pm_text = 'Text der PN';
// Zugang gewährt
$Okay = 'Danke, es funzt. Du bist 18, oder älter.<br /> Klicke %shier%s um gedingst zu werden.';
Code: Alles auswählen
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
Code: Alles auswählen
include($phpbb_root_path . '18erconfig.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
if( isset($HTTP_POST_VARS['mode']) || isset($HTTP_GET_VARS['mode']) )
{
$mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];
}
else
{
$mode = "";
}
Code: Alles auswählen
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
Code: Alles auswählen
if( !empty($mode) )
{
switch($mode)
{
case 'verify':
$id_sender = $userdata['user_id']; // id des Senders
$id_resv = '2'; // id des Empfaengers (z.B. Admin)
$msg_time = time();
$ip_resv = $userdata['session_ip']; // IP des Senders
$pm_subject = $pm_subject;
$pm_text = $pm_text;
$sql = "INSERT INTO ". PRIVMSGS_TABLE ." (privmsgs_type, privmsgs_subject, privmsgs_from_userid, privmsgs_to_userid, privmsgs_date, privmsgs_ip, privmsgs_enable_html, privmsgs_enable_bbcode, privmsgs_enable_smilies, privmsgs_attach_sig)
VALUES (". PRIVMSGS_NEW_MAIL .", '". str_replace("\'", "''", $pm_subject) ."', '$id_sender', '$id_resv', '$msg_time', '$ip_resv', 1, 1, 1, 0)";
if ( !($result = $db->sql_query($sql, BEGIN_TRANSACTION)) )
{
message_die(GENERAL_ERROR, "Could not insert/update private message sent info.", "", __LINE__, __FILE__, $sql);
}
$privmsg_sent_id = $db->sql_nextid();
$sql = "INSERT INTO ". PRIVMSGS_TEXT_TABLE ." (privmsgs_text_id, privmsgs_bbcode_uid, privmsgs_text)
VALUES ($privmsg_sent_id, '". $bbcode_uid ."', '". str_replace("\'", "''", addslashes($pm_text)) ."')";
if ( !$db->sql_query($sql, END_TRANSACTION) )
{
message_die(GENERAL_ERROR, "Could not insert/update private message sent text.", "", __LINE__, __FILE__, $sql);
}
$sql = "UPDATE ". USERS_TABLE ." SET user_new_privmsg = user_new_privmsg + 1, user_last_privmsg = $msg_time
WHERE user_id = ". $id_resv;
if ( !$status = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update private message new/read status for user.', '', __LINE__, __FILE__, $sql);
}
$message = $verified;
message_die(GENERAL_MESSAGE, $message);
break;
default:
message_die(GENERAL_MESSAGE, $lang['No_mode']);
break;
}
exit;
}
Code: Alles auswählen
include("18erconfig.php");
Code: Alles auswählen
print ($Okay);
Code: Alles auswählen
print (sprintf($Okay, '<a href="'. append_sid("perso.$phpEx?mode=verify") .'">', '</a>'));
Leider nein, oder könnte man da was mit nem Cookie machen ?!Acid hat geschrieben:yo.. des Problem is, das bei der Überprüfung nix gespeichert wird. Also kann auch nix abgefragt werden, das erfüllt sein muss, bevor man den Link betätigen kann. Mir fällt da im Moment nix ein, ausser das du nach der Überprüfung automatisch ein neues Feld in der "users" Tabelle aktualisieren lässt, das man dann abfragen könnte.
Fällt dir was anderes ein?