Hi,
Fein das Jan diese Funktion auf seine Wunschliste gesetzt hat.
In der Zwischenzeit wollte ich mir jedoch eine Notbehelfslösung dafür basteln.
Doch leider wirft es mir bei meinen "SQL-Abfragen" ein paar Fehler aus.
Mein Ansatzpunkt war/ist das so eine Mailfunktion, am besten dahin gehört wo auch der Kommentar gespeichert wird. Dies wäre in der "details.php" bei "SaveComments". Da mir von den benötigten Daten nur die "image_id" in form von $id vorlag, müßte ich mit dieser über weitere SQl-Abfragen die fehlenden Werte ermitteln und in Variablen einspeisen. Während die Abfragen in "phpmysql" funktionieren, geht es im untenstehenden code ab 3. und 4. nicht? Und das irrietiert mich ziemlich
Habe zwar auch den "phpbbmode" bei mir integriert, aber daran liegt es sicher nicht, da auf die richtige user_table zugegriffen wird.
Meiner Meinung nach liegt der "Fehler" in der Variable "$user_id" die durch die 2. Sql-Abfrage gefüttert wird und dann an die 3. Sql-Abfrage weitergegeben wird.
Hier erstmal die Fehlermeldung die ich erhalte:
//DB Error: Bad SQL Query: SELECT user_name FROM phpbb_users WHERE user_id = Resource id #20
//You have an error in your SQL syntax near 'id #20' at line 1
//DB Error: Bad SQL Query: SELECT user_email FROM phpbb_users WHERE user_id = Resource id #20
//You have an error in your SQL syntax near 'id #20' at line 1
und das wäre der Code den ich benütze:
//-----------------------------------------------------
//--- Save Comment aus details.php --------------------
//-----------------------------------------------------
$error = 0;
.
.
if (!$error) {
$sql = "INSERT INTO ".COMMENTS_TABLE."
(image_id, user_id, user_name, comment_headline, comment_text, comment_ip, comment_date)
VALUES
($id, ".$user_info['user_id'].", '$user_name', '$comment_headline', '$comment_text', '".$session_info['session_ip']."', ".time().")";
$site_db->query($sql);
$commentid = $site_db->get_insert_id();
update_comment_count($id, $user_info['user_id']);
// SQL-Abfragen zur Ermittlung der Daten für die E-Mail-Routine:
//1-Der Bild-Titel soll mit Hilfe der bekannten image_id $id ermittelt werden - Status: OK
$sql = "SELECT image_name FROM ".IMAGES_TABLE." WHERE image_id = $id";
$image_name = $site_db->query($sql);
//2-Die (user_id) des Bild-Eigentümers soll mit Hilfe der bekannten image_id $id ermittelt werden - Status: OK
$sql = "SELECT user_id FROM ".IMAGES_TABLE." WHERE image_id = $id";
$user_id = $site_db->query($sql);
//3-Der Name des Bildeigentümers soll mit Hilfe der vorher ermittelten $user_id ermittelt werden - Status: GEHT NICHT
$sql = "SELECT user_name FROM ".USERS_TABLE." WHERE user_id = $user_id";
$recipient_name = $site_db->query($sql);
//4-Die E-Mail-Adresse des Bildeigentümers soll mit Hilfe der vorher ermittelten $user_id ausgegeben werden werden - Status: GEHT NICHT
$sql = "SELECT user_email FROM ".USERS_TABLE." WHERE user_id = $user_id";
$recipient_email = $site_db->query($sql);
// Start Emailer für comments
include(ROOT_PATH.'includes/email.php');
$site_email = new Email();
$site_email->set_to(stripslashes($recipient_email));
$site_email->set_from($config['site_email'], $config['site_name']);
$site_email->set_subject($lang['send_comment_emailsubject']);
$site_email->register_vars(array(
"user_name" => stripslashes($user_name),
"recipient_name" => stripslashes($recipient_name),
"image_name" => stripslashes($image_name),
"comment_date" => format_date($config['date_format']." ".$config['time_format'], $current_time),
"site_name" => $config['site_name']
));
$site_email->set_body("comment_email", $config['language_dir']);
$site_email->send_email();
}
}
unset($row);
unset($spam_row);
}
.
.
Für jegliche Anregung und Hilfe wäre ich echt dankbar
... und Tschüß
tommy