in einem Report Formular werden die Daten des Eintrags aus der DB nicht mehr mit in die E-Mail geschrieben. Ich vermute es hängt mit register_globals off zusammen, was ich vor ein paar Wochen ausgestellt habe. Kann aber auch was anderes sein..hat jemand eine Idee? hier der Code:
PHP-Code:
<?php
require_once 'init.php';
ini_set('url_rewriter.tags', '');
session_start();
$id = $_GET["id"];
if ($id == "") { $id = $HTTP_GET_VARS["id"]; }
if (empty($_POST['submit'])) {
$data = $db->GetRow("SELECT * FROM {$tables['link']['name']} WHERE STATUS>0 AND ID='$id'");
if (! $data) {
header("HTTP/1.0 404 Not Found");
echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"en\" xml:lang=\"en\">
<head>
<title>Die angeforderte Webseite wurde nicht gefunden!</title>
<style type=\"text/css\"><!--/*--><![CDATA[/*><!--*/
body { color: #003366; background-color: #E5F1FD; }
a:link { color: #0000CC; }
p, address {margin-left: 3em;}
span {font-size: smaller;}
/*]]>*/--></style>
</head>
<body>
<h1>Objekt nicht gefunden!</h1>
<p>Der angeforderte URL konnte auf dem Server nicht gefunden werden. </p>
<h2>Error 404</h2>
</body>
</html>";
exit;
}
if (ENABLE_REWRITE) {
$data['CATEGORY_TITLE_URL'] = construct_mod_rewrite_path($data['CATEGORY_ID']);
}
$tpl->assign('category_path', get_path($data['CATEGORY_ID']));
$cdata = $db->GetRow("SELECT * FROM {$tables['category']['name']} WHERE ID=".$data['CATEGORY_ID']);
$data['CATEGORY_TITLE'] = $cdata['TITLE'];
SmartyValidate :: connect($tpl);
SmartyValidate :: register_form('report_form', true);
SmartyValidate :: register_criteria('isNotEqual', 'validate_not_equal', 'report_form');
SmartyValidate :: register_validator('v_name', 'NAME', 'notEmpty', false, false, false, 'trim', 'report_form');
SmartyValidate :: register_validator('v_email', 'EMAIL', 'isEmail', false, false, false, 'trim', 'report_form');
SmartyValidate :: register_validator('v_REASON', 'REASON:0', 'isNotEqual', true, false, false, null, 'report_form');
SmartyValidate :: register_validator('v_DETAILS', 'DETAILS', 'dummyValid', false, false, false, 'trim', 'report_form');
SmartyValidate :: register_criteria('isCaptchaValid', 'validate_captcha', 'report_form');
SmartyValidate :: register_validator('v_CAPTCHA', 'CAPTCHA', 'isCaptchaValid', false, false, false, null, 'report_form');
}
else {
SmartyValidate :: connect($tpl);
$rdata = $db->GetRow("SELECT * FROM {$tables['link']['name']} WHERE ID='$id'");
$data = array();
$data['TITLE'] = $rdata['TITLE'];
$data['DESCRIPTION'] = $rdata['DESCRIPTION'];
$data['URL'] = $rdata['URL'];
$data['CATEGORY_ID'] = $rdata['CATEGORY_ID'];
$currcat = $data['CATEGORY_ID'];
if (ENABLE_REWRITE) {
$data['CATEGORY_TITLE_URL'] = construct_mod_rewrite_path($rdata['CATEGORY_ID']);
}
$data['ID'] = $id;
$data['NAME'] = $_POST['NAME'];
$cdata = $db->GetRow("SELECT * FROM {$tables['category']['name']} WHERE ID='$rdata[CATEGORY_ID]'");
$data['CATEGORY_TITLE'] = $cdata['TITLE'];
$data['EMAIL'] = $_POST['EMAIL'];
$data['REASON'] = $_POST['REASON'];
$data['DETAILS'] = $_POST['DETAILS'];
$data = array_merge($data, array('CAPTCHA' => $_REQUEST['CAPTCHA']));
while ($currcat > 0) {
$cats = $db->GetRow("SELECT * FROM {$tables['category']['name']} WHERE ID='$currcat'");
$label = $cats['TITLE'];
$cats = $db->GetRow("SELECT * FROM {$tables['category']['name']} WHERE ID='$cats[PARENT_ID]'");
if ($cats['TITLE']) { $label = $cats['TITLE'] . " » " . $label; }
$currcat = $cats[PARENT_ID];
}
$label = "Home" . " » " . $label;
if (SmartyValidate :: is_valid($data, 'report_form')) {
require_once 'libs/phpmailer/class.phpmailer.php';
$mail = new PHPMailer();
$mail->PluginDir = 'libs/phpmailer/';
$mail->Mailer = 'mail';
$mail->From = $data['EMAIL'];
$mail->FromName = $data['NAME'];
$mail->Subject = $data['REASON'];
$mail->Body = "";
$dir = $_SERVER[PHP_SELF];
$dir = eregi_replace("report.php", "", $dir);
$LINK = "http://" . $_SERVER['SERVER_NAME'] . $dir . "index.php?c=" . $data['CATEGORY_ID'];
if ($data['NAME']) { $mail->Body .= "Name : " . $data['NAME'] . "\n"; }
if ($data['EMAIL']) { $mail->Body .= "Email : " . $data['EMAIL'] . "\n"; }
if (($data['EMAIL']) || ($data['NAME'])) { $mail->Body .= "\n"; }
$mail->Body .= "ID : " . $data['ID'] . "\n";
$mail->Body .= "Referer IP Address : " . get_client_ip() . "\n\n";
$mail->Body .= "Title : " . $data['TITLE'] . "\n";
$mail->Body .= "URL : " . $data['URL'] . "\n";
$mail->Body .= "Kategorie : " . $label . "\n";
$mail->Body .= "Kategorie URL : " . $LINK . "\n\n";
$mail->Body .= "Betreff : " . $data['REASON'] . "\n";
if ($data['DETAILS']) { $mail->Body .= "Details : " . $data['DETAILS'] . "\n"; }
$mail->AddAddress('info@test.de', 'Support');
if (! $mail->Send()) { $tpl->assign('error', true); }
else { $tpl->assign('success', true); }
$mail->ClearAddresses();
}
}
unset ($_SESSION['CAPTCHA']);
function validate_captcha($value, $empty, & $params, & $form) {
require_once 'libs/captcha/captcha.class.php';
return isset($_SESSION['CAPTCHA']) && strtolower($_SESSION['CAPTCHA']) == strtolower($value);
}
function check_input($input) {
if (eregi("\r", $input) || eregi("\n", $input) || eregi("%0a", $input) || eregi("%0d", $input) ||
eregi("Content-Type:", $input) || eregi("bcc:", $input) || eregi("to:", $input) || eregi("cc:", $input)) {
return 0;
}
else { return 1; }
}
$path = array();
$path = get_path($_SESSION['cid']);
$path[] = array ('ID' => '0', 'TITLE' => _L('Meldung für ' .$data['TITLE']), 'TITLE_URL' => '', 'DESCRIPTION' => _L('Report Listing'));
$tpl->assign('path', $path);
$links = $db->Getall("SELECT * FROM {$tables['link']['name']} WHERE ID='$id'");
foreach($links as $link => $link_row){
$links[$link]['DETAIL_URL'] = detail_page_url($links[$link]['ID'], $links[$link]['TITLE']);
}
$tpl->assign('links', $links);
$tpl->assign('LINK', $LINK);
$tpl->assign('URL', $URL);
$categs = get_categs_tree($db, 0);
$tpl->assign('categs', $categs);
$tpl->assign($data);
echo $tpl->fetch('kontakt.tpl', $id);
unset($data);
?>