Тема: связь формы

ситуация такая есть .база данных mysql и форма рассылки которая должна заполнятся из нее http://www.navigator-mas.ru/infusions/s … php?list=2 но она не заполняется хотя идентичные 2 заполняются

2

Re: связь формы

К сожалению, не смог понять вопрос.

3

Re: связь формы

есть база где регистрируют заявки   . emai из заявок должны перемещаться  в базу для рассылки но они не перемещаются

4

Re: связь формы

Надо разбираться с работой скрипта обрабатывающего данные формы. Для начала можно посмотреть логи на предмет ошибок. Больше пока ничего сказать не могу.

5 (изменено: Hanut, 2011-12-13 16:14:18)

Re: связь формы

весь код страницы

6

Re: связь формы

Обрабатывает данные формы файл /infusions/sender/sender2.php, надо смотреть его исходный код.

7

Re: связь формы

<?php

include "postMailer.php";
require_once "../../maincore.php";
if (!defined("IN_FUSION")) { header("Location: index.php"); exit; }
require_once THEME."theme.php";

if ($settings['maintenance'] == "1" && !iADMIN) fallback(BASEDIR."maintenance.php");
if (iMEMBER) $result = dbquery("UPDATE ".$db_prefix."users SET user_lastvisit='".time()."', user_ip='".USER_IP."' WHERE user_id='".$userdata['user_id']."'");


echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
<head>
<title>".$settings['sitename']." | Рассылка</title>
<meta http-equiv='Content-Type' content='text/html; charset=".$locale['charset']."'>
<link rel='stylesheet' href='".THEME."styles.css' type='text/css'>
<script language='javascript' type='text/javascript' src='".INCLUDES."jscript.js'></script>\n";
?>
<link rel="stylesheet" href="css.css" type="text/css">
<script type="text/javascript" src="/infusions/sender/jquery.js"></script>
<script type="text/javascript">
    $(document).ready( function() {
       $("#maincb").click( function() { // при клике по главному чекбоксу
            if($('#maincb').attr('checked')){ // проверяем его значение
                $('.check:enabled').attr('checked', true); // если чекбокс отмечен, отмечаем все чекбоксы
            } else {
                $('.check:enabled').attr('checked', false); // если чекбокс не отмечен, снимаем отметку со всех чекбоксов
            }
       });
    });

</script>
<script type="text/javascript" src="tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript" src="imglib/css/imglib_tiny_manager.js"></script>
<script type="text/javascript">
    tinyMCE.init({
        // General options
        language : 'ru',
        mode : "textareas",
        theme : "advanced",
        plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave",

        // Theme options
        theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
        theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
        theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
        theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak,restoredraft",
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left",
        theme_advanced_statusbar_location : "bottom",
        theme_advanced_resizing : true,

        // Example content CSS (should be your site CSS)
        content_css : "css/content.css",

        // Drop lists for link/image/media/template dialogs
        template_external_list_url : "lists/template_list.js",
        external_link_list_url : "lists/link_list.js",
        external_image_list_url : "lists/image_list.js",
        media_external_list_url : "lists/media_list.js",
        file_browser_callback : "imgLibManager.open",
    });
    imgLibManager.init({
        url: '/infusions/sender/imglib/indextinymce.html',
    });

</script>
<?
echo "</head>
<body bgcolor='$body_bg' text='$body_text'>\n";

render_header("<img src='".BASEDIR.$settings['sitebanner']."' alt='".$settings['sitename']."' title='".$settings['sitename']."'>");

require_once ADMIN."navigation.php";
opentable("Рассылка");

?>
<p align="center"><a href="/infusions/sender/sender2.php" style="padding: 10px;">Емайлы из комментариев</a> | <a href="/infusions/sender/sender2.php?list=1" style="padding: 10px;">Из гостиниц</a> | <a href="/infusions/sender/sender2.php?list=2" style="padding: 10px;">Из заявок на размещение</a></p>
<form action="<? echo $_SERVER['REQUEST_URI']; ?>" method="post" enctype="multipart/form-data">
<?

if(empty($_GET['list'])) {
    EmailComment();
} elseif($_GET['list']==1) {
    if(!empty($_GET['city'])){
    EmailCity($_GET['city']);
    } else {
    EmailCity();
    }
}
if(!empty($_COOKIE['saveSubject'])) { $ceck=" checked"; } else { $ceck=""; }
?>
<b style="font-size: 14px; font-family:Arial;">
Тема письма (<input type="checkbox" value="save" name="saveSubject"<? echo $ceck; ?>> сохранить?):</b><br>
<input type="text" style="width:100%" name="subject" value="<? echo $_COOKIE['saveSubject']; ?>">
<? if(!empty($_COOKIE['saveMail'])) { $ceck=" checked"; } else { $ceck=""; } ?>
<b style="font-size: 14px; font-family:Arial;">
Адрес для ответа (<input type="checkbox" value="save" name="saveMail"<? echo $ceck; ?>> сохранить?):</b><br>
<input type="text" style="width:100%" name="from" value="<? echo $_COOKIE['saveMail']; ?>">
<b style="font-size: 14px; font-family:Arial;">Сообщение</b><br>
<textarea name="message" style="width:100%; height: 300px" class="tinymce"><? echo $message ?></textarea>
<input type="file" name="file">
<input type="submit" value="Отправить">


</form>
<?
if ($_POST) {
echo "<table width=\"100%\" cellpadding=\"10\">";
echo "<tr><td valign=\"top\" width=\"50%\">";
    echo $badmail;
echo "</td>";
echo "<td valign=\"top\" width=\"50%\">";
    echo "<h3>Отправленное письмо</h3>";
    echo $blank;
echo "</td></tr>";
echo "</table>";
}
closetable();
require_once BASEDIR."footer.php";

?>

8

Re: связь формы

Теперь смотрите где обрабатываются POST данные. Возможно эта обработка происходит в отдельном подключаемом файле, или в специальной функции. Посмотрите здесь, например:

include "postMailer.php";

9

Re: связь формы

include "postMailer.php";
require_once "../../maincore.php";
if (!defined("IN_FUSION")) { header("Location: index.php"); exit; }
require_once THEME."theme.php";

if ($settings['maintenance'] == "1" && !iADMIN) fallback(BASEDIR."maintenance.php");
if (iMEMBER) $result = dbquery("UPDATE ".$db_prefix."users SET user_lastvisit='".time()."', user_ip='".USER_IP."' WHERE user_id='".$userdata['user_id']."'");
что примерно нужно поменять в этой функции??

10

Re: связь формы

castleflame сказал:

что примерно нужно поменять в этой функции?

Ничего здесь менять не надо, потому что обработка данных проводится где-то в другом месте. Посмотрите файл postMailer.php на сервере, может там идет эта самая обработка.

11

Re: связь формы

<?php

if ($_POST) {
   
    $email = $_POST['email'];
    $FromMail = $_POST['from'];
    $subject = $_POST['subject'];
    $message = $_POST['message'];

    if(!empty($_POST['saveMail'])){
        setcookie ("saveMail", $FromMail);
    } else {
        unset($_COOKIE['saveMail']);
    }
    if(!empty($_POST['saveSubject'])){
        setcookie ("saveSubject", $subject);
    } else {
        unset($_COOKIE['saveSubject']);
    }

    if(!empty($email)) {
    include "lib/libmail.php";
    $badmail ="<h3>Не корректные электронные адреса:</h3>";
    $trash = array (' ','!','$','%','^','&','*','(',')','/','?');
    foreach($email as $key=>$value) {
        $m= new Mail;
        if(!$m->ValidEmail($value)) {
            $badmail .= "<p><a href=\"http://www.navigator-mas.ru/downloads.php?page_id=".$key."\">".$value."</a></p>";
        }
        $m->autoCheck(false);
        $m->Receipt();
        $m->text_html="text/html";
        $m->Organization("ООО \"Навигатор\"");
        $m->From($FromMail);
        $m->Subject($subject);
        $m->Body($message);   
        if(!empty($_FILES['file']['tmp_name'])){
            $m->Attach($_FILES['file']['tmp_name'], $webi_filename=$_FILES['file']['name']);
        }
        $m->To(str_replace($trash, "", $value));
        $m->Send();
    }
    $blank = $m->Get();
    } else {
    $blank = "Письмо не отправленно. Вероятно вы забыли заполнить одно из полей или не выбрали электронные адреса для отправки. Вы указали:<p>Обратный адрес:".$FromMail."</p><p>Тема письма:".$subject."</p><p>Сообщение:".$message."</p>";
    }
}

function EmailComment() {
echo     "<table id=\"mail\" style=\"border-bottom: 1px solid #cccccc;\" width=\"100%\" border=\"0\" cellspacing=\"0\">";
echo     "<tr><td width=\"30%\"><b><input type=\"checkbox\" id=\"maincb\">Email</b></td><td width=\"40%\"><b>Имя</b></td><td width=\"30%\"><b>Телефон</b></td></tr>";
echo     "</table>";
echo     "<div style=\"overflow: scroll; width: 100%; height: 300px;\">";
echo     "<table width=\"100%\" border=\"0\" cellspacing=\"0\">";

$query = dbquery("SELECT comment_mail, comment_name, comment_telefon, comment_id FROM pakuisa_comments GROUP BY comment_mail");
while ($row = dbarray($query)) {
        if(!empty($row['comment_mail'])){
            echo "<tr><td width=\"30%\"><input type=\"checkbox\" class=\"check\" name=\"email[".$row['comment_id']."]\" value=\"".$row['comment_mail']."\">".$row['comment_mail']."</td><td width=\"40%\">".$row['comment_name']."&nbsp;</td><td width=\"30%\">&nbsp;".$row['comment_telefon']."</td></tr>";
        }
    }

echo "</table>";
echo "</div>";
}

function EmailCity($city = "all") {
        $query = dbquery("SELECT download_cat_id, download_cat_name FROM pakuisa_download_cats");
        echo "<select name=\"city\" onchange=\"window.location.href=this.options[this.selectedIndex].value\">\n";
        if(isset($_GET['type'])) { $type = "&type=".$_GET['type']; }
        echo "<option value=\"http://navigator-mas.ru/infusions/sender/sender2.php?list=1&city=all".$type."\">Все объекты</option>";
        while($row=dbarray($query)){
        if(!empty($_GET['city'])&&$_GET['city']==$row['download_cat_id']) {
        $selected = " disabled selected";
        } else { $selected = ""; }
            echo "<option value=\"http://navigator-mas.ru/infusions/sender/sender2.php?list=1&city=".$row['download_cat_id']."".$type."\"".$selected.">".$row['download_cat_name']."</option>\n";
        }
        echo "</select>\n\n\n";
        if(empty($_GET['city'])) {
            $linkCity = "&city=all";
        } else {
            $linkCity = "&city=".$_GET['city'];
        }
        if(isset($_GET['type'])) {
            switch ($_GET['type']) {
                case 0: $s0=" selected"; break;
                case 1: $s1=" selected"; break;
                case 2: $s2=" selected"; break;
                case 3: $s3=" selected"; break;
                case 4: $s4=" selected"; break;
                default:
            }
        }
        echo "<select onchange=\"window.location.href=this.options[this.selectedIndex].value\">\n";
        echo "<option value=\"http://navigator-mas.ru/infusions/sender/sender2.php?list=1".$linkCity."\">Все категории</option>\n";
        echo "<option value=\"http://navigator-mas.ru/infusions/sender/sender2.php?list=1".$linkCity."&type=0\"".$s0.">Базы отдыха</option>\n";
        echo "<option value=\"http://navigator-mas.ru/infusions/sender/sender2.php?list=1".$linkCity."&type=1\"".$s1.">Гостиницы</option>\n";
        echo "<option value=\"http://navigator-mas.ru/infusions/sender/sender2.php?list=1".$linkCity."&type=2\"".$s2.">Санатории</option>\n";
        echo "<option value=\"http://navigator-mas.ru/infusions/sender/sender2.php?list=1".$linkCity."&type=3\"".$s3.">Пансионаты</option>\n";
        echo "<option value=\"http://navigator-mas.ru/infusions/sender/sender2.php?list=1".$linkCity."&type=4\"".$s4.">Детский лагерь</option>\n";
        echo "</select>\n";
        echo "<table style=\"border-bottom: 1px solid #cccccc;\" width=\"100%\" border=\"0\" cellspacing=\"0\">\n";
        echo "<tr><td width=\"300\"><b><input type=\"checkbox\" id=\"maincb\">Email</b></td><td width=\"25%\"><b>Название объекта</b></td><td width=\"25%\"><b>Имя владельца</b></td><td width=\"25%\"><b>Город</b></td></tr>\n";
        echo "</table>\n";
        echo "<div style=\"overflow: scroll; width: 100%; height: 300px;\">\n";
        echo "<table id=\"mail\" width=\"100%\" border=\"0\" cellspacing=\"0\">\n";
   
    if($city=="all") {
       
        if(isset($_GET['type'])) { $type = " AND `hotel_type` = ".$_GET['type']; }
       
        $query = dbquery("SELECT `hotel_id`, `hotel_email`, `hotel_type`, `hotel_name`, `hotel_hozain`, `hotel_gorod`, `download_cat_id`, `download_cat_name` FROM `pakuisa_downloads`, `pakuisa_download_cats` WHERE `hotel_gorod` = `download_cat_id`".$type." AND `hotel_email` != 'none' && `hotel_email` != ' '");
        while($row = dbarray($query)) {
            echo "\n<tr><td width=\"300\"><input type=\"checkbox\" class=\"check\" name=\"email[".$row['hotel_id']."]\" value=\"".str_replace('"','',$row['hotel_email'])."\">".$row['hotel_email']."</td><td width=\"25%\">".$row['hotel_name']."</td><td width=\"25%\">".$row['hotel_hozain']."</td><td width=\"25%\">".$row['download_cat_name']."</td></tr>";
        }
    } else {
       
        if(isset($_GET['type'])) { $type = " AND `hotel_type` = ".$_GET['type']; }
       
        $query = dbquery("SELECT `hotel_id`, `hotel_email`, `hotel_type`, `hotel_name`, `hotel_hozain`, `hotel_gorod`, `download_cat_id`, `download_cat_name` FROM `pakuisa_downloads`, `pakuisa_download_cats` WHERE `hotel_gorod` = `download_cat_id`".$type." AND `hotel_gorod` = ".$city." AND `hotel_email` != 'none' AND `hotel_email` != ' '");
        $a = 0;
        while($row = dbarray($query)) {
            echo "\n<tr><td width=\"300\"><input type=\"checkbox\" class=\"check\" name=\"email[".$row['hotel_id']."]\" value=\"".$row['hotel_email']."\">".$row['hotel_email']."</td><td width=\"25%\">".$row['hotel_name']."</td><td width=\"25%\">".$row['hotel_hozain']."</td><td width=\"25%\">".$row['download_cat_name']."</td></tr>";
        }
    }
    echo "</table>\n";
    echo "</div>\n";

}

?>
код postMailer.php

12

Re: связь формы

Это код обработки данных формы. Письмо вроде формируется и должно отсылаться.
Проверьте существует ли файл подключаемый в строке:
include "lib/libmail.php";

Запросов на добавление данных формы в БД, в данном скрипте нет.

И опять-таки - смотрите логи веб сервера. Там должны быть ошибки, если скрипт не работает.